uv run --project PythonScripts audit-translations --list
+uv run --project PythonScripts audit-translations --rule-coverage
```
**Convenience Features:**
@@ -81,6 +84,7 @@ uv run --project PythonScripts audit-translations --list
* `--rules-dir`: Override the Rules/Languages directory path.
* `--only`: Filter issue types (comma-separated): `missing`, `untranslated`, `extra`, `diffs`, `all`.
* `--verbose`: Show detailed output including source/target snippets for rule differences.
+* `--rule-coverage`: Run the full Rust test suite, generate file- and rule-level pattern coverage under `target/rule-coverage/`, and open the HTML report. File coverage includes files with active rules; empty and include-only files are not separate coverage targets. Expand a file to inspect matched and unmatched rules by name and tag, their hit counts, and hover over a rule to see the tests that matched it. Coverage fractions include percentages. This runs independently of a language audit.
* **Summary Stats:** Provides a statistical summary after every run.
**Examples:**
diff --git a/PythonScripts/audit_translations/auditor.py b/PythonScripts/audit_translations/auditor.py
index b67cbf911..5df06b6fe 100644
--- a/PythonScripts/audit_translations/auditor.py
+++ b/PythonScripts/audit_translations/auditor.py
@@ -19,6 +19,7 @@
print_audit_summary,
print_definition_findings,
print_language_list,
+ print_order_findings,
print_warnings,
)
@@ -109,6 +110,19 @@ def merge_rules(base_rules: list[RuleInfo], region_rules: list[RuleInfo]) -> lis
include_untranslated = include_all or "untranslated" in issue_filter
include_extra = include_all or "extra" in issue_filter
include_diffs = include_all or "diffs" in issue_filter
+ include_order = include_all
+
+ first_order_mismatch_position = None
+ if include_order:
+ source_keys = {rule.key for rule in english_rules if rule.name is not None and not rule.audit_ignore}
+ target_keys = {rule.key for rule in translated_rules if rule.name is not None and not rule.audit_ignore}
+ shared_keys = source_keys & target_keys
+ source_order = [rule for rule in english_rules if rule.key in shared_keys and not rule.audit_ignore]
+ target_order = [rule for rule in translated_rules if rule.key in shared_keys and not rule.audit_ignore]
+ for position, (source_rule, target_rule) in enumerate(zip(source_order, target_order, strict=True), start=1):
+ if source_rule.key != target_rule.key:
+ first_order_mismatch_position = position
+ break
# Find missing rules (in source but not in translation)
missing_rules = []
@@ -146,6 +160,7 @@ def merge_rules(base_rules: list[RuleInfo], region_rules: list[RuleInfo]) -> lis
extra_rules=extra_rules,
untranslated_text=untranslated_text,
rule_differences=rule_differences,
+ first_order_mismatch_position=first_order_mismatch_position,
english_rule_count=len(english_rules),
translated_rule_count=len(translated_rules),
)
@@ -262,6 +277,7 @@ def audit_language(
total_definition_type_mismatches = 0
files_with_issues = 0
files_ok = 0
+ order_findings: list[tuple[str, int]] = [] # One item per file, eg [("calculus.yaml", 2), ...]
for file_name in files:
english_path = source_dir / file_name
@@ -308,6 +324,8 @@ def audit_language(
existing_translated_region_path,
existing_english_region_path,
)
+ if result.first_order_mismatch_position is not None:
+ order_findings.append((file_name, result.first_order_mismatch_position))
if result.has_issues:
issues = print_warnings(result, file_name, verbose, language, source_language)
@@ -338,6 +356,8 @@ def audit_language(
)
)
+ print_order_findings(order_findings)
+
return total_issues
diff --git a/PythonScripts/audit_translations/cli.py b/PythonScripts/audit_translations/cli.py
index 6916a636e..81cac0dd0 100644
--- a/PythonScripts/audit_translations/cli.py
+++ b/PythonScripts/audit_translations/cli.py
@@ -10,6 +10,7 @@
from .auditor import audit_language, list_languages
from .errors import AuditError
from .renderer import console
+from .rulecoverage.rule_coverage import run as run_rule_coverage
def main() -> None:
@@ -17,7 +18,7 @@ def main() -> None:
sys.stdout.reconfigure(encoding="utf-8")
parser = argparse.ArgumentParser(
- description="Audit MathCAT translation files against a source language",
+ description="Audit MathCAT translations or report rule YAML test coverage",
formatter_class=argparse.RawDescriptionHelpFormatter,
epilog="""
Examples:
@@ -25,6 +26,7 @@ def main() -> None:
uv run audit-translations nb --source sv
uv run audit-translations de --file SharedRules/default.yaml
uv run audit-translations --list
+ uv run audit-translations --rule-coverage
""",
)
@@ -32,6 +34,9 @@ def main() -> None:
parser.add_argument("--source", default="en", help="Source/reference language code (default: 'en')")
parser.add_argument("--file", dest="specific_file", help="Audit only a specific file (e.g., 'SharedRules/default.yaml')")
parser.add_argument("--list", action="store_true", help="List available languages")
+ parser.add_argument(
+ "--rule-coverage", action="store_true", help="Run the full Rust tests and open the rule YAML coverage report"
+ )
parser.add_argument("--rules-dir", help="Override Rules/Languages directory path")
parser.add_argument(
"--only",
@@ -45,7 +50,11 @@ def main() -> None:
args = parser.parse_args()
- if args.list:
+ if args.rule_coverage:
+ if args.language or args.list or args.specific_file or args.rules_dir or args.only or args.verbose or args.source != "en":
+ parser.error("--rule-coverage cannot be combined with translation audit options")
+ sys.exit(run_rule_coverage())
+ elif args.list:
list_languages(args.rules_dir)
elif not args.language:
parser.print_help()
diff --git a/PythonScripts/audit_translations/models/rules.py b/PythonScripts/audit_translations/models/rules.py
index 39069d9db..fd0044521 100644
--- a/PythonScripts/audit_translations/models/rules.py
+++ b/PythonScripts/audit_translations/models/rules.py
@@ -107,6 +107,7 @@ class ComparisonResult:
english_rule_count: int
translated_rule_count: int
rule_differences: list[RuleDifference] = field(default_factory=list)
+ first_order_mismatch_position: int | None = None
@property
def has_issues(self) -> bool:
diff --git a/PythonScripts/audit_translations/renderer.py b/PythonScripts/audit_translations/renderer.py
index d79449e80..198aefc54 100644
--- a/PythonScripts/audit_translations/renderer.py
+++ b/PythonScripts/audit_translations/renderer.py
@@ -260,6 +260,14 @@ def print_audit_summary(summary: AuditSummary) -> None:
console.print(Panel(table, style="cyan"))
+def print_order_findings(findings: list[tuple[str, int]]) -> None:
+ """Print the first shared-rule order difference for each affected file."""
+ for file_name, position in findings:
+ console.print(
+ f"[yellow]Rule order differs[/] in {escape(str(file_name))}: first difference at shared rule position {position}"
+ )
+
+
def print_language_list(languages: list[tuple[str, int]]) -> None:
"""Print the available languages table.
diff --git a/PythonScripts/audit_translations/rulecoverage/__init__.py b/PythonScripts/audit_translations/rulecoverage/__init__.py
new file mode 100644
index 000000000..f9de05fe7
--- /dev/null
+++ b/PythonScripts/audit_translations/rulecoverage/__init__.py
@@ -0,0 +1 @@
+"""Rule coverage collection and report generation."""
diff --git a/PythonScripts/audit_translations/rulecoverage/rule_coverage.html b/PythonScripts/audit_translations/rulecoverage/rule_coverage.html
new file mode 100644
index 000000000..c5235df79
--- /dev/null
+++ b/PythonScripts/audit_translations/rulecoverage/rule_coverage.html
@@ -0,0 +1,93 @@
+
+
+
+
+
+Rule YAML coverage
+
+
+
+Rule YAML coverage
+Status: {{ status }}
+{{ rule_file_count }} files with active rules {{ file_coverage }} rule files matched
+{{ rule_coverage }} active rules matched
+Paths are relative to Rules/. Files with active rules are coverage targets;
+a file is matched when a rule from it completes its replacement successfully.
+{% if errors %}
+Problems
+{% for error in errors %}{{ error }} {% endfor %}
+
+{% endif %}
+
+All
+Matched No match
+
+{% for file in files %}
+
+{{ 'Matched' if file.matched else 'No match' }}
+{{ file.path }} {{ file.coverage }} rules
+{{ file.coverage }} active rules matched
+{% set file_index = loop.index0 %}
+{% for rule in file.rules %}
+
+{{ 'Matched' if rule.matched else 'No match' }}
+{{ rule.name }} {{ rule.tag }} {{ rule.hits }} {{ 'hit' if rule.hits == 1 else 'hits' }}
+{{ rule.tooltip }}
+{% endfor %}
+
+
+{% endfor %}
+
+No matching files or rules
+
+
+
diff --git a/PythonScripts/audit_translations/rulecoverage/rule_coverage.py b/PythonScripts/audit_translations/rulecoverage/rule_coverage.py
new file mode 100644
index 000000000..a06178336
--- /dev/null
+++ b/PythonScripts/audit_translations/rulecoverage/rule_coverage.py
@@ -0,0 +1,116 @@
+"""Run the full Rust test suite and report which rule YAML files it exercises."""
+
+import json
+import shutil
+import subprocess
+import sys
+import webbrowser
+from collections import Counter, defaultdict
+from pathlib import Path, PurePosixPath
+
+from .rule_coverage_report import RuleKey, coverage, render_html
+
+ROOT = Path(__file__).resolve().parents[3]
+OUTPUT = ROOT / "target" / "rule-coverage"
+EVENTS = OUTPUT / "events"
+
+
+def read_events() -> tuple[set[RuleKey], dict[RuleKey, Counter[str]], list[str]]:
+ defined_rules: set[RuleKey] = set()
+ hits_by_test: dict[RuleKey, Counter[str]] = defaultdict(Counter)
+ errors: list[str] = []
+ for event_file in sorted(EVENTS.glob("*.jsonl")):
+ for number, line in enumerate(event_file.read_text(encoding="utf-8").splitlines(), 1):
+ try:
+ event = json.loads(line)
+ except json.JSONDecodeError:
+ errors.append(f"Invalid JSON in {event_file.name}:{number}")
+ continue
+ if not isinstance(event, dict):
+ errors.append(f"Invalid event in {event_file.name}:{number}")
+ continue
+ kind = event.get("kind")
+ path = event.get("path")
+ if not isinstance(path, str):
+ errors.append(f"Invalid event in {event_file.name}:{number}")
+ continue
+ path = path.replace("\\", "/")
+ parts = PurePosixPath(path).parts
+ if (
+ not parts
+ or PurePosixPath(path).is_absolute()
+ or ".." in parts
+ or PurePosixPath(path).suffix not in (".yaml", ".yml")
+ ):
+ errors.append(f"Invalid event in {event_file.name}:{number}")
+ elif kind in ("defined-rule", "matched-rule") and {"name", "tag"} <= event.keys():
+ name, tag = event["name"], event["tag"]
+ if not isinstance(name, str) or not isinstance(tag, str) or not name or not tag:
+ errors.append(f"Empty rule identity in {event_file.name}:{number}")
+ elif kind == "defined-rule" and event.keys() == {"kind", "path", "name", "tag"}:
+ defined_rules.add((path, name, tag))
+ elif (
+ kind == "matched-rule"
+ and event.keys() == {"kind", "path", "name", "tag", "test"}
+ and isinstance(event["test"], str)
+ and event["test"]
+ ):
+ key = (path, name, tag)
+ hits_by_test[key][event["test"]] += 1
+ else:
+ errors.append(f"Invalid event in {event_file.name}:{number}")
+ else:
+ errors.append(f"Invalid event in {event_file.name}:{number}")
+ return defined_rules, dict(hits_by_test), errors
+
+
+def run() -> int:
+ """Generate the HTML report and open it when the run finishes."""
+ OUTPUT.mkdir(parents=True, exist_ok=True)
+ (OUTPUT / "report.md").unlink(missing_ok=True)
+ if EVENTS.exists():
+ shutil.rmtree(EVENTS)
+ EVENTS.mkdir()
+
+ command = ["cargo", "test", "--features", "rule-coverage"]
+ log_path = OUTPUT / "test.log"
+ print(f"Running {' '.join(command)}; saving output to {log_path.relative_to(ROOT)}", flush=True)
+ with log_path.open("w", encoding="utf-8") as log:
+ try:
+ result = subprocess.run(command, cwd=ROOT, stdout=log, stderr=subprocess.STDOUT, check=False)
+ test_status = result.returncode
+ except OSError as error:
+ log.write(f"Could not run cargo: {error}\n")
+ test_status = 1
+
+ defined_rules, hits_by_test, errors = read_events()
+ matched_rules = set(hits_by_test)
+ rule_files = {path for path, _, _ in defined_rules}
+ matched_files = {path for path, _, _ in matched_rules}
+ if test_status:
+ errors.insert(0, f"cargo test failed (exit status {test_status}); see test.log")
+ if not defined_rules:
+ errors.append("No active rule definitions found")
+ if not matched_rules:
+ errors.append("No matched rule events found")
+ if matched_rules - defined_rules:
+ errors.append("Matched rules lack definition events")
+
+ status = "Incomplete" if errors else "Complete"
+ html_path = OUTPUT / "index.html"
+ html_path.write_text(render_html(defined_rules, hits_by_test, errors), encoding="utf-8")
+ print(
+ f"{status}: {coverage(len(matched_files), len(rule_files))} rule files matched; "
+ f"{coverage(len(matched_rules), len(defined_rules))} rules matched; report: {html_path}"
+ )
+ try:
+ opened = webbrowser.open(html_path.resolve().as_uri())
+ except OSError, webbrowser.Error:
+ opened = False
+ if not opened:
+ print(f"Browser unavailable; open {html_path} manually")
+ return 1 if errors else 0
+
+
+if __name__ == "__main__":
+ sys.exit(run())
diff --git a/PythonScripts/audit_translations/rulecoverage/rule_coverage_report.py b/PythonScripts/audit_translations/rulecoverage/rule_coverage_report.py
new file mode 100644
index 000000000..e266a9cee
--- /dev/null
+++ b/PythonScripts/audit_translations/rulecoverage/rule_coverage_report.py
@@ -0,0 +1,66 @@
+"""Format file and rule coverage events as an interactive HTML report."""
+
+from collections import Counter, defaultdict
+from pathlib import Path
+
+from jinja2 import Environment, FileSystemLoader, select_autoescape
+
+type RuleKey = tuple[str, str, str]
+
+TEMPLATE = Environment(
+ loader=FileSystemLoader(Path(__file__).parent),
+ autoescape=select_autoescape(("html",)),
+).get_template("rule_coverage.html")
+
+
+def coverage(count: int, total: int) -> str:
+ """Show the matched fraction and its percentage, including empty groups."""
+ return f"{count}/{total} ({100 * count / total:.0f}%)" if total else "0/0 (0%)"
+
+
+def render_html(
+ defined_rules: set[RuleKey],
+ hits_by_test: dict[RuleKey, Counter[str]],
+ errors: list[str],
+) -> str:
+ """Show file coverage and searchable rule details in a standalone page."""
+ rule_files = {path for path, _, _ in defined_rules}
+ matched_files = {path for path, _, _ in hits_by_test}
+ rules_by_path: dict[str, list[dict]] = defaultdict(list)
+ for path, name, tag in defined_rules:
+ key = (path, name, tag)
+ tests = hits_by_test.get(key, {})
+ total_hits = sum(tests.values())
+ rules_by_path[path].append(
+ {
+ "name": name,
+ "tag": tag,
+ "matched": key in hits_by_test,
+ "hits": total_hits,
+ "tooltip": "Tests:\n"
+ + "\n".join(f"{test} ({count} {'hit' if count == 1 else 'hits'})" for test, count in sorted(tests.items()))
+ if total_hits
+ else "No test hits",
+ }
+ )
+
+ files = []
+ for path in sorted(rule_files):
+ rules = sorted(rules_by_path.get(path, []), key=lambda rule: (rule["name"], rule["tag"]))
+ files.append(
+ {
+ "path": path,
+ "matched": path in matched_files,
+ "coverage": coverage(sum(rule["matched"] for rule in rules), len(rules)),
+ "rules": rules,
+ }
+ )
+
+ return TEMPLATE.render(
+ status="Incomplete" if errors else "Complete",
+ rule_file_count=len(rule_files),
+ file_coverage=coverage(len(matched_files), len(rule_files)),
+ rule_coverage=coverage(len(hits_by_test), len(defined_rules)),
+ errors=errors,
+ files=files,
+ )
diff --git a/PythonScripts/audit_translations/tests/test_auditor.py b/PythonScripts/audit_translations/tests/test_auditor.py
index 38b63694f..e8e7ec266 100644
--- a/PythonScripts/audit_translations/tests/test_auditor.py
+++ b/PythonScripts/audit_translations/tests/test_auditor.py
@@ -46,6 +46,163 @@ def fixture_rules_dir() -> Path:
return Path(__file__).resolve().parent / "fixtures" / "Rules" / "Languages"
+def test_rule_order_reports_first_shared_difference(tmp_path) -> None:
+ """A swapped pair records the first shared rule position without adding an issue."""
+ source = tmp_path / "source.yaml"
+ target = tmp_path / "target.yaml"
+ source.write_text(
+ """- name: a
+ tag: mi
+- name: b
+ tag: mi
+- name: c
+ tag: mi
+""",
+ encoding="utf-8",
+ )
+ target.write_text(
+ """- name: a
+ tag: mi
+- name: c
+ tag: mi
+- name: b
+ tag: mi
+""",
+ encoding="utf-8",
+ )
+
+ result = compare_files(source, target)
+ assert result.first_order_mismatch_position == 2
+ assert not result.has_issues
+
+
+def test_missing_and_ignored_rules_do_not_shift_order(tmp_path) -> None:
+ """Only shared rules without audit-ignore markers participate in ordering."""
+ source = tmp_path / "source.yaml"
+ target = tmp_path / "target.yaml"
+ source.write_text(
+ """- name: a
+ tag: mi
+- name: missing
+ tag: mi
+- name: b
+ tag: mi
+""",
+ encoding="utf-8",
+ )
+ target.write_text(
+ """- name: a
+ tag: mi
+- name: extra
+ tag: mi
+- name: b
+ tag: mi
+""",
+ encoding="utf-8",
+ )
+ assert compare_files(source, target).first_order_mismatch_position is None
+
+ source.write_text(
+ """- name: a
+ tag: mi
+- name: b
+ tag: mi
+# audit-ignore
+- name: c
+ tag: mi
+""",
+ encoding="utf-8",
+ )
+ target.write_text(
+ """# audit-ignore
+- name: c
+ tag: mi
+- name: a
+ tag: mi
+- name: b
+ tag: mi
+""",
+ encoding="utf-8",
+ )
+ assert compare_files(source, target).first_order_mismatch_position is None
+
+
+def test_include_placement_is_not_checked(tmp_path) -> None:
+ """An include moving around a named rule has no effect on named rule order."""
+ source = tmp_path / "source.yaml"
+ target = tmp_path / "target.yaml"
+ source.write_text(
+ """- include: shared.yaml
+- name: a
+ tag: mi
+""",
+ encoding="utf-8",
+ )
+ target.write_text(
+ """- name: a
+ tag: mi
+- include: shared.yaml
+""",
+ encoding="utf-8",
+ )
+ result = compare_files(source, target)
+ assert result.first_order_mismatch_position is None
+ assert result.english_rule_count == result.translated_rule_count == 1
+ assert not result.missing_rules and not result.extra_rules
+ assert compare_files(source, target, {"missing"}).first_order_mismatch_position is None
+
+
+def test_unicode_entries_are_not_checked_for_order(tmp_path) -> None:
+ """The order check only covers named rules, not Unicode character entries."""
+ source = tmp_path / "unicode.yaml"
+ target = tmp_path / "target" / "unicode.yaml"
+ target.parent.mkdir()
+ source.write_text(
+ """- "←": [t: left]
+- "∥": [t: parallel]
+""",
+ encoding="utf-8",
+ )
+ target.write_text(
+ """- "∥": [T: parallel]
+- "←": [T: left]
+""",
+ encoding="utf-8",
+ )
+
+ assert compare_files(source, target).first_order_mismatch_position is None
+
+
+def test_order_findings_appear_after_summary_without_affecting_totals(tmp_path, capsys) -> None:
+ """Each affected file gets one final line while the audit issue count stays zero."""
+ rules_dir = tmp_path / "Rules" / "Languages"
+ source_dir = rules_dir / "en"
+ target_dir = rules_dir / "de"
+ source_dir.mkdir(parents=True)
+ target_dir.mkdir(parents=True)
+ source = """- name: a
+ tag: mi
+- name: b
+ tag: mi
+"""
+ target = """- name: b
+ tag: mi
+- name: a
+ tag: mi
+"""
+ for filename in ("first.yaml", "second.yaml"):
+ (source_dir / filename).write_text(source, encoding="utf-8")
+ (target_dir / filename).write_text(target, encoding="utf-8")
+
+ assert audit_language("de", rules_dir=str(rules_dir)) == 0
+ output = strip_ansi(capsys.readouterr().out)
+ assert "Files with issues 0" in output
+ assert "Rule order differences" not in output
+ assert output.count("first difference at shared rule position 1") == 2
+ assert output.index("SUMMARY") < output.index("Rule order differs in first.yaml")
+ assert output.index("Rule order differs in first.yaml") < output.index("Rule order differs in second.yaml")
+
+
def aggregate_issue_counts(
language: str,
issue_filter: set[str] | None = None,
diff --git a/PythonScripts/audit_translations/tests/test_parsers.py b/PythonScripts/audit_translations/tests/test_parsers.py
index 6714f3581..92ea56ab0 100644
--- a/PythonScripts/audit_translations/tests/test_parsers.py
+++ b/PythonScripts/audit_translations/tests/test_parsers.py
@@ -303,7 +303,7 @@ def test_skips_items_without_name(self):
assert rules[0].name == "real-rule"
def test_mixed_valid_and_skipped_items(self):
- """Valid rules interspersed with non-rule items keep correct line numbers."""
+ """Named rules retain their line numbers around skipped includes."""
content = """- name: first
tag: mo
match: "."
diff --git a/PythonScripts/audit_translations/tests/test_rule_coverage_cli.py b/PythonScripts/audit_translations/tests/test_rule_coverage_cli.py
new file mode 100644
index 000000000..33709d1e6
--- /dev/null
+++ b/PythonScripts/audit_translations/tests/test_rule_coverage_cli.py
@@ -0,0 +1,156 @@
+"""Checks the rule coverage command without rerunning the Rust test suite."""
+
+import json
+import subprocess
+import sys
+from pathlib import Path
+
+import pytest
+
+from .. import cli
+from ..rulecoverage import rule_coverage
+
+
+def test_coverage_command_generates_html_and_opens_browser(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> None:
+ """The CLI writes only the HTML report, removes an old Markdown report, and opens the page."""
+ output = tmp_path / "target" / "rule-coverage"
+ output.mkdir(parents=True)
+ (output / "report.md").write_text("old report", encoding="utf-8")
+ monkeypatch.setattr(rule_coverage, "ROOT", tmp_path)
+ monkeypatch.setattr(rule_coverage, "OUTPUT", output)
+ monkeypatch.setattr(rule_coverage, "EVENTS", output / "events")
+
+ def fake_cargo(command: list[str], **kwargs: object) -> subprocess.CompletedProcess[str]:
+ assert command == ["cargo", "test", "--features", "rule-coverage"]
+ assert kwargs["cwd"] == tmp_path
+ events = [
+ {"kind": "defined-rule", "path": "Languages/en/SimpleSpeak_Rules.yaml", "name": "simple", "tag": "mi"},
+ {"kind": "defined-rule", "path": "Languages/en/SimpleSpeak_Rules.yaml", "name": "default", "tag": "mi"},
+ {"kind": "defined-rule", "path": "Languages/en/Z_Rules.yaml", "name": "unused", "tag": "mn"},
+ {
+ "kind": "matched-rule",
+ "path": "Languages/en/SimpleSpeak_Rules.yaml",
+ "name": "simple",
+ "tag": "mi",
+ "test": "test_alpha",
+ },
+ {
+ "kind": "matched-rule",
+ "path": "Languages/en/SimpleSpeak_Rules.yaml",
+ "name": "simple",
+ "tag": "mi",
+ "test": "test_alpha",
+ },
+ {
+ "kind": "matched-rule",
+ "path": "Languages/en/SimpleSpeak_Rules.yaml",
+ "name": "simple",
+ "tag": "mi",
+ "test": "test_beta",
+ },
+ ]
+ (output / "events" / "pid-123.jsonl").write_text(
+ "\n".join(json.dumps(event) for event in events) + "\n",
+ encoding="utf-8",
+ )
+ return subprocess.CompletedProcess(command, 0)
+
+ opened: list[str] = []
+ monkeypatch.setattr(rule_coverage.subprocess, "run", fake_cargo)
+ monkeypatch.setattr(rule_coverage.webbrowser, "open", lambda url: opened.append(url) or True)
+ monkeypatch.setattr(sys, "argv", ["audit-translations", "--rule-coverage"])
+
+ with pytest.raises(SystemExit) as result:
+ cli.main()
+
+ assert result.value.code == 0
+ assert opened == [(output / "index.html").as_uri()]
+ assert not (output / "report.md").exists()
+ html = (output / "index.html").read_text(encoding="utf-8")
+ assert "Status: Complete " in html
+ assert "1/2 (50%) rule files matched" in html
+ assert "Languages/en/Z_Rules.yaml" in html
+ assert 'data-rule-search="simple mi" data-status="matched"' in html
+ assert 'data-rule-search="default mi" data-status="unmatched"' in html
+ assert "1/3 (33%) active rules matched" in html
+ assert "1/2 (50%) rules" in html
+ assert 'role="tooltip">Tests:\ntest_alpha (2 hits)\ntest_beta (1 hit)' in html
+ assert ".rules li:hover .rule-tooltip, .rules li:focus .rule-tooltip { display: block; }" in html
+ assert 'aria-describedby="rule-tooltip-0-1"' in html
+ assert "3 hits" in html
+ assert "0 hits" in html
+ assert "2 files with active rules" in html
+ assert (output / "test.log").is_file()
+
+
+def test_failed_coverage_run_opens_incomplete_report(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> None:
+ """A failed test run remains unsuccessful but still produces and opens a useful report."""
+ output = tmp_path / "target" / "rule-coverage"
+ monkeypatch.setattr(rule_coverage, "ROOT", tmp_path)
+ monkeypatch.setattr(rule_coverage, "OUTPUT", output)
+ monkeypatch.setattr(rule_coverage, "EVENTS", output / "events")
+ monkeypatch.setattr(
+ rule_coverage.subprocess,
+ "run",
+ lambda command, **kwargs: subprocess.CompletedProcess(command, 1),
+ )
+ opened: list[str] = []
+ monkeypatch.setattr(rule_coverage.webbrowser, "open", lambda url: opened.append(url) or True)
+
+ assert rule_coverage.run() == 1
+ assert opened == [(output / "index.html").as_uri()]
+ html = (output / "index.html").read_text(encoding="utf-8")
+ assert "Status: Incomplete " in html
+ assert "No active rule definitions found" in html
+ assert not (output / "report.md").exists()
+
+
+def test_jsonl_rule_identity_preserves_separators_and_unicode(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> None:
+ """JSONL rule names survive tabs, newlines, and Unicode without splitting events."""
+ events = tmp_path / "events"
+ events.mkdir()
+ monkeypatch.setattr(rule_coverage, "EVENTS", events)
+ name = "fraction\tname\nüber"
+ path = "Languages/en/SimpleSpeak_Rules.yaml"
+ (events / "pid-123.jsonl").write_text(
+ json.dumps({"kind": "defined-rule", "path": path, "name": name, "tag": "mfrac"}) + "\n",
+ encoding="utf-8",
+ )
+
+ defined, hits_by_test, errors = rule_coverage.read_events()
+
+ assert hits_by_test == {}
+ assert defined == {(path, name, "mfrac")}
+ assert errors == []
+
+
+def test_invalid_and_unknown_rule_events_make_report_incomplete(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> None:
+ """Malformed events and hits without definitions must keep the report incomplete."""
+ output = tmp_path / "target" / "rule-coverage"
+ monkeypatch.setattr(rule_coverage, "ROOT", tmp_path)
+ monkeypatch.setattr(rule_coverage, "OUTPUT", output)
+ monkeypatch.setattr(rule_coverage, "EVENTS", output / "events")
+ path = "Languages/en/SimpleSpeak_Rules.yaml"
+
+ def fake_cargo(command: list[str], **kwargs: object) -> subprocess.CompletedProcess[str]:
+ events = [
+ {"kind": "loaded", "path": path},
+ {"kind": "defined-rule", "path": path, "name": "known", "tag": "mi"},
+ {"kind": "matched-rule", "path": path, "name": "unknown", "tag": "mi", "test": "test_alpha"},
+ ]
+ (output / "events" / "pid-123.jsonl").write_text(
+ "\n".join(json.dumps(event) for event in events) + "\n{bad json\n",
+ encoding="utf-8",
+ )
+ return subprocess.CompletedProcess(command, 0)
+
+ monkeypatch.setattr(rule_coverage.subprocess, "run", fake_cargo)
+ monkeypatch.setattr(rule_coverage.webbrowser, "open", lambda url: True)
+
+ assert rule_coverage.run() == 1
+ html = (output / "index.html").read_text(encoding="utf-8")
+ assert "Status: Incomplete " in html
+ assert "Invalid event in pid-123.jsonl:1" in html
+ assert "Invalid JSON in pid-123.jsonl:4" in html
+ assert "Matched rules lack definition events" in html
+ assert not (output / "report.md").exists()
diff --git a/PythonScripts/pyproject.toml b/PythonScripts/pyproject.toml
index 7b9adf68d..e1f579a31 100644
--- a/PythonScripts/pyproject.toml
+++ b/PythonScripts/pyproject.toml
@@ -14,6 +14,7 @@ dependencies = [
"deepl",
"googletrans",
"html-table-extractor",
+ "jinja2>=3.1.6",
"jsonpath-ng>=1.8.0",
"pyyaml",
"rich",
diff --git a/PythonScripts/uv.lock b/PythonScripts/uv.lock
index 81e0404c4..d2323646c 100644
--- a/PythonScripts/uv.lock
+++ b/PythonScripts/uv.lock
@@ -200,6 +200,18 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12", size = 7484, upload-time = "2025-10-18T21:55:41.639Z" },
]
+[[package]]
+name = "jinja2"
+version = "3.1.6"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "markupsafe" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115, upload-time = "2025-03-05T20:05:02.478Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" },
+]
+
[[package]]
name = "jsonpath-ng"
version = "1.8.0"
@@ -221,6 +233,36 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/94/54/e7d793b573f298e1c9013b8c4dade17d481164aa517d1d7148619c2cedbf/markdown_it_py-4.0.0-py3-none-any.whl", hash = "sha256:87327c59b172c5011896038353a81343b6754500a08cd7a4973bb48c6d578147", size = 87321, upload-time = "2025-08-11T12:57:51.923Z" },
]
+[[package]]
+name = "markupsafe"
+version = "3.0.3"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz", hash = "sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698", size = 80313, upload-time = "2025-09-27T18:37:40.426Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/33/8a/8e42d4838cd89b7dde187011e97fe6c3af66d8c044997d2183fbd6d31352/markupsafe-3.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe", size = 11619, upload-time = "2025-09-27T18:37:06.342Z" },
+ { url = "https://files.pythonhosted.org/packages/b5/64/7660f8a4a8e53c924d0fa05dc3a55c9cee10bbd82b11c5afb27d44b096ce/markupsafe-3.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026", size = 12029, upload-time = "2025-09-27T18:37:07.213Z" },
+ { url = "https://files.pythonhosted.org/packages/da/ef/e648bfd021127bef5fa12e1720ffed0c6cbb8310c8d9bea7266337ff06de/markupsafe-3.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737", size = 24408, upload-time = "2025-09-27T18:37:09.572Z" },
+ { url = "https://files.pythonhosted.org/packages/41/3c/a36c2450754618e62008bf7435ccb0f88053e07592e6028a34776213d877/markupsafe-3.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97", size = 23005, upload-time = "2025-09-27T18:37:10.58Z" },
+ { url = "https://files.pythonhosted.org/packages/bc/20/b7fdf89a8456b099837cd1dc21974632a02a999ec9bf7ca3e490aacd98e7/markupsafe-3.0.3-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e8afc3f2ccfa24215f8cb28dcf43f0113ac3c37c2f0f0806d8c70e4228c5cf4d", size = 22048, upload-time = "2025-09-27T18:37:11.547Z" },
+ { url = "https://files.pythonhosted.org/packages/9a/a7/591f592afdc734f47db08a75793a55d7fbcc6902a723ae4cfbab61010cc5/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda", size = 23821, upload-time = "2025-09-27T18:37:12.48Z" },
+ { url = "https://files.pythonhosted.org/packages/7d/33/45b24e4f44195b26521bc6f1a82197118f74df348556594bd2262bda1038/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:0eb9ff8191e8498cca014656ae6b8d61f39da5f95b488805da4bb029cccbfbaf", size = 21606, upload-time = "2025-09-27T18:37:13.485Z" },
+ { url = "https://files.pythonhosted.org/packages/ff/0e/53dfaca23a69fbfbbf17a4b64072090e70717344c52eaaaa9c5ddff1e5f0/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe", size = 23043, upload-time = "2025-09-27T18:37:14.408Z" },
+ { url = "https://files.pythonhosted.org/packages/46/11/f333a06fc16236d5238bfe74daccbca41459dcd8d1fa952e8fbd5dccfb70/markupsafe-3.0.3-cp314-cp314-win32.whl", hash = "sha256:729586769a26dbceff69f7a7dbbf59ab6572b99d94576a5592625d5b411576b9", size = 14747, upload-time = "2025-09-27T18:37:15.36Z" },
+ { url = "https://files.pythonhosted.org/packages/28/52/182836104b33b444e400b14f797212f720cbc9ed6ba34c800639d154e821/markupsafe-3.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:bdc919ead48f234740ad807933cdf545180bfbe9342c2bb451556db2ed958581", size = 15341, upload-time = "2025-09-27T18:37:16.496Z" },
+ { url = "https://files.pythonhosted.org/packages/6f/18/acf23e91bd94fd7b3031558b1f013adfa21a8e407a3fdb32745538730382/markupsafe-3.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:5a7d5dc5140555cf21a6fefbdbf8723f06fcd2f63ef108f2854de715e4422cb4", size = 14073, upload-time = "2025-09-27T18:37:17.476Z" },
+ { url = "https://files.pythonhosted.org/packages/3c/f0/57689aa4076e1b43b15fdfa646b04653969d50cf30c32a102762be2485da/markupsafe-3.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab", size = 11661, upload-time = "2025-09-27T18:37:18.453Z" },
+ { url = "https://files.pythonhosted.org/packages/89/c3/2e67a7ca217c6912985ec766c6393b636fb0c2344443ff9d91404dc4c79f/markupsafe-3.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175", size = 12069, upload-time = "2025-09-27T18:37:19.332Z" },
+ { url = "https://files.pythonhosted.org/packages/f0/00/be561dce4e6ca66b15276e184ce4b8aec61fe83662cce2f7d72bd3249d28/markupsafe-3.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634", size = 25670, upload-time = "2025-09-27T18:37:20.245Z" },
+ { url = "https://files.pythonhosted.org/packages/50/09/c419f6f5a92e5fadde27efd190eca90f05e1261b10dbd8cbcb39cd8ea1dc/markupsafe-3.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50", size = 23598, upload-time = "2025-09-27T18:37:21.177Z" },
+ { url = "https://files.pythonhosted.org/packages/22/44/a0681611106e0b2921b3033fc19bc53323e0b50bc70cffdd19f7d679bb66/markupsafe-3.0.3-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f190daf01f13c72eac4efd5c430a8de82489d9cff23c364c3ea822545032993e", size = 23261, upload-time = "2025-09-27T18:37:22.167Z" },
+ { url = "https://files.pythonhosted.org/packages/5f/57/1b0b3f100259dc9fffe780cfb60d4be71375510e435efec3d116b6436d43/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5", size = 24835, upload-time = "2025-09-27T18:37:23.296Z" },
+ { url = "https://files.pythonhosted.org/packages/26/6a/4bf6d0c97c4920f1597cc14dd720705eca0bf7c787aebc6bb4d1bead5388/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:f3e98bb3798ead92273dc0e5fd0f31ade220f59a266ffd8a4f6065e0a3ce0523", size = 22733, upload-time = "2025-09-27T18:37:24.237Z" },
+ { url = "https://files.pythonhosted.org/packages/14/c7/ca723101509b518797fedc2fdf79ba57f886b4aca8a7d31857ba3ee8281f/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc", size = 23672, upload-time = "2025-09-27T18:37:25.271Z" },
+ { url = "https://files.pythonhosted.org/packages/fb/df/5bd7a48c256faecd1d36edc13133e51397e41b73bb77e1a69deab746ebac/markupsafe-3.0.3-cp314-cp314t-win32.whl", hash = "sha256:915c04ba3851909ce68ccc2b8e2cd691618c4dc4c4232fb7982bca3f41fd8c3d", size = 14819, upload-time = "2025-09-27T18:37:26.285Z" },
+ { url = "https://files.pythonhosted.org/packages/1a/8a/0402ba61a2f16038b48b39bccca271134be00c5c9f0f623208399333c448/markupsafe-3.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4faffd047e07c38848ce017e8725090413cd80cbc23d86e55c587bf979e579c9", size = 15426, upload-time = "2025-09-27T18:37:27.316Z" },
+ { url = "https://files.pythonhosted.org/packages/70/bc/6f1c2f612465f5fa89b95bead1f44dcb607670fd42891d8fdcd5d039f4f4/markupsafe-3.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa", size = 14146, upload-time = "2025-09-27T18:37:28.327Z" },
+]
+
[[package]]
name = "mdurl"
version = "0.1.2"
@@ -282,6 +324,7 @@ dependencies = [
{ name = "deepl" },
{ name = "googletrans" },
{ name = "html-table-extractor" },
+ { name = "jinja2" },
{ name = "jsonpath-ng" },
{ name = "pyyaml" },
{ name = "rich" },
@@ -300,6 +343,7 @@ requires-dist = [
{ name = "deepl" },
{ name = "googletrans" },
{ name = "html-table-extractor" },
+ { name = "jinja2", specifier = ">=3.1.6" },
{ name = "jsonpath-ng", specifier = ">=1.8.0" },
{ name = "pyyaml" },
{ name = "rich" },
diff --git a/README.md b/README.md
index 0ee92c6fa..e72c60c1b 100644
--- a/README.md
+++ b/README.md
@@ -8,6 +8,17 @@
* Navigation of math (in multiple ways including overviews)
+
+Supported speech languages
+
+**Supported:** Chinese (Traditional), English, Finnish, French, German, Greek, Hungarian, Indonesian, Norwegian, Polish, Portuguese, Russian, Spanish, Swedish, and Vietnamese.
+
+**In progress:** Catalan, Icelandic, Italian, Japanese, and Urdu.
+
+Source: [DAISY MathCAT Initiative](https://daisy.org/activities/projects/mathcat-initiative/).
+
+
+
There are four related projects that make use of MathCAT:
- [MathCATDemo](https://nsoiffer.github.io/MathCATDemo/) -- an online demonstration of some of what can be done with MathCAT
- [A python interface for MathCAT](https://github.com/NSoiffer/MathCATForPython) -- used by a [MathCAT NVDA add-on](https://addons.nvda-project.org/addons/MathCAT.en.html).
diff --git a/Rules/Braille/ASCIIMath/unicode.yaml b/Rules/Braille/ASCIIMath/unicode.yaml
index 94c9bf260..0adf91c66 100644
--- a/Rules/Braille/ASCIIMath/unicode.yaml
+++ b/Rules/Braille/ASCIIMath/unicode.yaml
@@ -184,6 +184,7 @@
- "∪": [t: "𝐖uu𝐖"] # 0x222a
- "∫": [t: "𝐖int𝐖"] # 0x222b
- "∮": [t: "𝐖oint𝐖"] # 0x222e
+ - "∶": [t: ":"] # 0x2236
- "∼": [t: "~"] # 0x223c
- "≅": [t: "~="] # 0x2245
- "≈": [t: "~~"] # 0x2248
diff --git a/Rules/Braille/CMU/unicode-full.yaml b/Rules/Braille/CMU/unicode-full.yaml
index 558972fcf..5c24c0c8f 100644
--- a/Rules/Braille/CMU/unicode-full.yaml
+++ b/Rules/Braille/CMU/unicode-full.yaml
@@ -1,235 +1,235 @@
----
- - "ⅆ": [t: "⠙"] # 0x2146
- - "ⅇ": [t: "⠑"] # 0x2147
- - "ⅈ": [t: "⠊"] # 0x2148
- - "ℭ": [t: "⠸⠕"] # 0x212D (números de Cailey (octoniones))
-
- - "𝐚-𝐳": # 0x1d41a - 0x1d433
- - tc: "B"
- - spell: "translate('.', '𝐚𝐛𝐜𝐝𝐞𝐟𝐠𝐡𝐢𝐣𝐤𝐥𝐦𝐧𝐨𝐩𝐪𝐫𝐬𝐭𝐮𝐯𝐰𝐱𝐲𝐳', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "𝐀-𝐙": # 0x1d400 - 0x1d419
- - tc: "BC"
- - spell: "translate('.', '𝐀𝐁𝐂𝐃𝐄𝐅𝐆𝐇𝐈𝐉𝐊𝐋𝐌𝐍𝐎𝐏𝐐𝐑𝐒𝐓𝐔𝐕𝐖𝐗𝐘𝐙', 'abcdefghijklmnopqrstuvwxyz')"
-
-# don't mark these as italic
- - "𝑎-𝑧": # 0x1d44e - 0x1d467
- - tc: ""
- - spell: "translate('.', '𝑎𝑏𝑐𝑑𝑒𝑓𝑔𝑖𝑗𝑘𝑙𝑚𝑛𝑜𝑝𝑞𝑟𝑠𝑡𝑢𝑣𝑤𝑥𝑦𝑧', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "𝐴-𝑍": # 0x1d434 - 0x1d44d
- - tc: "C"
- - spell: "translate('.', '𝐴𝐵𝐶𝐷𝐸𝐹𝐺𝐻𝐼𝐽𝐾𝐿𝑀𝑁𝑂𝑃𝑄𝑅𝑆𝑇𝑈𝑉𝑊𝑋𝑌𝑍', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "𝒂-𝒛": # 0x1d482 - 0x1d49b
- - tc: "B"
- - spell: "translate('.', '𝒂𝒃𝒄𝒅𝒆𝒇𝒈𝒉𝒊𝒋𝒌𝒍𝒎𝒏𝒐𝒑𝒒𝒓𝒔𝒕𝒖𝒗𝒘𝒙𝒚𝒛', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "𝑨-𝒁": # 0x1d468 - 0x1d481
- - tc: "BC"
- - spell: "translate('.', '𝑨𝑩𝑪𝑫𝑬𝑭𝑮𝑯𝑰𝑱𝑲𝑳𝑴𝑵𝑶𝑷𝑸𝑹𝑺𝑻𝑼𝑽𝑾𝑿𝒀𝒁', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "𝒶-𝓏": # 0x1d4b6 - 0x1d4cf
- - tc: "Ts"
- - spell: "translate('.', '𝒶𝒷𝒸𝒹𝒻𝒽𝒾𝒿𝓀𝓁𝓂𝓃𝓅𝓆𝓇𝓈𝓉𝓊𝓋𝓌𝓍𝓎𝓏', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "𝒜-𝒵": # 0x1d49c - 0x1d4b5
- - tc: "TsC"
- - spell: "translate('.', '𝒜𝒞𝒟𝒢𝒥𝒦𝒩𝒪𝒫𝒬𝒮𝒯𝒰𝒱𝒲𝒳𝒴𝒵', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "ℊ": [t: "TL⠛⠁"] # 0x210a (Script Small G)
- - "ℋ": [t: "TCL⠓⠁"] # 0x210b (Script Capital H)
- - "ℒ": [t: "TCL⠇"] # 0x2113 (Script Capital L)
- - "ℓ": [t: "TL⠇"] # 0x2113 (Script Small L)
- - "℘": [t: "TCL⠏"] # 0x2118 (Script Capital P)
- - "ℛ": [t: "TCL⠗"] # 0x211B (Script Capital R)
- - "ℯ": [t: "TL⠑"] # 0x212F (Script Small E)
- - "ℰ": [t: "TCL⠑"] # 0x2130 (Script Capital E)
- - "ℱ": [t: "TCL⠋"] # 0x2131 (Script Capital F)
- - "ℳ": [t: "TCL⠍"] # 0x2133 (Script Capital M)
- - "ℴ": [t: "TL⠕"] # 0x21334 (Script Small O)
- - "𝓪-𝔃": # 0x1d4ea - 0x1d503
- - tc: "BTs"
- - spell: "translate('.', '𝓪𝓫𝓬𝓭𝓮𝓯𝓰𝓱𝓲𝓳𝓴𝓵𝓶𝓷𝓸𝓹𝓺𝓻𝓼𝓽𝓾𝓿𝔀𝔁𝔂𝔃', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "𝓐-𝓩": # 0x1d4d0 - 0x1d4e9
- - tc: "BTsC"
- - spell: "translate('.', '𝓐𝓑𝓒𝓓𝓔𝓕𝓖𝓗𝓘𝓙𝓚𝓛𝓜𝓝𝓞𝓟𝓠𝓡𝓢𝓣𝓤𝓥𝓦𝓧𝓨𝓩', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "𝔞-𝔷": # 0x1d51e - 0x1d537
- - tc: "D"
- - spell: "translate('.', '𝔞𝔟𝔠𝔡𝔢𝔣𝔤𝔥𝔦𝔧𝔨𝔩𝔪𝔫𝔬𝔭𝔮𝔯𝔰𝔱𝔲𝔳𝔴𝔵𝔶𝔷', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "𝔄-": # 0x1d504 - 0x1d51d
- - tc: "DC"
- - spell: "translate('.', '𝔄𝔅𝔇𝔈𝔉𝔊𝔍𝔎𝔏𝔐𝔑𝔒𝔓𝔔𝔖𝔗𝔘𝔙𝔚𝔛𝔜', 'abcdefgjklmnopqstuvwxy')"
-
- - "ℌ": [t: "DCL⠓"] # 0x210C (Fraktur Capital H)
- - "ℑ": [t: "DCL⠊"] # 0x2111 (Fraktur Capital I)
- - "ℜ": [t: "DCL⠗"] # 0x211C (Fraktur Capital R)
- - "ℨ": [t: "DCL⠵"] # 0x2128 (Fraktur Capital Z)
- - "𝕒-𝕫": # 0x1d552 - 0x1d56b
- - tc: "𝔹"
- - spell: "translate('.', '𝕒𝕓𝕔𝕕𝕖𝕗𝕘𝕙𝕚𝕛𝕜𝕝𝕞𝕟𝕠𝕡𝕢𝕣𝕤𝕥𝕦𝕧𝕨𝕩𝕪𝕫', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "𝔸-𝕐": # 0x1d538 - 0x1d550 (blackboard bold capitals, excluding special number sets)
- - tc: "𝔹C"
- - spell: "translate('.', '𝔸𝔹𝔻𝔼𝔽𝔾𝕀𝕁𝕂𝕃𝕄𝕆𝕊𝕋𝕌𝕍𝕎𝕏𝕐', 'abcdefghijklmnopqrst')"
-
- - "ℂ": [t: "⠸⠉"] # 0x2102 (números complejos)
- - "ℍ": [t: "⠸⠓"] # 0x210D (cuaterniones)
- - "ℕ": [t: "⠸⠝"] # 0x2115 (números naturales)
- - "ℙ": [t: "⠸⠏"] # 0x2119 (números primos)
- - "ℚ": [t: "⠸⠟"] # 0x211A (números racionales)
- - "ℝ": [t: "⠸⠗"] # 0x211D (números reales)
- - "ℤ": [t: "⠸⠵"] # 0x2124 (números enteros)
-
- - "𝖆-𝖟": # 0x1d586 - 0x1d59f
- - tc: "BD"
- - spell: "translate('.', '𝖆𝖇𝖈𝖉𝖊𝖋𝖌𝖍𝖎𝖏𝖐𝖑𝖒𝖓𝖔𝖕𝖖𝖗𝖘𝖙𝖚𝖛𝖜𝖝𝖞𝖟', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "𝕬-𝖅": # 0x1d56c - 0x1d585
- - tc: "BDC"
- - spell: "translate('.', '𝕬𝕭𝕮𝕯𝕰𝕱𝕲𝕳𝕴𝕵𝕶𝕷𝕸𝕹𝕺𝕻𝕼𝕽𝕾𝕿𝖀𝖁𝖂𝖃𝖄𝖅', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "𝖺-𝗓": # 0x1d5ba - 0x1d5d3
- - tc: "S"
- - spell: "translate('.', '𝖺𝖻𝖼𝖽𝖾𝖿𝗀𝗁𝗂𝗃𝗄𝗅𝗆𝗇𝗈𝗉𝗊𝗋𝗌𝗍𝗎𝗏𝗐𝗑𝗒𝗓', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "𝖠-𝖹": # 0x1d5a0 - 0x1d5b9
- - tc: "SC"
- - spell: "translate('.', '𝖠𝖡𝖢𝖣𝖤𝖥𝖦𝖧𝖨𝖩𝖪𝖫𝖬𝖭𝖮𝖯𝖰𝖱𝖲𝖳𝖴𝖵𝖶𝖷𝖸𝖹', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "𝗮-𝘇": # 0x1d5ee - 0x1d607
- - tc: "BS"
- - spell: "translate('.', '𝗮𝗯𝗰𝗱𝗲𝗳𝗴𝗵𝗶𝗷𝗸𝗹𝗺𝗻𝗼𝗽𝗾𝗿𝘀𝘁𝘂𝘃𝘄𝘅𝘆𝘇', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "𝗔-𝗭": # 0x1d5d4 - 0x1d5ed
- - tc: "BSC"
- - spell: "translate('.', '𝗔𝗕𝗖𝗗𝗘𝗙𝗚𝗛𝗜𝗝𝗞𝗟𝗠𝗡𝗢𝗣𝗤𝗥𝗦𝗧𝗨𝗩𝗪𝗫𝗬𝗭', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "𝘢-𝘻": # 0x1d622 - 0x1d63b
- - tc: "S"
- - spell: "translate('.', '𝘢𝘣𝘤𝘥𝘦𝘧𝘨𝘩𝘪𝘫𝘬𝘭𝘮𝘯𝘰𝘱𝘲𝘳𝘴𝘵𝘶𝘷𝘸𝘹𝘺𝘻', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "𝘈-𝘡": # 0x1d608 - 0x1d621
- - tc: "SC"
- - spell: "translate('.', '𝘈𝘉𝘊𝘋𝘌𝘍𝘎𝘏𝘐𝘑𝘒𝘓𝘔𝘕𝘖𝘗𝘘𝘙𝘚𝘛𝘜𝘝𝘞𝘟𝘠𝘡', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "𝙖-𝙯": # 0x1d656 - 0x1d66f
- - tc: "BS"
- - spell: "translate('.', '𝙖𝙗𝙘𝙙𝙚𝙛𝙜𝙝𝙞𝙟𝙠𝙡𝙢𝙣𝙤𝙥𝙦𝙧𝙨𝙩𝙪𝙫𝙬𝙭𝙮𝙯', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "𝘼-𝙕": # 0x1d63c - 0x1d655
- - tc: "BSC"
- - spell: "translate('.', '𝘼𝘽𝘾𝘿𝙀𝙁𝙂𝙃𝙄𝙅𝙆𝙇𝙈𝙉𝙊𝙋𝙌𝙍𝙎𝙏𝙐𝙑𝙒𝙓𝙔𝙕', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "𝚊-𝚣": # 0x1d68a - 0x1d6a3
- - tc: ""
- - spell: "translate('.', '𝚊𝚋𝚌𝚍𝚎𝚏𝚐𝚑𝚒𝚓𝚔𝚕𝚖𝚗𝚘𝚙𝚚𝚛𝚜𝚝𝚞𝚟𝚠𝚡𝚢𝚣', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "𝙰-𝚉": # 0x1d670 - 0x1d689
- - tc: "C"
- - spell: "translate('.', '𝙰𝙱𝙲𝙳𝙴𝙵𝙶𝙷𝙸𝙹𝙺𝙻𝙼𝙽𝙾𝙿𝚀𝚁𝚂𝚃𝚄𝚅𝚆𝚇𝚈𝚉', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "𝚤": [t: "L⠊"] # 0x1d6a4 (dotless i)
- - "𝚥": [t: "L⠚"] # 0x1d6a5 (dotless j)
- - "𝛂-𝛙": # 0x1d6c2 - 0x1d6d9
- - tc: "BGL"
- - spell: "translate('.', '𝛂𝛃𝛄𝛅𝛆𝛇𝛈𝛉𝛊𝛋𝛌𝛍𝛎𝛏𝛐𝛑𝛒𝛓𝛔𝛕𝛖𝛗𝛘𝛙', '𝛂𝛃𝛄𝛅𝛆𝛇𝛈𝛉𝛊𝛋𝛌𝛍𝛎𝛏𝛐𝛑𝛒𝛓𝛔𝛕𝛖𝛗𝛘𝛙')"
-
- - "𝚨-𝚿": # 0x1d6a8 - 0x1d6bf
- - tc: "BCGL"
- - spell: "translate('.', '𝚨𝚩𝚪𝚫𝚬𝚭𝚮𝚯𝚰𝚱𝚲𝚳𝚴𝚵𝚶𝚷𝚸𝚹𝚺𝚻𝚼𝚽𝚾𝚿', '𝚨𝚩𝚪𝚫𝚬𝚭𝚮𝚯𝚰𝚱𝚲𝚳𝚴𝚵𝚶𝚷𝚸𝚹𝚺𝚻𝚼𝚽𝚾𝚿')"
-
- - "𝛼-𝜓": # 0x1d6fc - 0x1d713
- - tc: "GL"
- - spell: "translate('.', '𝛼𝛽𝛾𝛿𝜀𝜁𝜂𝜃𝜄𝜅𝜆𝜇𝜈𝜉𝜊𝜋𝜌𝜍𝜎𝜏𝜐𝜑𝜒𝜓', '𝛼𝛽𝛾𝛿𝜀𝜁𝜂𝜃𝜄𝜅𝜆𝜇𝜈𝜉𝜊𝜋𝜌𝜍𝜎𝜏𝜐𝜑𝜒𝜓')"
-
- - "𝛢-𝛹": # 0x1d6e2 - 0x1d6f9
- - tc: "CGL"
- - spell: "translate('.', '𝛢𝛣𝛤𝛥𝛦𝛧𝛨𝛩𝛪𝛫𝛬𝛭𝛮𝛯𝛰𝛱𝛲𝛳𝛴𝛵𝛶𝛷𝛸𝛹', '𝛢𝛣𝛤𝛥𝛦𝛧𝛨𝛩𝛪𝛫𝛬𝛭𝛮𝛯𝛰𝛱𝛲𝛳𝛴𝛵𝛶𝛷𝛸𝛹')"
-
- - "𝜶-𝝍": # 0x1d736 - 0x1d74d
- - tc: "BGL"
- - spell: "translate('.', '𝜶𝜷𝜸𝜹𝜺𝜻𝜼𝜽𝜾𝜿𝝀𝝁𝝂𝝃𝝄𝝅𝝆𝝇𝝈𝝉𝝊𝝋𝝌𝝍', '𝜶𝜷𝜸𝜹𝜺𝜻𝜼𝜽𝜾𝜿𝝀𝝁𝝂𝝃𝝄𝝅𝝆𝝇𝝈𝝉𝝊𝝋𝝌𝝍')"
-
- - "𝜜-𝜳": # 0x1d71c - 0x1d733
- - tc: "BCGL"
- - spell: "translate('.', '𝜜𝜝𝜞𝜟𝜠𝜡𝜢𝜣𝜤𝜥𝜦𝜧𝜨𝜩𝜪𝜫𝜬𝜭𝜮𝜯𝜰𝜱𝜲𝜳', '𝜜𝜝𝜞𝜟𝜠𝜡𝜢𝜣𝜤𝜥𝜦𝜧𝜨𝜩𝜪𝜫𝜬𝜭𝜮𝜯𝜰𝜱𝜲𝜳')"
-
- - "𝝰-𝞇": # 0x1d770 - 0x1d787
- - tc: "BSGL"
- - spell: "translate('.', '𝝰𝝱𝝲𝝳𝝴𝝵𝝶𝝷𝝸𝝹𝝺𝝻𝝼𝝽𝝾𝝿𝞀𝞁𝞂𝞃𝞄𝞅𝞆𝞇', '𝝰𝝱𝝲𝝳𝝴𝝵𝝶𝝷𝝸𝝹𝝺𝝻𝝼𝝽𝝾𝝿𝞀𝞁𝞂𝞃𝞄𝞅𝞆𝞇')"
-
- - "𝝖-𝝭": # 0x1d756 - 0x1d76d
- - tc: "BSCGL"
- - spell: "translate('.', '𝝖𝝗𝝘𝝙𝝚𝝛𝝜𝝝𝝞𝝟𝝠𝝡𝝢𝝣𝝤𝝥𝝦𝝧𝝨𝝩𝝪𝝫𝝬𝝭', '𝝖𝝗𝝘𝝙𝝚𝝛𝝜𝝝𝝞𝝟𝝠𝝡𝝢𝝣𝝤𝝥𝝦𝝧𝝨𝝩𝝪𝝫𝝬𝝭')"
-
- - "𝞪-𝟁": # 0x1d7aa - 0x1d7c1
- - tc: "BSGL"
- - spell: "translate('.', '𝞪𝞫𝞬𝞭𝞮𝞯𝞰𝞱𝞲𝞳𝞴𝞵𝞶𝞷𝞸𝞹𝞺𝞻𝞼𝞽𝞾𝞿𝟀𝟁', '𝞪𝞫𝞬𝞭𝞮𝞯𝞰𝞱𝞲𝞳𝞴𝞵𝞶𝞷𝞸𝞹𝞺𝞻𝞼𝞽𝞾𝞿𝟀𝟁')"
-
- - "𝞐-𝞧": # 0x1d790 - 0x1d7a7
- - tc: "BSCGL"
- - spell: "translate('.', '𝞐𝞑𝞒𝞓𝞔𝞕𝞖𝞗𝞘𝞙𝞚𝞛𝞜𝞝𝞞𝞟𝞠𝞡𝞢𝞣𝞤𝞥𝞦𝞧', '𝞐𝞑𝞒𝞓𝞔𝞕𝞖𝞗𝞘𝞙𝞚𝞛𝞜𝞝𝞞𝞟𝞠𝞡𝞢𝞣𝞤𝞥𝞦𝞧')"
-
- - "𝟎-𝟗": # 0x1d7ce - 0x1d7d7
- - tc: "BN"
- - spell: "translate('.', '𝟎𝟏𝟐𝟑𝟒𝟓𝟔𝟕𝟖𝟗', '0123456789')"
-
- - "𝟘-𝟡": # 0x1d7d8 - 0x1d7e1
- - tc: "SBN"
- - spell: "translate('.', '𝟘𝟙𝟚𝟛𝟜𝟝𝟞𝟟𝟠𝟡', '0123456789')"
-
- - "𝟢-𝟫": # 0x1d7e2 - 0x1d7eb
- - tc: "SN"
- - spell: "translate('.', '𝟢𝟣𝟤𝟥𝟦𝟧𝟨𝟩𝟪𝟫', '0123456789')"
-
- - "𝟬-𝟵": # 0x1d7ec - 0x1d7f5
- - tc: "BSN"
- - spell: "translate('.', '𝟬𝟭𝟮𝟯𝟰𝟱𝟲𝟳𝟴𝟵', '0123456789')"
-
- - "𝟶-𝟿": # 0x1d7f6 - 0x1d7ff
- - tc: "N"
- - spell: "translate('.', '𝟶𝟷𝟸𝟹𝟺𝟻𝟼𝟽𝟾𝟿', '0123456789')"
-
- - "¼": [t: "#N⠁N⠲"] # 0x00BC (Vulgar Fraction One Quarter)
- - "½": [t: "#N⠁N⠆"] # 0x00BD (Vulgar Fraction One Half)
- - "¾": [t: "#N⠒N⠲"] # 0x00BE (Vulgar Fraction Three Quarters)
- - "⅐": [t: "#N⠁N⠶"] # 0x2150 (Vulgar Fraction One Seventh)
- - "⅑": [t: "#N⠁N⠔"] # 0x2151 (Vulgar Fraction One Ninth)
- - "⅒": [t: "#N⠁N⠂N⠴"] # 0x2152 (Vulgar Fraction One Tenth)
- - "⅓": [t: "#N⠁N⠒"] # 0x2153 (Vulgar Fraction One Third)
- - "⅔": [t: "#N⠃N⠒"] # 0x2154 (Vulgar Fraction Two Thirds)
- - "⅕": [t: "#N⠁N⠢"] # 0x2155 (Vulgar Fraction One Fifth)
- - "⅖": [t: "#N⠃N⠢"] # 0x2156 (Vulgar Fraction Two Fifths)
- - "⅗": [t: "#N⠒N⠢"] # 0x2157 (Vulgar Fraction Three Fifths)
- - "⅘": [t: "#N⠙N⠢"] # 0x2158 (Vulgar Fraction Four Fifths)
- - "⅙": [t: "#N⠁N⠖"] # 0x2159 (Vulgar Fraction One Sixth)
- - "⅚": [t: "#N⠢N⠖"] # 0x215A (Vulgar Fraction Five Sixths)
- - "⅛": [t: "#N⠁N⠦"] # 0x215B (Vulgar Fraction One Eighth)
- - "⅜": [t: "#N⠒N⠦"] # 0x215C (Vulgar Fraction Three Eighths)
- - "⅝": [t: "#N⠢N⠦"] # 0x215D (Vulgar Fraction Five Eighths)
- - "⅞": [t: "#N⠛N⠦"] # 0x215E (Vulgar Fraction Seven Eighths)
- - "↉": [t: "#N⠚N⠒"] # 0x2189 (Vulgar Fraction Zero Thirds)
-
- - "̊": [t: "⠈⠴"] # 0x030A (Ring)
- - "ˇ": [t: "⠰⠒"] # 0x02C7 (Caron)
- - "⌢": [T: "⠈⠒"] # 0x2322
- - "⌣": [T: "⠠⠒"] # 0x2323
- - "⏜": [T: "⠈⠒"] # 0x232DC
- - "⏝": [T: "⠠⠒"] # 0x23DD
-
- - "∟": [t: "⠸⠤"] # 0x221F (ángulo recto)
- - "⦜": [t: "⠸⠤"] # 0x299C (ángulo recto)
- - "⦝": [t: "⠸⠤"] # 0x299D (ángulo recto)
- - "⦨": [t: "⠨⠱"] # 0x29A8 (ángulo orientado positivo)
- - "⦩": [t: "⠨⠜"] # 0x29A9 (ángulo orientado negativo)
- - "ᴗ": [t: "⠢⠜"] # 0x1D17 (arco correspondiente al ángulo abc)
- - "⤻": [t: "⠠⠱"] # 0x293B (vector axial positivo)
- - "↷": [t: "⠈⠜"] # 0x21B7 (vector axial negativo)
-
- - "∾": [t: "⠰⠢⠆"] # 0x223E (homólogo a/semejante a)
- - "⌅": [t: "⠸⠫"] # 0x2305 (proyectividad)
- - "⌆": [t: "⠸⠻"] # 0x2306 (perspectividad)
+---
+ - "ⅆ": [t: "⠙"] # 0x2146
+ - "ⅇ": [t: "⠑"] # 0x2147
+ - "ⅈ": [t: "⠊"] # 0x2148
+ - "ℭ": [t: "⠸⠕"] # 0x212D (números de Cailey (octoniones))
+
+ - "𝐚-𝐳": # 0x1d41a - 0x1d433
+ - tc: "B"
+ - spell: "translate('.', '𝐚𝐛𝐜𝐝𝐞𝐟𝐠𝐡𝐢𝐣𝐤𝐥𝐦𝐧𝐨𝐩𝐪𝐫𝐬𝐭𝐮𝐯𝐰𝐱𝐲𝐳', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "𝐀-𝐙": # 0x1d400 - 0x1d419
+ - tc: "BC"
+ - spell: "translate('.', '𝐀𝐁𝐂𝐃𝐄𝐅𝐆𝐇𝐈𝐉𝐊𝐋𝐌𝐍𝐎𝐏𝐐𝐑𝐒𝐓𝐔𝐕𝐖𝐗𝐘𝐙', 'abcdefghijklmnopqrstuvwxyz')"
+
+# don't mark these as italic
+ - "𝑎-𝑧": # 0x1d44e - 0x1d467
+ - tc: ""
+ - spell: "translate('.', '𝑎𝑏𝑐𝑑𝑒𝑓𝑔𝑖𝑗𝑘𝑙𝑚𝑛𝑜𝑝𝑞𝑟𝑠𝑡𝑢𝑣𝑤𝑥𝑦𝑧', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "𝐴-𝑍": # 0x1d434 - 0x1d44d
+ - tc: "C"
+ - spell: "translate('.', '𝐴𝐵𝐶𝐷𝐸𝐹𝐺𝐻𝐼𝐽𝐾𝐿𝑀𝑁𝑂𝑃𝑄𝑅𝑆𝑇𝑈𝑉𝑊𝑋𝑌𝑍', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "𝒂-𝒛": # 0x1d482 - 0x1d49b
+ - tc: "B"
+ - spell: "translate('.', '𝒂𝒃𝒄𝒅𝒆𝒇𝒈𝒉𝒊𝒋𝒌𝒍𝒎𝒏𝒐𝒑𝒒𝒓𝒔𝒕𝒖𝒗𝒘𝒙𝒚𝒛', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "𝑨-𝒁": # 0x1d468 - 0x1d481
+ - tc: "BC"
+ - spell: "translate('.', '𝑨𝑩𝑪𝑫𝑬𝑭𝑮𝑯𝑰𝑱𝑲𝑳𝑴𝑵𝑶𝑷𝑸𝑹𝑺𝑻𝑼𝑽𝑾𝑿𝒀𝒁', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "𝒶-𝓏": # 0x1d4b6 - 0x1d4cf
+ - tc: "Ts"
+ - spell: "translate('.', '𝒶𝒷𝒸𝒹𝒻𝒽𝒾𝒿𝓀𝓁𝓂𝓃𝓅𝓆𝓇𝓈𝓉𝓊𝓋𝓌𝓍𝓎𝓏', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "𝒜-𝒵": # 0x1d49c - 0x1d4b5
+ - tc: "TsC"
+ - spell: "translate('.', '𝒜𝒞𝒟𝒢𝒥𝒦𝒩𝒪𝒫𝒬𝒮𝒯𝒰𝒱𝒲𝒳𝒴𝒵', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "ℊ": [t: "TL⠛⠁"] # 0x210a (Script Small G)
+ - "ℋ": [t: "TCL⠓⠁"] # 0x210b (Script Capital H)
+ - "ℒ": [t: "TCL⠇"] # 0x2113 (Script Capital L)
+ - "ℓ": [t: "TL⠇"] # 0x2113 (Script Small L)
+ - "℘": [t: "TCL⠏"] # 0x2118 (Script Capital P)
+ - "ℛ": [t: "TCL⠗"] # 0x211B (Script Capital R)
+ - "ℯ": [t: "TL⠑"] # 0x212F (Script Small E)
+ - "ℰ": [t: "TCL⠑"] # 0x2130 (Script Capital E)
+ - "ℱ": [t: "TCL⠋"] # 0x2131 (Script Capital F)
+ - "ℳ": [t: "TCL⠍"] # 0x2133 (Script Capital M)
+ - "ℴ": [t: "TL⠕"] # 0x21334 (Script Small O)
+ - "𝓪-𝔃": # 0x1d4ea - 0x1d503
+ - tc: "BTs"
+ - spell: "translate('.', '𝓪𝓫𝓬𝓭𝓮𝓯𝓰𝓱𝓲𝓳𝓴𝓵𝓶𝓷𝓸𝓹𝓺𝓻𝓼𝓽𝓾𝓿𝔀𝔁𝔂𝔃', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "𝓐-𝓩": # 0x1d4d0 - 0x1d4e9
+ - tc: "BTsC"
+ - spell: "translate('.', '𝓐𝓑𝓒𝓓𝓔𝓕𝓖𝓗𝓘𝓙𝓚𝓛𝓜𝓝𝓞𝓟𝓠𝓡𝓢𝓣𝓤𝓥𝓦𝓧𝓨𝓩', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "𝔞-𝔷": # 0x1d51e - 0x1d537
+ - tc: "D"
+ - spell: "translate('.', '𝔞𝔟𝔠𝔡𝔢𝔣𝔤𝔥𝔦𝔧𝔨𝔩𝔪𝔫𝔬𝔭𝔮𝔯𝔰𝔱𝔲𝔳𝔴𝔵𝔶𝔷', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "𝔄-": # 0x1d504 - 0x1d51d
+ - tc: "DC"
+ - spell: "translate('.', '𝔄𝔅𝔇𝔈𝔉𝔊𝔍𝔎𝔏𝔐𝔑𝔒𝔓𝔔𝔖𝔗𝔘𝔙𝔚𝔛𝔜', 'abcdefgjklmnopqstuvwxy')"
+
+ - "ℌ": [t: "DCL⠓"] # 0x210C (Fraktur Capital H)
+ - "ℑ": [t: "DCL⠊"] # 0x2111 (Fraktur Capital I)
+ - "ℜ": [t: "DCL⠗"] # 0x211C (Fraktur Capital R)
+ - "ℨ": [t: "DCL⠵"] # 0x2128 (Fraktur Capital Z)
+ - "𝕒-𝕫": # 0x1d552 - 0x1d56b
+ - tc: "𝔹"
+ - spell: "translate('.', '𝕒𝕓𝕔𝕕𝕖𝕗𝕘𝕙𝕚𝕛𝕜𝕝𝕞𝕟𝕠𝕡𝕢𝕣𝕤𝕥𝕦𝕧𝕨𝕩𝕪𝕫', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "𝔸-𝕐": # 0x1d538 - 0x1d550 (blackboard bold capitals, excluding special number sets)
+ - tc: "𝔹C"
+ - spell: "translate('.', '𝔸𝔹𝔻𝔼𝔽𝔾𝕀𝕁𝕂𝕃𝕄𝕆𝕊𝕋𝕌𝕍𝕎𝕏𝕐', 'abcdefghijklmnopqrst')"
+
+ - "ℂ": [t: "⠸⠉"] # 0x2102 (números complejos)
+ - "ℍ": [t: "⠸⠓"] # 0x210D (cuaterniones)
+ - "ℕ": [t: "⠸⠝"] # 0x2115 (números naturales)
+ - "ℙ": [t: "⠸⠏"] # 0x2119 (números primos)
+ - "ℚ": [t: "⠸⠟"] # 0x211A (números racionales)
+ - "ℝ": [t: "⠸⠗"] # 0x211D (números reales)
+ - "ℤ": [t: "⠸⠵"] # 0x2124 (números enteros)
+
+ - "𝖆-𝖟": # 0x1d586 - 0x1d59f
+ - tc: "BD"
+ - spell: "translate('.', '𝖆𝖇𝖈𝖉𝖊𝖋𝖌𝖍𝖎𝖏𝖐𝖑𝖒𝖓𝖔𝖕𝖖𝖗𝖘𝖙𝖚𝖛𝖜𝖝𝖞𝖟', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "𝕬-𝖅": # 0x1d56c - 0x1d585
+ - tc: "BDC"
+ - spell: "translate('.', '𝕬𝕭𝕮𝕯𝕰𝕱𝕲𝕳𝕴𝕵𝕶𝕷𝕸𝕹𝕺𝕻𝕼𝕽𝕾𝕿𝖀𝖁𝖂𝖃𝖄𝖅', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "𝖺-𝗓": # 0x1d5ba - 0x1d5d3
+ - tc: "S"
+ - spell: "translate('.', '𝖺𝖻𝖼𝖽𝖾𝖿𝗀𝗁𝗂𝗃𝗄𝗅𝗆𝗇𝗈𝗉𝗊𝗋𝗌𝗍𝗎𝗏𝗐𝗑𝗒𝗓', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "𝖠-𝖹": # 0x1d5a0 - 0x1d5b9
+ - tc: "SC"
+ - spell: "translate('.', '𝖠𝖡𝖢𝖣𝖤𝖥𝖦𝖧𝖨𝖩𝖪𝖫𝖬𝖭𝖮𝖯𝖰𝖱𝖲𝖳𝖴𝖵𝖶𝖷𝖸𝖹', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "𝗮-𝘇": # 0x1d5ee - 0x1d607
+ - tc: "BS"
+ - spell: "translate('.', '𝗮𝗯𝗰𝗱𝗲𝗳𝗴𝗵𝗶𝗷𝗸𝗹𝗺𝗻𝗼𝗽𝗾𝗿𝘀𝘁𝘂𝘃𝘄𝘅𝘆𝘇', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "𝗔-𝗭": # 0x1d5d4 - 0x1d5ed
+ - tc: "BSC"
+ - spell: "translate('.', '𝗔𝗕𝗖𝗗𝗘𝗙𝗚𝗛𝗜𝗝𝗞𝗟𝗠𝗡𝗢𝗣𝗤𝗥𝗦𝗧𝗨𝗩𝗪𝗫𝗬𝗭', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "𝘢-𝘻": # 0x1d622 - 0x1d63b
+ - tc: "S"
+ - spell: "translate('.', '𝘢𝘣𝘤𝘥𝘦𝘧𝘨𝘩𝘪𝘫𝘬𝘭𝘮𝘯𝘰𝘱𝘲𝘳𝘴𝘵𝘶𝘷𝘸𝘹𝘺𝘻', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "𝘈-𝘡": # 0x1d608 - 0x1d621
+ - tc: "SC"
+ - spell: "translate('.', '𝘈𝘉𝘊𝘋𝘌𝘍𝘎𝘏𝘐𝘑𝘒𝘓𝘔𝘕𝘖𝘗𝘘𝘙𝘚𝘛𝘜𝘝𝘞𝘟𝘠𝘡', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "𝙖-𝙯": # 0x1d656 - 0x1d66f
+ - tc: "BS"
+ - spell: "translate('.', '𝙖𝙗𝙘𝙙𝙚𝙛𝙜𝙝𝙞𝙟𝙠𝙡𝙢𝙣𝙤𝙥𝙦𝙧𝙨𝙩𝙪𝙫𝙬𝙭𝙮𝙯', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "𝘼-𝙕": # 0x1d63c - 0x1d655
+ - tc: "BSC"
+ - spell: "translate('.', '𝘼𝘽𝘾𝘿𝙀𝙁𝙂𝙃𝙄𝙅𝙆𝙇𝙈𝙉𝙊𝙋𝙌𝙍𝙎𝙏𝙐𝙑𝙒𝙓𝙔𝙕', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "𝚊-𝚣": # 0x1d68a - 0x1d6a3
+ - tc: ""
+ - spell: "translate('.', '𝚊𝚋𝚌𝚍𝚎𝚏𝚐𝚑𝚒𝚓𝚔𝚕𝚖𝚗𝚘𝚙𝚚𝚛𝚜𝚝𝚞𝚟𝚠𝚡𝚢𝚣', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "𝙰-𝚉": # 0x1d670 - 0x1d689
+ - tc: "C"
+ - spell: "translate('.', '𝙰𝙱𝙲𝙳𝙴𝙵𝙶𝙷𝙸𝙹𝙺𝙻𝙼𝙽𝙾𝙿𝚀𝚁𝚂𝚃𝚄𝚅𝚆𝚇𝚈𝚉', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "𝚤": [t: "L⠊"] # 0x1d6a4 (dotless i)
+ - "𝚥": [t: "L⠚"] # 0x1d6a5 (dotless j)
+ - "𝛂-𝛙": # 0x1d6c2 - 0x1d6d9
+ - tc: "BGL"
+ - spell: "translate('.', '𝛂𝛃𝛄𝛅𝛆𝛇𝛈𝛉𝛊𝛋𝛌𝛍𝛎𝛏𝛐𝛑𝛒𝛓𝛔𝛕𝛖𝛗𝛘𝛙', '𝛂𝛃𝛄𝛅𝛆𝛇𝛈𝛉𝛊𝛋𝛌𝛍𝛎𝛏𝛐𝛑𝛒𝛓𝛔𝛕𝛖𝛗𝛘𝛙')"
+
+ - "𝚨-𝚿": # 0x1d6a8 - 0x1d6bf
+ - tc: "BCGL"
+ - spell: "translate('.', '𝚨𝚩𝚪𝚫𝚬𝚭𝚮𝚯𝚰𝚱𝚲𝚳𝚴𝚵𝚶𝚷𝚸𝚹𝚺𝚻𝚼𝚽𝚾𝚿', '𝚨𝚩𝚪𝚫𝚬𝚭𝚮𝚯𝚰𝚱𝚲𝚳𝚴𝚵𝚶𝚷𝚸𝚹𝚺𝚻𝚼𝚽𝚾𝚿')"
+
+ - "𝛼-𝜓": # 0x1d6fc - 0x1d713
+ - tc: "GL"
+ - spell: "translate('.', '𝛼𝛽𝛾𝛿𝜀𝜁𝜂𝜃𝜄𝜅𝜆𝜇𝜈𝜉𝜊𝜋𝜌𝜍𝜎𝜏𝜐𝜑𝜒𝜓', '𝛼𝛽𝛾𝛿𝜀𝜁𝜂𝜃𝜄𝜅𝜆𝜇𝜈𝜉𝜊𝜋𝜌𝜍𝜎𝜏𝜐𝜑𝜒𝜓')"
+
+ - "𝛢-𝛹": # 0x1d6e2 - 0x1d6f9
+ - tc: "CGL"
+ - spell: "translate('.', '𝛢𝛣𝛤𝛥𝛦𝛧𝛨𝛩𝛪𝛫𝛬𝛭𝛮𝛯𝛰𝛱𝛲𝛳𝛴𝛵𝛶𝛷𝛸𝛹', '𝛢𝛣𝛤𝛥𝛦𝛧𝛨𝛩𝛪𝛫𝛬𝛭𝛮𝛯𝛰𝛱𝛲𝛳𝛴𝛵𝛶𝛷𝛸𝛹')"
+
+ - "𝜶-𝝍": # 0x1d736 - 0x1d74d
+ - tc: "BGL"
+ - spell: "translate('.', '𝜶𝜷𝜸𝜹𝜺𝜻𝜼𝜽𝜾𝜿𝝀𝝁𝝂𝝃𝝄𝝅𝝆𝝇𝝈𝝉𝝊𝝋𝝌𝝍', '𝜶𝜷𝜸𝜹𝜺𝜻𝜼𝜽𝜾𝜿𝝀𝝁𝝂𝝃𝝄𝝅𝝆𝝇𝝈𝝉𝝊𝝋𝝌𝝍')"
+
+ - "𝜜-𝜳": # 0x1d71c - 0x1d733
+ - tc: "BCGL"
+ - spell: "translate('.', '𝜜𝜝𝜞𝜟𝜠𝜡𝜢𝜣𝜤𝜥𝜦𝜧𝜨𝜩𝜪𝜫𝜬𝜭𝜮𝜯𝜰𝜱𝜲𝜳', '𝜜𝜝𝜞𝜟𝜠𝜡𝜢𝜣𝜤𝜥𝜦𝜧𝜨𝜩𝜪𝜫𝜬𝜭𝜮𝜯𝜰𝜱𝜲𝜳')"
+
+ - "𝝰-𝞇": # 0x1d770 - 0x1d787
+ - tc: "BSGL"
+ - spell: "translate('.', '𝝰𝝱𝝲𝝳𝝴𝝵𝝶𝝷𝝸𝝹𝝺𝝻𝝼𝝽𝝾𝝿𝞀𝞁𝞂𝞃𝞄𝞅𝞆𝞇', '𝝰𝝱𝝲𝝳𝝴𝝵𝝶𝝷𝝸𝝹𝝺𝝻𝝼𝝽𝝾𝝿𝞀𝞁𝞂𝞃𝞄𝞅𝞆𝞇')"
+
+ - "𝝖-𝝭": # 0x1d756 - 0x1d76d
+ - tc: "BSCGL"
+ - spell: "translate('.', '𝝖𝝗𝝘𝝙𝝚𝝛𝝜𝝝𝝞𝝟𝝠𝝡𝝢𝝣𝝤𝝥𝝦𝝧𝝨𝝩𝝪𝝫𝝬𝝭', '𝝖𝝗𝝘𝝙𝝚𝝛𝝜𝝝𝝞𝝟𝝠𝝡𝝢𝝣𝝤𝝥𝝦𝝧𝝨𝝩𝝪𝝫𝝬𝝭')"
+
+ - "𝞪-𝟁": # 0x1d7aa - 0x1d7c1
+ - tc: "BSGL"
+ - spell: "translate('.', '𝞪𝞫𝞬𝞭𝞮𝞯𝞰𝞱𝞲𝞳𝞴𝞵𝞶𝞷𝞸𝞹𝞺𝞻𝞼𝞽𝞾𝞿𝟀𝟁', '𝞪𝞫𝞬𝞭𝞮𝞯𝞰𝞱𝞲𝞳𝞴𝞵𝞶𝞷𝞸𝞹𝞺𝞻𝞼𝞽𝞾𝞿𝟀𝟁')"
+
+ - "𝞐-𝞧": # 0x1d790 - 0x1d7a7
+ - tc: "BSCGL"
+ - spell: "translate('.', '𝞐𝞑𝞒𝞓𝞔𝞕𝞖𝞗𝞘𝞙𝞚𝞛𝞜𝞝𝞞𝞟𝞠𝞡𝞢𝞣𝞤𝞥𝞦𝞧', '𝞐𝞑𝞒𝞓𝞔𝞕𝞖𝞗𝞘𝞙𝞚𝞛𝞜𝞝𝞞𝞟𝞠𝞡𝞢𝞣𝞤𝞥𝞦𝞧')"
+
+ - "𝟎-𝟗": # 0x1d7ce - 0x1d7d7
+ - tc: "BN"
+ - spell: "translate('.', '𝟎𝟏𝟐𝟑𝟒𝟓𝟔𝟕𝟖𝟗', '0123456789')"
+
+ - "𝟘-𝟡": # 0x1d7d8 - 0x1d7e1
+ - tc: "SBN"
+ - spell: "translate('.', '𝟘𝟙𝟚𝟛𝟜𝟝𝟞𝟟𝟠𝟡', '0123456789')"
+
+ - "𝟢-𝟫": # 0x1d7e2 - 0x1d7eb
+ - tc: "SN"
+ - spell: "translate('.', '𝟢𝟣𝟤𝟥𝟦𝟧𝟨𝟩𝟪𝟫', '0123456789')"
+
+ - "𝟬-𝟵": # 0x1d7ec - 0x1d7f5
+ - tc: "BSN"
+ - spell: "translate('.', '𝟬𝟭𝟮𝟯𝟰𝟱𝟲𝟳𝟴𝟵', '0123456789')"
+
+ - "𝟶-𝟿": # 0x1d7f6 - 0x1d7ff
+ - tc: "N"
+ - spell: "translate('.', '𝟶𝟷𝟸𝟹𝟺𝟻𝟼𝟽𝟾𝟿', '0123456789')"
+
+ - "¼": [t: "#N⠁N⠲"] # 0x00BC (Vulgar Fraction One Quarter)
+ - "½": [t: "#N⠁N⠆"] # 0x00BD (Vulgar Fraction One Half)
+ - "¾": [t: "#N⠒N⠲"] # 0x00BE (Vulgar Fraction Three Quarters)
+ - "⅐": [t: "#N⠁N⠶"] # 0x2150 (Vulgar Fraction One Seventh)
+ - "⅑": [t: "#N⠁N⠔"] # 0x2151 (Vulgar Fraction One Ninth)
+ - "⅒": [t: "#N⠁N⠂N⠴"] # 0x2152 (Vulgar Fraction One Tenth)
+ - "⅓": [t: "#N⠁N⠒"] # 0x2153 (Vulgar Fraction One Third)
+ - "⅔": [t: "#N⠃N⠒"] # 0x2154 (Vulgar Fraction Two Thirds)
+ - "⅕": [t: "#N⠁N⠢"] # 0x2155 (Vulgar Fraction One Fifth)
+ - "⅖": [t: "#N⠃N⠢"] # 0x2156 (Vulgar Fraction Two Fifths)
+ - "⅗": [t: "#N⠒N⠢"] # 0x2157 (Vulgar Fraction Three Fifths)
+ - "⅘": [t: "#N⠙N⠢"] # 0x2158 (Vulgar Fraction Four Fifths)
+ - "⅙": [t: "#N⠁N⠖"] # 0x2159 (Vulgar Fraction One Sixth)
+ - "⅚": [t: "#N⠢N⠖"] # 0x215A (Vulgar Fraction Five Sixths)
+ - "⅛": [t: "#N⠁N⠦"] # 0x215B (Vulgar Fraction One Eighth)
+ - "⅜": [t: "#N⠒N⠦"] # 0x215C (Vulgar Fraction Three Eighths)
+ - "⅝": [t: "#N⠢N⠦"] # 0x215D (Vulgar Fraction Five Eighths)
+ - "⅞": [t: "#N⠛N⠦"] # 0x215E (Vulgar Fraction Seven Eighths)
+ - "↉": [t: "#N⠚N⠒"] # 0x2189 (Vulgar Fraction Zero Thirds)
+
+ - "̊": [t: "⠈⠴"] # 0x030A (Ring)
+ - "ˇ": [t: "⠰⠒"] # 0x02C7 (Caron)
+ - "⌢": [T: "⠈⠒"] # 0x2322
+ - "⌣": [T: "⠠⠒"] # 0x2323
+ - "⏜": [T: "⠈⠒"] # 0x232DC
+ - "⏝": [T: "⠠⠒"] # 0x23DD
+
+ - "∟": [t: "⠸⠤"] # 0x221F (ángulo recto)
+ - "⦜": [t: "⠸⠤"] # 0x299C (ángulo recto)
+ - "⦝": [t: "⠸⠤"] # 0x299D (ángulo recto)
+ - "⦨": [t: "⠨⠱"] # 0x29A8 (ángulo orientado positivo)
+ - "⦩": [t: "⠨⠜"] # 0x29A9 (ángulo orientado negativo)
+ - "ᴗ": [t: "⠢⠜"] # 0x1D17 (arco correspondiente al ángulo abc)
+ - "⤻": [t: "⠠⠱"] # 0x293B (vector axial positivo)
+ - "↷": [t: "⠈⠜"] # 0x21B7 (vector axial negativo)
+
+ - "∾": [t: "⠰⠢⠆"] # 0x223E (homólogo a/semejante a)
+ - "⌅": [t: "⠸⠫"] # 0x2305 (proyectividad)
+ - "⌆": [t: "⠸⠻"] # 0x2306 (perspectividad)
diff --git a/Rules/Braille/CMU/unicode.yaml b/Rules/Braille/CMU/unicode.yaml
index fa027b0b6..b37edce03 100644
--- a/Rules/Braille/CMU/unicode.yaml
+++ b/Rules/Braille/CMU/unicode.yaml
@@ -1,698 +1,698 @@
----
-# UEB characters
-#
-# Some chars that originally came from an Excel spreadsheet, converted to csv, and the greatly expanded
-#
-# The UEB translation makes use of some non-braille chars as flags
-# L -- what follows is a letter
-# N -- what follows is a digit
-# C -- precedes L for capital letters
-# G -- precedes L for Greek Letters (after C for capitals)
-# Typeface Indicators ("typeforms")
-# B bold, I Italic, S Sans-serif, T script, D, Fraktur, 𝔹 blackboard-bold
-# the type face indicators can be combined with B (first) and I (second)
-# Standing alone chars:
-# Any character which acts as a standing alone character (e.g, "{") needs each braille symbol to be labeled
-# o -- opening/left side, c -- closing/right side, b -- both open and close (e.g, '"')
-
- - "0": [t: "N⠚"] # 0x30
- - "1": [t: "N⠁"] # 0x31
- - "2": [t: "N⠃"] # 0x32
- - "3": [t: "N⠉"] # 0x33
- - "4": [t: "N⠙"] # 0x34
- - "5": [t: "N⠑"] # 0x35
- - "6": [t: "N⠋"] # 0x36
- - "7": [t: "N⠛"] # 0x37
- - "8": [t: "N⠓"] # 0x38
- - "9": [t: "N⠊"] # 0x39
-
-# we stick the drop numbers into the private use area for consistency
- - "\ue000": [t: "N⠴"] # 0
- - "\ue001": [t: "N⠂"] # 1
- - "\ue002": [t: "N⠆"] # 2
- - "\ue003": [t: "N⠒"] # 3
- - "\ue004": [t: "N⠲"] # 4
- - "\ue005": [t: "N⠢"] # 5
- - "\ue006": [t: "N⠖"] # 6
- - "\ue007": [t: "N⠶"] # 7
- - "\ue008": [t: "N⠦"] # 8
- - "\ue009": [t: "N⠔"] # 9
-
-# we stick hex digits into the private use area for consistency
-# these are used when we don't want to add a numeric indicator for subsequent digits (3.3)
- - "\ue00A": [t: "N⠐N⠁"] # A
- - "\ue00B": [t: "N⠐N⠃"] # B
- - "\ue00C": [t: "N⠐N⠉"] # C
- - "\ue00D": [t: "N⠐N⠙"] # D
- - "\ue00E": [t: "N⠐N⠑"] # E
- - "\ue00F": [t: "N⠐N⠋"] # F
-
-# leave room for the rest of the alphabet
- - "\ue01A": [t: "N⠨N⠁"] # A
- - "\ue01B": [t: "N⠨N⠃"] # B
- - "\ue01C": [t: "N⠨N⠉"] # C
- - "\ue01D": [t: "N⠨N⠙"] # D
- - "\ue01E": [t: "N⠨N⠑"] # E
- - "\ue01F": [t: "N⠨N⠋"] # F
-
-# Omission char -- there isn't a specific code point, so we use a private use area
- - "\ue020": [t: "⠰"] # omission (three dot 5s with letter indicator)
-
-
- - "a": [t: "L⠁"] # 0x61
- - "b": [t: "L⠃"] # 0x62
- - "c": [t: "L⠉"] # 0x63
- - "d": [t: "L⠙"] # 0x64
- - "e": [t: "L⠑"] # 0x65
- - "f": [t: "L⠋"] # 0x66
- - "g": [t: "L⠛"] # 0x67
- - "h": [t: "L⠓"] # 0x68
- - "i": [t: "L⠊"] # 0x69
- - "j": [t: "L⠚"] # 0x6a
- - "k": [t: "L⠅"] # 0x6b
- - "l": [t: "L⠇"] # 0x6c
- - "m": [t: "L⠍"] # 0x6d
- - "n": [t: "L⠝"] # 0x6e
- - "o": # 0x6f
- - test: # special case because these have the same dot pattern
- if: "preceding-sibling::*[1][self::m:mo and (.='>' or .='≫')]"
- then: [t: "⠐"]
- - t: "L⠕"
- - "p": [t: "L⠏"] # 0x70
- - "q": [t: "L⠟"] # 0x71
- - "r": [t: "L⠗"] # 0x72
- - "s": [t: "L⠎"] # 0x73
- - "t": [t: "L⠞"] # 0x74
- - "u": [t: "L⠥"] # 0x75
- - "v": [t: "L⠧"] # 0x76
- - "w": [t: "L⠺"] # 0x77
- - "x": [t: "L⠭"] # 0x78
- - "y": [t: "L⠽"] # 0x79
- - "z": [t: "L⠵"] # 0x7a
-
-
- - "á": [t: "L⠷"] # 0xE1
- - "é": [t: "L⠮"] # 0xE9
- - "í": [t: "L⠌"] # 0xED
- - "ñ": [t: "L⠻"] # 0xF1
- - "ó": [t: "L⠬"] # 0xF3
- - "ú": [t: "L⠾"] # 0xFA
- - "ü": [t: "L⠳"] # 0xFC
-
- - "Á": [t: "CL⠷"] # 0xC0
- - "É": [t: "CL⠮"] # 0xC9
- - "Í": [t: "CL⠌"] # 0xCD
- - "Ñ": [t: "CL⠻"] # 0xD1
- - "Ó": [t: "CL⠬"] # 0xD3
- - "Û": [t: "CL⠾"] # 0xDA
- - "Ü": [t: "CL⠳"] # 0xDC
-
- # Latin capitals: chem-element letters use 𝐶 (no word indicator); others use C.
- # Cells come from lowercase a-z via spell/translate.
- - "BCHIKNOPSUVWY": # chemistry-capable capitals
- - test:
- if: "@data-chem-element"
- then: [tc: "𝐶"]
- else: [tc: "C"]
- - spell: "translate('.', 'BCHIKNOPSUVWY', 'bchiknopsuvwy')"
- - "ADEFGJLMQRTXZ": # remaining capitals
- - tc: "C"
- - spell: "translate('.', 'ADEFGJLMQRTXZ', 'adefgjlmqrtxz')"
-
- - "α": [t: "GL⠁"] # 0x3b1
- - "β": [t: "GL⠃"] # 0x3b2
- - "γ": [t: "GL⠛"] # 0x3b3
- - "δ": [t: "GL⠙"] # 0x3b4
- - "ε": [t: "GL⠑"] # 0x3b5
- - "ζ": [t: "GL⠵"] # 0x3b6
- - "η": [t: "GL⠱"] # 0x3b7
- - "θ": [t: "GL⠹"] # 0x3b8
- - "ι": [t: "GL⠊"] # 0x3b9
- - "κ": [t: "GL⠅"] # 0x3ba
- - "λ": [t: "GL⠇"] # 0x3bb
- - "μ": [t: "GL⠍"] # 0x3bc
- - "ν": [t: "GL⠝"] # 0x3bd
- - "ξ": [t: "GL⠭"] # 0x3be
- - "ο": [t: "GL⠕"] # 0x3bf
- - "π": [t: "GL⠏"] # 0x3c0
- - "ρ": [t: "GL⠗"] # 0x3c1
- - "ς": [t: "VL⠎"] # 0x3c2
- - "σ": [t: "GL⠎"] # 0x3c3
- - "τ": [t: "GL⠞"] # 0x3c4
- - "υ": [t: "GL⠥"] # 0x3c5
- - "φ": [t: "GL⠋"] # 0x3c6
- - "χ": [t: "GL⠯"] # 0x3c7
- - "ψ": [t: "GL⠽"] # 0x3c8
- - "ω": [t: "GL⠺"] # 0x3c9
-
- - "Α": [t: "CGL⠁"] # 0x391
- - "Β": [t: "CGL⠃"] # 0x392
- - "Γ": [t: "CGL⠛"] # 0x393
- - "Δ": [t: "CGL⠙"] # 0x394
- - "Ε": [t: "CGL⠑"] # 0x395
- - "Ζ": [t: "CGL⠵"] # 0x396
- - "Η": [t: "CGL⠱ "] # 0x397
- - "Θ": [t: "CGL⠹"] # 0x398
- - "Ι": [t: "CGL⠊"] # 0x399
- - "Κ": [t: "CGL⠅"] # 0x39a
- - "Λ": [t: "CGL⠇"] # 0x39b
- - "Μ": [t: "CGL⠍"] # 0x39c
- - "Ν": [t: "CGL⠝"] # 0x39d
- - "Ξ": [t: "CGL⠭"] # 0x39e
- - "Ο": [t: "CGL⠕"] # 0x39f
- - "Π": [t: "CGL⠏"] # 0x3a0
- - "Ρ": [t: "CGL⠗"] # 0x3a1
- - "": [t: "CGL⠎"] # 0x3a2
- - "Σ": [t: "CGL⠎"] # 0x3a3
- - "Τ": [t: "CGL⠞"] # 0x3a4
- - "Υ": [t: "CGL⠥"] # 0x3a5
- - "Φ": [t: "CGL⠋"] # 0x3a6
- - "Χ": [t: "CGL⠯"] # 0x3a7
- - "Ψ": [t: "CGL⠽"] # 0x3a8
- - "Ω": [t: "CGL⠺"] # 0x3a9
-
- - "ϑ": [t: "VL⠹"] # 0x3d1
- - "ϵ": [t: "VL⠑"] # 0x3f5
- - "ϰ": [t: "VL⠅"] # 0x3f0
- - "ϕ": [t: "VL⠋"] # 0x3d5
- - "ϱ": [t: "VL⠗"] # 0x3f1
- - "ϖ": [t: "VL⠏"] # 0x3d6
- - "Ϝ": [t: "VL⠧"] # 0x3d7
-
- - "µ": [t: "GL⠍"] # 0x00B5 (Micro (Greek mu))
- - "Ω": [t: "CGL⠺"] # 0x2126 (Ohm sign (capital Greek omega))
- - "∆": [t: "⠸⠦"] # 0x2206 (Increment)
- - "∏": # 0x220F (Product (capital Greek pi))
- - t: "CGL⠏"
- - test:
- if: "not(IsNode(.., 'modified'))"
- then: [t: "⠱"]
- - "∐": # 0x2210 (CoProduct (capital Greek pi))
- - t: "⠘⠻"
- - test:
- if: "not(IsNode(.., 'modified'))"
- then: [t: "⠱"]
- - "∑": # 0x2211 (Sum (capital Greek sigma))
- - t: "CGL⠎"
- - test:
- if: "not(IsNode(.., 'modified'))"
- then: [t: "⠱"]
-
- - "<": [t: "⠪"] # 0x003C (Less than)
- - "≨": [t: "⠪"] # 0x2268 (Less-Than But Not Equal To)
- - "⋦": [t: "⠪"] # 0x22E6 (Less-Than But Not Equivalent To)
- - ">": [t: "⠕"] # 0x003E (Greater than)
- - "≩": [t: "⠕"] # 0x2269 (Greater-Than But Not Equal To)
- - "⋧": [t: "⠕"] # 0x22E7 (Greater-Than But Not Equivalent To)
-# - "≮": [t: "⠈⠣⠈⠱"] # 0x226E (Not less than)
-# - "≯": [t: "⠈⠜⠈⠱"] # 0x226F (Not greater than)
-# - "≰": [t: "⠸⠈⠣⠈⠱"] # 0x2270 (Neither less than nor equal to)
-# - "≱": [t: "⠸⠈⠜⠈⠱"] # 0x2271 (Neither greater than nor equal to)
-# - "∝": [t: "⠸⠐⠶"] # 0x221D (Proportional to)
-# - "≃": [t: "⠸⠔"] # 0x2243 (Approximately equal to (tilde over horizontal line))
-# - "≅": [t: "⠐⠸⠔"] # 0x2245 (Approximately equal to (tilde over equals sign))
-# - "≏": [t: "⠘⠐⠶"] # 0x224F (Equals with bump in top bar (difference between))
-# - "≢": [t: "⠸⠿⠈⠱"] # 0x2262 (Not identical to)
-# - "∈": [t: "⠘⠑"] # 0x2208 (Element of (member of))
-# - "∉": [t: "⠘⠑⠈⠱"] # 0x2209 (Not Element of)
- - "+": [t: "⠖"] # 0x002B (Plus sign)
-# - "∋": [t: "⠈⠘⠑"] # 0x220B (Contains)
-# - "⊂": [t: "⠘⠣"] # 0x2282 (Subset of)
-# - "⊃": [t: "⠘⠜"] # 0x2283 (Superset of)
-# - "⊆": [t: "⠸⠘⠣"] # 0x2286 (Subset of or equal)
-# - "⊇": [t: "⠸⠘⠜"] # 0x2287 (Superset of or equal)
-# - "⊊": [t: "⠨⠘⠣"] # 0x228A (Subset of with not equal)
-# - "⊋": [t: "⠨⠘⠜"] # 0x228B (Superset of with not equal)
-# - "⊲": [t: "⠈⠸⠣"] # 0x22B2 (Normal subgroup of)
-# - "⊳": [t: "⠈⠸⠜"] # 0x22B3 (Contains as normal subgroup)
-# - "⊴": [t: "⠸⠸⠣"] # 0x22B4 (Normal subgroup of or equal)
-# - "⊵": [t: "⠸⠸⠜"] # 0x22B5 (Contains as normal subgroup or equal)
-# - "⋬": [t: "⠨⠸⠣"] # 0x22EC (not normal subgroup) -- this isn't the same as what is in GTM 10, but that similar has no Unicode equiv
-# - "⋭": [t: "⠨⠸⠣"] # 0x22ED (does not contain as normal subgroup) -- this isn't the same as what is in GTM 10, but that similar has no Unicode equiv
-# - "⊢": [t: "⠸⠒"] # 0x22a2 (Right tack)
-# - "⊣": [t: "⠈⠸⠒"] # 0x22a3 (Left tack)
- - "−": [t: "⠐⠤"] # 0x2212 (Minus sign)
- - "·": [t: "⠠𝘄"] # 0x00B7 (Multiplication dot (times))
-# - "∗": [t: "⠐⠔"] # 0x2217 (Asterisk operator)
- - "∘": [t: "⠠⠆"] # 0x2218 (Ring operator) value based on last row in 5.1 (probably what they should have used)
- - "◦": [t: "⠠⠆"] # 0x25E6 (White bullet) (value based on 2218)
- - "⋅": [t: "⠰⠄"] # 0x22C5 (Dot operator)(value based on 2218)
-# - "∖": [t: "⠸⠡"] # 0x2216 (Set minus)
- - "(": [t: "⠣"] # 0x0028 (Left parenthesis)
- - ")": [t: "⠜"] # 0x0029 (Right parenthesis)
- - "[": [t: "⠷"] # 0x005B (Left square bracket)
- - "]": [t: "⠾"] # 0x005D (Right square bracket)
- - "!": # 0x21 (Exclamation (factorial))
- - test: # CMU seems to use a different char for factorial (7.5) -- this weak guess for factorial
- if: "self::m:mo and preceding-sibling::*"
- then: [t: "⠘⠄"]
- else: [t: "⠖"]
- - "&": [t: "⠠⠯"] # 0x26 (Ampersand)
- - "*": [t: "⠲"] # 0x002A (Asterisk)
- - "?": [t: "⠢"] # 0x003F (Question mark)
- - "¿": [t: "⠢"] # 0x00BF (Question mark)
- - "@": [t: "⠐"] # 0x0040 (Commercial at sign)
- - "^": # 0x005E (Caret (hat, up arrow)) 4.3.2 uses one form as a circumflex, and 11.1 as a geometric angle
- - test: # it is not clear how to distinguish one form from another -- the following passes the tests, but is almost certainly wrong
- - if: "..[self::m:mover][ *[1][self::m:mi and string-length(.)=1 and translate(., 'abcdefghijklmnopqrstuvwxyz', '') = ''] ]"
- then: [t: "⠰⠒"] # circumflex
- else: [t: "⠘⠒"] # angle and everything else
- - "_": [t: "⠤"] # 0x005F (Low line (underscore))
- - "¯": [t: "⠈⠉"] # 0x00AF (macron)
- - "═": [t: "⠈⠉⠈⠉"] # 0x2550 (BOX DRAWINGS DOUBLE HORIZONTAL)
- - "~": # 0x007E (Tilde (swung dash))
- - test: # unclear what really should happen see 4.3.2, 4.3.3, 6.1, and 8.2 -- all use different codes
- - if: "..[self::m:mover]"
- then: [t: "⠐⠢"]
- - else_if: "..[self::m:munder]"
- then: [t: "⠠⠢"]
- - else_if: "not(preceding-sibling::*)"
- then: [t: "⠠⠄"] # (8.2 -- prefix?)
- else: [t: "⠐⠢⠠"] # (6.1 -- infix?)
- - ∼: # 223c (Tilde operator)
- - test: # unclear what really should happen see 4.3.2, 4.3.3, 6.1, and 8.2 -- all use different codes
- - if: "..[self::m:mover]"
- then: [t: "⠐⠢"]
- - else_if: "..[self::m:munder]"
- then: [t: "⠠⠢"]
- - else_if: "not(preceding-sibling::*)"
- then: [t: "⠠⠄"] # (8.2 -- prefix?)
- else: [t: "⠐⠢⠠"] # (6.1 -- infix?)
- - "—": [t: "⠤⠤"] # 0x2014 (Em dash)
- - "‖": [t: "⠸⠇"] # 0x2016
-# - "¦": [t: "⠨⠳"] # 0x00A6 (Broken bar)
-# - "¬": [t: "⠈⠹"] # 0x00AC (Not sign)
- - "°": [t: "⠴"] # 0x00B0 (Degree sign)
- - "²": [t: "⠡⠼⠃⠉"] # 0x00B2 (superscripted 2)
- - "³": [t: "⠡⠼⠉"] # 0x00B3 (superscripted 3)
-# - "†": [t: "⠈⠠⠹"] # 0x2020 (Dagger)
-# - "‡": [t: "⠈⠠⠻"] # 0x2021 (Double dagger)
-# - "‰": [t: "⠸⠴⠴"] # 0x2030 (Per mille)
- - "′": [t: "⠳"] # 0x2032 (Prime sign)
- - "″": [t: "⠳⠳"] # 0x2033 (Double prime sign)
- - "‴": [t: "⠳⠳⠳"] # 0x2034 (Triple prime sign)
-# - "Å": [t: "⠠⠘⠫⠁"] # 0x212B (Angstrom symbol)
-# - "Å": [t: "⠠⠘⠫⠁"] # 0x00C5 (WIRIS uses this for Angstrom)
-# - "∀": [t: "⠘⠁"] # 0x2200 (For all)
- - "∂": [t: "⠸⠙"] # 0x2202 (Partial differential)
-# - "∃": [t: "⠘⠢"] # 0x2203 (There exists)
-# - "∄": [t: "⠘⠢⠈⠱"] # 0x2204 (There does not exist)
-# - "∅": [t: "⠈⠚"] # 0x2205 (Empty set)
-# - "∎": [t: "⠸⠫⠼⠙t"] # 0x220E (End of proof)
-# - "√": [t: "⠐⠩"] # 0x221A (Square root (radical) without vinculum)
-# - "∠": [t: "⠸⠪"] # 0x2220 (Angle)
-# - "∡": [t: "⠨⠸⠪"] # 0x2221 (Measured angle)
-# - "⊾": [t: "⠼⠸⠪"] # 0x22BE (Right angle with arc)
- - "∫": # 0x222B (Integral)
- - t: "⠯"
- - test:
- if: "not(IsNode(.., 'modified'))"
- then: [t: "⠱"]
- - "∬": # 0x222c (Double integral)
- - t: "⠯⠯"
- - test:
- if: "not(IsNode(.., 'modified'))"
- then: [t: "⠱"]
- - "∭": # 0x222d (Triple integral)
- - t: "⠯⠯⠯"
- - test:
- if: "not(IsNode(.., 'modified'))"
- then: [t: "⠱"]
- - "∮": # 0x222E (Contour integral (closed line integral))
- - t: "⠯⠴"
- - test:
- if: "not(IsNode(.., 'modified'))"
- then: [t: "⠱"]
-# - "∷": [t: "⠒⠒"] # 0x2237 (Proportion)
-# - "∣": [t: "⠸⠳"] # 0x2223 (Divides)
-# - "∤": [t: "⠸⠳⠈⠱"] # 0x2224 (Does not divide)
- - "←": # 0x2190 (Leftwards arrow)
- - test: # this is a guess as to when to use each
- if: # mi on either side or if parent is mover, mi on either side of the parent (e.g., A⟶B or labeled arrow)
- - "(..[self::m:mrow] and preceding-sibling::*[1][self::m:mi] and following-sibling::*[1][self::m:mi]) or "
- - "(..[self::m:mover][ ..[self::m:mrow][preceding-sibling::*[1][self::m:mi] and following-sibling::*[1][self::m:mi]] ])"
- then: [t: "⠐⠒⠒"] # 9.1
- else: [t: "⠐⠒"] # 9.2
- - "⟵": # 0x27F5 (Long leftwards arrow)
- - test: # this is a guess as to when to use each
- if: # mi on either side or if parent is mover, mi on either side of the parent (e.g., A⟶B or labeled arrow)
- - "(..[self::m:mrow] and preceding-sibling::*[1][self::m:mi] and following-sibling::*[1][self::m:mi]) or "
- - "(..[self::m:mover][ ..[self::m:mrow][preceding-sibling::*[1][self::m:mi] and following-sibling::*[1][self::m:mi]] ])"
- then: [t: "⠐⠒⠒"] # 9.1
- else: [t: "⠐⠒"] # 9.2
- - "→": # 0x2192 (Rightwards arrow)
- - test: # this is a guess as to when to use each
- if: # mi on either side or if parent is mover, mi on either side of the parent (e.g., A⟶B or labeled arrow), but rule out limit
- - "("
- - " (..[self::m:mrow] and preceding-sibling::*[1][self::m:mi] and following-sibling::*[1][self::m:mi]) or "
- - " (..[self::m:mover][ ..[self::m:mrow][preceding-sibling::*[1][self::m:mi] and following-sibling::*[1][self::m:mi]] ])"
- - ") and"
- - "not(../..[self::m:munder or self::m:msub][*[1][self::m:mi and starts-with(., 'lim')]])"
- then: [t: "⠒⠒⠂"] # 9.1
- else: [t: "⠒⠂"] # 9.2
- - "⟶": # 0x27F6 (Long rightwards arrow)
- - test: # this is a guess as to when to use each
- if: # mi on either side or if parent is mover, mi on either side of the parent (e.g., A⟶B or labeled arrow), but rule out limit
- - "("
- - " (..[self::m:mrow] and preceding-sibling::*[1][self::m:mi] and following-sibling::*[1][self::m:mi]) or "
- - " (..[self::m:mover][ ..[self::m:mrow][preceding-sibling::*[1][self::m:mi] and following-sibling::*[1][self::m:mi]] ])"
- - ") and"
- - "not(../..[self::m:munder or self::m:msub][*[1][self::m:mi and starts-with(., 'lim')]])"
- then: [t: "⠒⠒⠂"] # 9.1
- else: [t: "⠒⠂"] # 9.2
- - "⇀": # 0x21C0 (RIGHTWARDS HARPOON WITH BARB UPWARDS) [not mentioned in spec]
- - test: # this is a guess as to when to use each
- if: # mi on either side or if parent is mover, mi on either side of the parent (e.g., A⟶B or labeled arrow), but rule out limit
- - "("
- - " (..[self::m:mrow] and preceding-sibling::*[1][self::m:mi] and following-sibling::*[1][self::m:mi]) or "
- - " (..[self::m:mover][ ..[self::m:mrow][preceding-sibling::*[1][self::m:mi] and following-sibling::*[1][self::m:mi]] ])"
- - ") and"
- - "not(../..[self::m:munder or self::m:msub][*[1][self::m:mi and starts-with(., 'lim')]])"
- then: [t: "⠒⠒⠂"] # 9.1
- else: [t: "⠒⠂"] # 9.2
- - "↔": # 0x2194 (Left right arrow)
- - test: # this is a guess as to when to use each
- if: # mi on either side or if parent is mover, mi on either side of the parent (e.g., A⟶B or labeled arrow)
- - "(..[self::m:mrow] and preceding-sibling::*[1][self::m:mi] and following-sibling::*[1][self::m:mi]) or "
- - "(..[self::m:mover][ ..[self::m:mrow][preceding-sibling::*[1][self::m:mi] and following-sibling::*[1][self::m:mi]] ])"
- then: [t: "⠐⠒⠒⠂"] # 9.1
- else: [t: "⠐⠒⠂"] # 9.2
- - "⟷": # 0x27F7 (Long Left right arrow)
- - test: # this is a guess as to when to use each
- if: # mi on either side or if parent is mover, mi on either side of the parent (e.g., A⟶B or labeled arrow)
- - "(..[self::m:mrow] and preceding-sibling::*[1][self::m:mi] and following-sibling::*[1][self::m:mi]) or "
- - "(..[self::m:mover][ ..[self::m:mrow][preceding-sibling::*[1][self::m:mi] and following-sibling::*[1][self::m:mi]] ])"
- then: [t: "⠐⠒⠒⠂"] # 9.1
- else: [t: "⠐⠒⠂"] # 9.2
-# - "↚": [t: "1⠳⠪⠈⠱"] # 0x219A (Leftwards arrow with stroke)
-# - "↛": [t: "1⠳⠕⠈⠱"] # 0x219B (Rightwards arrow with stroke)
-# - "↜": [t: "1⠳⠔⠢⠪"] # 0x219C (Leftwards wave arrow)
-# - "↝": [t: "1⠳⠢⠔⠕"] # 0x219D (Rightwards wave arrow)
-# - "↞": [t: "1⠳⠒⠗⠗⠪"] # 0x219E (Leftwards two headed arrow)
-# - "↟": [t: "1⠳⠒⠗⠗⠬"] # 0x219F (Upwards two headed arrow)
-# - "↠": [t: "1⠳⠒⠗⠗⠕"] # 0x21A0 (Rightwards two headed arrow)
-# - "↡": [t: "1⠳⠒⠗⠗⠩"] # 0x21A1 (Downwards two headed arrow)
-# - "↢": [t: "1⠳⠗⠗⠪"] # 0x21A2 (Leftwards arrow with tail)
-# - "↣": [t: "1⠳⠗⠗⠕"] # 0x21A3 (Rightwards arrow with tail)
-# - "↤": [t: "1⠳⠳⠗⠪"] # 0x21A4 (Leftwards arrow from bar)
-# - "↥": [t: "1⠳⠳⠗⠬"] # 0x21A5 (Upwards arrow from bar)
-# - "↦": [t: "1⠳⠳⠗⠕"] # 0x21A6 (Rightwards arrow from bar)
-# - "↧": [t: "1⠳⠳⠗⠩"] # 0x21A7 (Downwards arrow from bar)
-# - "↭": [t: "1⠳⠺⠔⠢⠗⠕"] # 0x21AD (Left right wave arrow)
-# - "↮": [t: "1⠳⠺⠗⠕⠈⠱"] # 0x21AE (Left right arrow with stroke)
-# - "↰": [t: "1⠳⠴⠬"] # 0x21B0 (Upwards arrow with tip left)
-# - "↱": [t: "1⠳⠲⠬"] # 0x21B1 (Upwards arrow with tip right)
-# - "↲": [t: "1⠳⠲⠩"] # 0x21B2 (Downwards arrow with tip left)
-# - "↳": [t: "1⠳⠴⠩"] # 0x21B3 (Downwards arrow with tip right)
-# - "↶": [t: "1⠳⠔⠔⠪"] # 0x21B6 (Anticlockwise top semicircle arrow)
-# - "↷": [t: "1⠳⠢⠢⠕"] # 0x21B7 (Clockwise top semicircle arrow)
-# - "↼": [t: "1⠳⠈⠗⠪"] # 0x21BC (Leftwards harpoon with barb upwards)
-# - "↽": [t: "1⠳⠠⠗⠪"] # 0x21BD (Leftwards harpoon with barb downwards)
-# - "↾": [t: "1⠳⠠⠗⠬"] # 0x21BE (Upwards harpoon with barb rightwards)
-# - "↿": [t: "1⠳⠈⠗⠬"] # 0x21BF (Upwards harpoon with barb leftwards)
-# - "⇀": [t: "1⠳⠈⠗⠕"] # 0x21C0 (Rightwards harpoon with barb upwards)
-# - "⇁": [t: "1⠳⠠⠗⠕"] # 0x21C1 (Rightwards harpoon with barb downwards)
-# - "⇂": [t: "1⠳⠈⠗⠩"] # 0x21C2 (Downwards harpoon with barb rightwards)
-# - "⇃": [t: "1⠳⠠⠗⠩"] # 0x21C3 (Downwards harpoon with barb leftwards)
-# - "⇄": [t: "1⠳⠕⠻⠳⠪"] # 0x21C4 (Rightwards arrow over leftwards arrow)
-# - "⇅": [t: "1⠳⠬⠿⠳⠩"] # 0x21C5 (Upwards arrow left of Downwards arrow)
-# - "⇌": [t: "⠘⠸⠶"] # 0x21CC (Rightwards harpoon over leftwards harpoon (equilibrium))
-# - "⇑": [t: "1⠳⠶⠬"] # 0x21D1 (Upwards double arrow)
-# - "⇓": [t: "1⠳⠶⠩"] # 0x21D3 (Downwards double arrow)
-# - "⇕": [t: "1⠳⠺⠶⠗⠬"] # 0x21D5 (Up down double arrow)
-# - "⇠": [t: "1⠳⠂⠪"] # 0x21E0 (Leftwards dashed arrow)
-# - "⇡": [t: "1⠳⠂⠬"] # 0x21E1 (Upwards dashed arrow)
-# - "⇢": [t: "1⠳⠂⠕"] # 0x21E2 (Rightwards dashed arrow)
-# - "⇣": [t: "1⠳⠂⠩"] # 0x21E3 (Downwards dashed arrow)
-# - "⥂": [t: "⠸⠶"] # 0x2942 (Rightwards arrow above short leftwards arrow (equilibrium, trend to the right))
-# - "⥄": [t: "⠈⠸⠶"] # 0x2944 (Short rightwards arrow above leftwards arrow (equilibrium, trend to the left))
-# - "▤": [t: "⠨⠫⠼⠙t"] # 0x25A4 (Square with horizontal fill)
-# - "▥": [t: "⠨⠫⠼⠙t"] # 0x25A5 (Square with vertical fill)
-# - "▦": [t: "⠨⠫⠼⠙t"] # 0x25A6 (Square with orthogonal crosshatch fill)
-# - "▧": [t: "⠨⠫⠼⠙t"] # 0x25A7 (Square with upper left to lower right fill)
-# - "▨": [t: "⠨⠫⠼⠙t"] # 0x25A8 (Square with upper right to lower left fill)
-# - "▩": [t: "⠨⠫⠼⠙t"] # 0x25A9 (Square with diagonal crosshatch fill)
-# - "◍": [t: "⠨⠫⠿t"] # 0x25CD (Circle with vertical fill)
-# - "▱": [t: "1⠫⠈⠼⠙t"] # 0x25B1 (Parallelogram)
-# - "▲": [t: "⠸⠫⠼⠉t"] # 0x25B2 (Filled triangle)
-# - "■": [t: "⠸⠫⠼⠙t"] # 0x25A0 (Filled square)
-# - "≜": [t: "⠠⠨⠙⠻⠐⠶"] # 0x225C (Delta equal to)
-# - "≝": [t: "1⠣⠙⠑⠋⠜⠻⠐⠶"] # 0x225D (Equal to by definition)
-# - "⊕": [t: "1⠫⠿⠪⠐⠖t"] # 0x2295 (Circled plus)
-# - "⊖": [t: "1⠫⠿⠪⠐⠤t"] # 0x2296 (Circled minus)
-# - "⊗": [t: "1⠫⠿⠪⠐⠦t"] # 0x2297 (Circled times)
-# - "⊛": [t: "1⠫⠿⠪⠐⠔t"] # 0x229B (Circled asterisk operator)
-# - "⊞": [t: "1⠫⠼⠙⠪⠐⠖t"] # 0x229E (Squared plus)
-# - "⊟": [t: "1⠫⠼⠙⠪⠐⠤t"] # 0x229F (Squared minus)
-# - "⊠": [t: "1⠫⠼⠙⠪⠐⠦t"] # 0x22A0 (Squared times)
-# - "⋇": [t: "1⠌⠯⠦"] # 0x22C7 (Division times)
-# - "⊩": [t: "⠸⠳⠿⠸⠒"] # 0x22A9 (Forces)
- - "˙": [t: "⠈"] # 0x02D9 ( Dot Above)
- - "¨": [t: "⠈⠈"] # 0x00A8 ( Diaeresis/Double Dot Above )
- - "⃛": [t: "⠈⠈⠈"] # 0x20db (combining triple dot)
- - "©": [t: "⠣⠨⠉⠜"] # 0xa9 (Copyright)
- - "®": [t: "⠣⠨⠗⠜"] # 0xa9 (Registered sign)
-
- - "…": [t: "⠄⠄⠄"] # 0x2026 (Ellipsis)
- - "⋯": [t: "⠄⠄⠄"] # 0x22EF (mid-line Ellipsis) -- seems to be same based on Example 10.1.3
-
-
-# All the quotes are the same
- - "\"": [t: "⠦"]
- - "'": [t: "⠄"]
- - "“": [t: "⠦"] # 0x201C
- - "”": [t: "⠦"] # 0x201C
- - "‘": [t: "⠦"]
- - "’": # 0x2019 (2.3_3)
- - test:
- if: "self::m:mn"
- then: [t: "N⠂"] # same as '.' block separator
- else: [t: "⠦"]
- - "«": [t: "⠦"]
- - "»": [t: "⠦"]
-
- - " ": # 0x20 (Space)
- - test:
- - if: "self::m:mn"
- then: [t: "N⠄"]
- - else_if: "@data-added='missing-content' or @data-empty-in-2D or @width > 1.1"
- then: [t: "⠰⠤⠆"] # omission
- - else_if: "@width < 0.25"
- then: [t: ""] # tweaking space -- ignore
- else: [t: "W"] # space in text or wide enough space
- - " ": # 0xa0 (Non-breaking Space)
- - test:
- - if: "self::m:mn"
- then: [t: "N⠄"]
- else: [t: "W"]
- - ",": # 0x2c (Comma)
- - test:
- if: "self::m:mn"
- then: [t: "N⠂"]
- else: [t: "W⠂"]
- - ".": # 0x2e (Period) -- 2.3 says that if this is acting like a decimal separator, it should be brailled like ","
- - test:
- if: "self::m:mn"
- then:
- # presunme this is likely uses "," for a decimal separator, so just do a few checks
- # 1. if there are < 3 chars after the first ".", then not a block separator
- # 2. if there is a '.' or other likely block separator after the first '.', then not decimal separator
- # likely other (complicated?) other tests that could be used
- - with:
- variables: [StringAfter: "substring-after(., '.')"]
- replace:
- - test:
- if: "string-length($StringAfter) >= 3 and string-length($StringAfter)=string-length( translate($StringAfter, $BlockSeparators, '') )"
- then: [t: "N⠄"] # really is a block separator
- else: [t: "N⠂"] # treat as decimal separator
- else: [t: "W⠄"]
- - ":": [t: "⠐⠂"] # 0x003A (Colon)
- - "-": [t: "⠤"] # 0x2d (Minus sign or hyphen)
- - "": [t: ""] # 0x2061 (invisible function apply)
- - "": [t: ""] # 0x2062 (invisible times)
- - "": [t: ""] # 0x2063 (invisible separator)
- - "": [t: ""] # 0x2064 (invisible plus)
-
- - "`": [t: "⠢"] # 0x0060 (GRAVE ACCEN)
-
- - "א": [t: "⠠⠳"] # 0x05D0 (aleph)
- - "○": [t: "⠪⠕"] # 0x25CB (círculo)
- - "∞": [t: "⠼⠳"] # 0x221E (infinito)
- - "⎔": [t: "⠯⠕"] # 0x2394 (polígono)
- - "‰": [t: "⠸⠴⠴"] # 0x2030 (tanto por mil)
- - "¬": [t: "⠠⠄"] # 0x00AC (negación lógica)
- - "↕": [t: "⠸⠅"] # 0x2195 (flecha arriba-abajo)
- - "↖": [t: "⠐⠡"] # 0x2196 (flecha oblicua arriba-izquierda)
- - "↙": [t: "⠐⠌"] # 0x2199 (flecha abajo-izquierda)
- - "↓": [t: "⠸⠄"] # 0x2193 (flecha hacia abajo)
- - "↘": [t: "⠡⠂"] # 0x2198 (flecha oblicua abajo-derecha)
- - "↗": [t: "⠌⠂"] # 0x2197 (flecha arriba-derecha)
- - "↑": [t: "⠸⠁"] # 0x2191 (flecha hacia arriba)
- - "△": [t: "⠠⠾"] # 0x25B3 (Triangle)
- - "▭": [t: "⠯⠽"] # 0x25AD (rectángulo)
- - "□": [t: "⠸⠽"] # 0x25A1 (cuadrado)
- - "⟺": [t: "⠪⠒⠕"] # 0x27FA (doble implicación «si y solo si»)
- - "⟸": [t: "⠪⠒"] # 0x27F8 (implicación recíproca; porque)
- - "⟹": [t: "⠒⠕"] # 0x27F9 (implicación directa; implica)
- - "⇔": [t: "⠪⠒⠕"] # 0x21D4 (LEFT RIGHT DOUBLE ARROW)
- - "⇐": [t: "⠪⠒"] # 0x21D0 (LEFTWARDS DOUBLE ARROW)
- - "⇒": [t: "⠒⠕"] # 0x21D2 (RIGHTWARDS DOUBLE ARROW)
- - "⤡": [t: "⠐⠡⠂"] # 0x2921 (flecha abajo-derecha y arriba izquierda)
- - "⤢": [t: "⠐⠌⠂"] # 0x2922 (flecha abajo-izquierda y arriba derecha)
- - "⌋": [t: "⠠⠾"] # 0x230B (cerrar suelo)
- - "⌊": [t: "⠷⠄"] # 0x230A (abrir suelo)
- - "⌉": [t: "⠐⠾"] # 0x2309 (cerrar techo)
- - "⌈": [t: "⠷⠂"] # 0x2308 (abrir techo)
- - "⋩": [t: "⠕⠂"] # 0x22E9 (posterior a MULTI)
- - "⋨": [t: "⠐⠪"] # 0x22E8 (anterior a MULTI)
- - "⋟": [t: "⠕⠂⠶"] # 0x22DF (posterior o igual a)
- - "⋞": [t: "⠐⠪⠶"] # 0x22DE (anterior o igual a)
- - "⋝": [t: "⠕⠶"] # 0x22DD (mayor o igual que MULTI)
- - "⋜": [t: "⠪⠶"] # 0x22DC (menor o igual que MULTI)
- - "⋏": [t: "⠸⠣"] # 0x22CF (proposición falsa)
- - "⋎": [t: "⠸⠎"] # 0x22CE (proposición verdadera)
- - "⨂": [t: "⠪⠦"] # 0x2A02 (producto tensorial)
- - "⨁": [t: "⠪⠖"] # 0x2A01 (suma directa)
- - "⋃": # 0x22C3 (unión de una familia de conjuntos)
- - t: "⠿⠜"
- - test:
- if: "not(IsNode(.., 'modified'))"
- then: [t: "⠱"]
- - "⋂": # 0x22C2 (intersección de una familia de conjuntos)
- - t: "⠿⠱"
- - test:
- if: "not(IsNode(.., 'modified'))"
- then: [t: "⠱"]
- - "⋁": # 0x22C1 (disyunción de una familia de proposiciones)
- - t: "⠿⠊"
- - test:
- if: "not(IsNode(.., 'modified'))"
- then: [t: "⠱"]
- - "⋀": # 0x22C0 (conjunción de una familia de proposiciones)
- - t: "⠿⠢"
- - test:
- if: "not(IsNode(.., 'modified'))"
- then: [t: "⠱"]
- - "⊿": [t: "⠸⠦"] # 0x22BF (triángulo rectángulo)
- - "⊩": [t: "⠸⠶"] # 0x22A9 (tautología)
- - "⊮": [t: "⠘⠸⠶"] # 0x22AE (no tautología)
- - "⊇": [t: "⠰⠜"] # 0x2287 (incluye o es igual a)
- - "⊉": [t: "⠘⠰⠜"] # 0x2289 (no incluye ni es igual a)
- - "⊆": [t: "⠣⠆"] # 0x2286 (incluido o es igual a)
- - "⊈": [t: "⠘⠣⠆"] # 0x2288 (no incluido ni es igual a)
- - "⊃": [t: "⠠⠜"] # 0x2283 (Incluye; tiene como subconjunto)
- - "⊅": [t: "⠘⠠⠜"] # 0x2285 (no incluye a)
- - "⊂": [t: "⠣⠄"] # 0x2282 (Incluido; subconjunto)
- - "⊄": [t: "⠘⠣⠄"] # 0x2284 (no incluido en)
- - "⋡": [t: "⠘⠕⠂⠶"] # 0x22E1 (no es posterior ni igual a)
- - "≽": [t: "⠕⠂⠶"] # 0x227D (sigue o igual a)
- - "⋠": [t: "⠘⠐⠪⠶"] # 0x22E0 (no es anterior ni igual a)
- - "≼": [t: "⠐⠪⠶"] # 0x227C (precede o igual a)
- - "≹": [t: "⠘⠕⠪"] # 0x2279 (ni mayor ni menor que)
- - "≸": [t: "⠘⠕⠪"] # 0x2278 (ni mayor ni menor que)
- - "≧": [t: "⠕⠶"] # 0x2267 (mayor o igual que MULTI)
- - "≦": [t: "⠪⠶"] # 0x2266 (menor o igual que MULTI)
- - "≱": [t: "⠘⠕⠶"] # 0x2271 (no es mayor ni igual que)
- - "≥": [t: "⠕⠶"] # 0x2265 (mayor o igual que MULTI)
- - "≤": [t: "⠪⠶"] # 0x2264 (menor o igual que MULTI)
- - "≰": [t: "⠘⠪⠶"] # 0x2270 (no es menor ni igual que)
- - "⩽": [t: "⠪⠶"] # 0x227D
- - "⩾": [t: "⠕⠶"] # 0x2A7E (greater-than-or-slanted-equals)
- # FIX: ≈" p99 has "⠐⠶"
- - "≈": [t: "⠐⠶⠄"] # 0x2248 (casi igual a; asintóticamente igual a)
- - "≄": [t: "⠘⠐⠶⠄"] # 0x2244 (no es asintóticamente igual a)
- - "≁": [t: "⠘⠐⠢⠄"] # 0x2241 (tilde sube-baja tachada)
- - "∺": [t: "⠨⠒⠅"] # 0x223A (progresión geométrica)
- - "∷": [t: "⠰⠆"] # 0x2237 (proporción; igualdad de razones)
- - "∶": [t: "⠐⠂"] # 0x2236 (ratio)
- - "∵": [t: "⠀⠈⠌⠀"] # 0x2235 (puesto que)
- - "∴": [t: "⠀⠠⠡⠀"] # 0x2234 (por lo tanto)
- - "∪": [t: "⠸⠜"] # 0x222A (unión)
- - "⩊": [t: "⠢⠔"] # 0x2A4A (curva geométrica)
- - "∩": [t: "⠸⠱"] # 0x2229 (intersección)
- - "⊻": [t: "⠸⠮"] # 0x2228 (disyunción excluyente)
- - "∨": [t: "⠸⠊"] # 0x2228 (disyunción (o))
- - "∧": [t: "⠸⠢"] # 0x2227 (conjunción (y))
- - "∤": [t: "⠘⠸⠀"] # 0x2224 (no es divisor de)
- - "∝": [t: "⠸⠲"] # 0x221D (proporcional a)
- - "∖": [t: "⠐⠄"] # 0x2216 (diferencia de conjuntos)
- - "∌": [t: "⠘⠐⠜"] # 0x220C (no comprende; no tiene como elemento)
- - "∋": [t: "⠐⠜"] # 0x220B (comprende; tiene como elemento)
- - "∈": [t: "⠣⠂"] # 0x2208 (es elemento de; pertenece a)
- - "∉": [t: "⠘⠣⠂"] # 0x2209 (no es un elemento de; no pertenece a)
- - "∅": [t: "⠸⠚"] # 0x2205 (conjunto vacío)
- - "∃": [t: "⠨⠢"] # 0x2203 (cuantificador existencial: existe por lo menos un elemento)
- - "∄": [t: "⠘⠨⠢"] # 0x2204 (no existe)
- - "∀": [t: "⠨⠄"] # 0x2200 (cuantificador universal: para todo)
- - "ǁ": [t: "⠸⠇"] # 0x01C1 (doble barra)
- - "÷": [t: "⠲"] # 0x00F7 (dividido por)
- - "×": # 0x00D7 (multiplicar (aspas))
- # FIX: this is a hacky attempt to figure out whether this is vector multiplication or regular multiplication
- # Look for an arrow above or a bold on each side
- - test:
- if:
- - "preceding-sibling::*[1][@math-variant='bold' or self::m:mover[*[2][.='→' or .='⟶' or .='⇀']]] and"
- - "following-sibling::*[1][@math-variant='bold' or self::m:mover[*[2][.='→' or .='⟶' or .='⇀']]]"
- then: [t: "⠈⠦"]
- else: [t: "⠦"]
- - "≫": [t: "⠕⠕"] # 0x226B (mucho mayor que)
- - "≪": [t: "⠪⠪"] # 0x226A (mucho menor que)
- - "±": [t: "⠖⠒⠤"] # 0x00B1 (más o menos)
- - "⊁": [t: "⠘⠕⠂"] # 0x2281 (no es posterior a)
- - "≻": [t: "⠕⠂"] # 0x227B (sigue a; posterior a)
- - "≯": [t: "⠘⠕"] # 0x226F (no mayor que)
- - "=": [t: "⠶"] # 0x003D (igual a)
- - "≠": [t: "⠘⠶"] # 0x2260 (distinto de)
- - "⊀": [t: "⠘⠐⠪"] # 0x2280 (no es anterior a)
- - "⪼": [t: "⠕⠕⠂"] # 0x2ABC (muy posterior a)
- - "⪻": [t: "⠐⠪⠪"] # 0x2ABB (muy anterior a)
- - "≺": [t: "⠐⠪"] # 0x227A (precede a; anterior a)
- - "≮": [t: "⠘⠪"] # 0x226E (no menor que)
- - "∓": [t: "⠤⠒⠖"] # 0x2213 (menos o más)
- - "∕": [t: "⠠⠂"] # 0x2215 (conjunto cociente)
- - "〛": [t: "⠾⠂"] # 0x301B (cerrar corchetes de clase)
- - "〚": [t: "⠐⠷"] # 0x301A (abrir corchetes de clase)
- - "₡": [t: "⠸⠉"] # 0x20A1 (colón)
- - "€": [t: "⠸⠑"] # 0x20AC (euro)
- - "¥": [t: "⠸⠽"] # 0x00A5 (yen)
- - "£": [t: "⠐⠮"] # 0x00A3 (libra)
- - "¢": [t: "⠘⠉"] # 0x00A2 (centavo)
- - "〉": [t: "⠨⠂"] # 0x232A (cerrar paréntesis angulares)
- - "〈": [t: "⠐⠅"] # 0x2329 (abrir paréntesis angulares)
- - "⟨": [t: "⠐⠅"] # 0x27E8 (Mathematical left angle bracket)
- - "⟩": [t: "⠨⠂"] # 0x27E9 (Mathematical right angle bracket)
- - "}": [t: "⠸⠂"] # 0x007D (cerrar llaves)
- - "|": [t: "⠸𝘄"] # 0x007C (barra vertical)
- - "{": [t: "⠐⠇"] # 0x007B (abrir llaves)
- - "\\": [t: "⠐⠄"] # 0x005C (barra inversa)
- - ";": [t: "⠀⠆"] # 0x003B (punto y coma de separación)
- - "/": [t: "⠲"] # 0x002F (barra oblicua)
- - "%": [t: "⠸⠴"] # 0x0025 (tanto por ciento)
- - "$":
- - test:
- if: "following-sibling::*[self::m:mn]"
- then: [t: "⠸⠏"] # 0x0024 (peso)
- else: [t: "⠸⠎"] # 0x0024 (dólar)
- - "#": [t: "⠼⠅"] # 0x0023 (cardinal de un conjunto)
- - "₿": [t: "⠸⠃"] # 0x20BF (bitcoin)
- - "⟧": [t: "⠾⠂"] # 0x27E7 (cerrar corchete de clase)
- - "⟦": [t: "⠐⠷"] # 0x27E6 (abrir corchete de clase)
- - "∇": [t: "⠈⠻"] # 0x2207 (Nabla (del, inverted capital delta))
-
- - "≐": [t: "⠈⠶"] # 0x2250 (aproximadamente igual a)
- - "≟": [t: "⠶⠢⠀"] # 0x225F (cuestionado que sea igual a)
- - "≔": [t: "⠰⠶"] # 0x2254 (igual por definición)
- - "≙": [t: "⠰⠒⠶"] # 0x2259 (corresponde a)
- - "≡": [t: "⠶⠶"] # 0x2261 (idéntico a; congruente con)
-
- - "∥": [t: "⠸⠇"] # 0x2225 (es paralela a)
- - "∦": [t: "⠘⠸⠇"] # 0x2226 (no paralela)
- - "≅": [t: "⠐⠢⠶"] # 0x2245 (congruente con)
- - "⊥": [t: "⠼⠄"] # 0x22A5 (perpendicular a/ortogonal a) [symbol used in spec]
- - "⟂": [t: "⠼⠤"] # 0x27C2 (Perpendicular)
-
- - "⊙": [t: "⠰⠄"] # 0x2299 (operador genérico (suele utilizarse para representar una operación entre elementos de un conjunto)
- - "⊚": [t: "⠰⠄"] # 0x229A (operador genérico (suele utilizarse para representar una operación entre elementos de un conjunto)
- - "⋆": [t: "⠰⠄"] # 0x22C6 (operador genérico (suele utilizarse para representar una operación entre elementos de un conjunto)
- - "†": [t: "⠰⠄"] # 0x2020 (operador genérico (suele utilizarse para representar una operación entre elementos de un conjunto)
- - "∗": [t: "⠰⠄"] # 0x2217 (operador genérico (suele utilizarse para representar una operación entre elementos de un conjunto)
+---
+# UEB characters
+#
+# Some chars that originally came from an Excel spreadsheet, converted to csv, and the greatly expanded
+#
+# The UEB translation makes use of some non-braille chars as flags
+# L -- what follows is a letter
+# N -- what follows is a digit
+# C -- precedes L for capital letters
+# G -- precedes L for Greek Letters (after C for capitals)
+# Typeface Indicators ("typeforms")
+# B bold, I Italic, S Sans-serif, T script, D, Fraktur, 𝔹 blackboard-bold
+# the type face indicators can be combined with B (first) and I (second)
+# Standing alone chars:
+# Any character which acts as a standing alone character (e.g, "{") needs each braille symbol to be labeled
+# o -- opening/left side, c -- closing/right side, b -- both open and close (e.g, '"')
+
+ - "0": [t: "N⠚"] # 0x30
+ - "1": [t: "N⠁"] # 0x31
+ - "2": [t: "N⠃"] # 0x32
+ - "3": [t: "N⠉"] # 0x33
+ - "4": [t: "N⠙"] # 0x34
+ - "5": [t: "N⠑"] # 0x35
+ - "6": [t: "N⠋"] # 0x36
+ - "7": [t: "N⠛"] # 0x37
+ - "8": [t: "N⠓"] # 0x38
+ - "9": [t: "N⠊"] # 0x39
+
+# we stick the drop numbers into the private use area for consistency
+ - "\ue000": [t: "N⠴"] # 0
+ - "\ue001": [t: "N⠂"] # 1
+ - "\ue002": [t: "N⠆"] # 2
+ - "\ue003": [t: "N⠒"] # 3
+ - "\ue004": [t: "N⠲"] # 4
+ - "\ue005": [t: "N⠢"] # 5
+ - "\ue006": [t: "N⠖"] # 6
+ - "\ue007": [t: "N⠶"] # 7
+ - "\ue008": [t: "N⠦"] # 8
+ - "\ue009": [t: "N⠔"] # 9
+
+# we stick hex digits into the private use area for consistency
+# these are used when we don't want to add a numeric indicator for subsequent digits (3.3)
+ - "\ue00A": [t: "N⠐N⠁"] # A
+ - "\ue00B": [t: "N⠐N⠃"] # B
+ - "\ue00C": [t: "N⠐N⠉"] # C
+ - "\ue00D": [t: "N⠐N⠙"] # D
+ - "\ue00E": [t: "N⠐N⠑"] # E
+ - "\ue00F": [t: "N⠐N⠋"] # F
+
+# leave room for the rest of the alphabet
+ - "\ue01A": [t: "N⠨N⠁"] # A
+ - "\ue01B": [t: "N⠨N⠃"] # B
+ - "\ue01C": [t: "N⠨N⠉"] # C
+ - "\ue01D": [t: "N⠨N⠙"] # D
+ - "\ue01E": [t: "N⠨N⠑"] # E
+ - "\ue01F": [t: "N⠨N⠋"] # F
+
+# Omission char -- there isn't a specific code point, so we use a private use area
+ - "\ue020": [t: "⠰"] # omission (three dot 5s with letter indicator)
+
+
+ - "a": [t: "L⠁"] # 0x61
+ - "b": [t: "L⠃"] # 0x62
+ - "c": [t: "L⠉"] # 0x63
+ - "d": [t: "L⠙"] # 0x64
+ - "e": [t: "L⠑"] # 0x65
+ - "f": [t: "L⠋"] # 0x66
+ - "g": [t: "L⠛"] # 0x67
+ - "h": [t: "L⠓"] # 0x68
+ - "i": [t: "L⠊"] # 0x69
+ - "j": [t: "L⠚"] # 0x6a
+ - "k": [t: "L⠅"] # 0x6b
+ - "l": [t: "L⠇"] # 0x6c
+ - "m": [t: "L⠍"] # 0x6d
+ - "n": [t: "L⠝"] # 0x6e
+ - "o": # 0x6f
+ - test: # special case because these have the same dot pattern
+ if: "preceding-sibling::*[1][self::m:mo and (.='>' or .='≫')]"
+ then: [t: "⠐"]
+ - t: "L⠕"
+ - "p": [t: "L⠏"] # 0x70
+ - "q": [t: "L⠟"] # 0x71
+ - "r": [t: "L⠗"] # 0x72
+ - "s": [t: "L⠎"] # 0x73
+ - "t": [t: "L⠞"] # 0x74
+ - "u": [t: "L⠥"] # 0x75
+ - "v": [t: "L⠧"] # 0x76
+ - "w": [t: "L⠺"] # 0x77
+ - "x": [t: "L⠭"] # 0x78
+ - "y": [t: "L⠽"] # 0x79
+ - "z": [t: "L⠵"] # 0x7a
+
+
+ - "á": [t: "L⠷"] # 0xE1
+ - "é": [t: "L⠮"] # 0xE9
+ - "í": [t: "L⠌"] # 0xED
+ - "ñ": [t: "L⠻"] # 0xF1
+ - "ó": [t: "L⠬"] # 0xF3
+ - "ú": [t: "L⠾"] # 0xFA
+ - "ü": [t: "L⠳"] # 0xFC
+
+ - "Á": [t: "CL⠷"] # 0xC0
+ - "É": [t: "CL⠮"] # 0xC9
+ - "Í": [t: "CL⠌"] # 0xCD
+ - "Ñ": [t: "CL⠻"] # 0xD1
+ - "Ó": [t: "CL⠬"] # 0xD3
+ - "Û": [t: "CL⠾"] # 0xDA
+ - "Ü": [t: "CL⠳"] # 0xDC
+
+ # Latin capitals: chem-element letters use 𝐶 (no word indicator); others use C.
+ # Cells come from lowercase a-z via spell/translate.
+ - "BCHIKNOPSUVWY": # chemistry-capable capitals
+ - test:
+ if: "@data-chem-element"
+ then: [tc: "𝐶"]
+ else: [tc: "C"]
+ - spell: "translate('.', 'BCHIKNOPSUVWY', 'bchiknopsuvwy')"
+ - "ADEFGJLMQRTXZ": # remaining capitals
+ - tc: "C"
+ - spell: "translate('.', 'ADEFGJLMQRTXZ', 'adefgjlmqrtxz')"
+
+ - "α": [t: "GL⠁"] # 0x3b1
+ - "β": [t: "GL⠃"] # 0x3b2
+ - "γ": [t: "GL⠛"] # 0x3b3
+ - "δ": [t: "GL⠙"] # 0x3b4
+ - "ε": [t: "GL⠑"] # 0x3b5
+ - "ζ": [t: "GL⠵"] # 0x3b6
+ - "η": [t: "GL⠱"] # 0x3b7
+ - "θ": [t: "GL⠹"] # 0x3b8
+ - "ι": [t: "GL⠊"] # 0x3b9
+ - "κ": [t: "GL⠅"] # 0x3ba
+ - "λ": [t: "GL⠇"] # 0x3bb
+ - "μ": [t: "GL⠍"] # 0x3bc
+ - "ν": [t: "GL⠝"] # 0x3bd
+ - "ξ": [t: "GL⠭"] # 0x3be
+ - "ο": [t: "GL⠕"] # 0x3bf
+ - "π": [t: "GL⠏"] # 0x3c0
+ - "ρ": [t: "GL⠗"] # 0x3c1
+ - "ς": [t: "VL⠎"] # 0x3c2
+ - "σ": [t: "GL⠎"] # 0x3c3
+ - "τ": [t: "GL⠞"] # 0x3c4
+ - "υ": [t: "GL⠥"] # 0x3c5
+ - "φ": [t: "GL⠋"] # 0x3c6
+ - "χ": [t: "GL⠯"] # 0x3c7
+ - "ψ": [t: "GL⠽"] # 0x3c8
+ - "ω": [t: "GL⠺"] # 0x3c9
+
+ - "Α": [t: "CGL⠁"] # 0x391
+ - "Β": [t: "CGL⠃"] # 0x392
+ - "Γ": [t: "CGL⠛"] # 0x393
+ - "Δ": [t: "CGL⠙"] # 0x394
+ - "Ε": [t: "CGL⠑"] # 0x395
+ - "Ζ": [t: "CGL⠵"] # 0x396
+ - "Η": [t: "CGL⠱ "] # 0x397
+ - "Θ": [t: "CGL⠹"] # 0x398
+ - "Ι": [t: "CGL⠊"] # 0x399
+ - "Κ": [t: "CGL⠅"] # 0x39a
+ - "Λ": [t: "CGL⠇"] # 0x39b
+ - "Μ": [t: "CGL⠍"] # 0x39c
+ - "Ν": [t: "CGL⠝"] # 0x39d
+ - "Ξ": [t: "CGL⠭"] # 0x39e
+ - "Ο": [t: "CGL⠕"] # 0x39f
+ - "Π": [t: "CGL⠏"] # 0x3a0
+ - "Ρ": [t: "CGL⠗"] # 0x3a1
+ - "": [t: "CGL⠎"] # 0x3a2
+ - "Σ": [t: "CGL⠎"] # 0x3a3
+ - "Τ": [t: "CGL⠞"] # 0x3a4
+ - "Υ": [t: "CGL⠥"] # 0x3a5
+ - "Φ": [t: "CGL⠋"] # 0x3a6
+ - "Χ": [t: "CGL⠯"] # 0x3a7
+ - "Ψ": [t: "CGL⠽"] # 0x3a8
+ - "Ω": [t: "CGL⠺"] # 0x3a9
+
+ - "ϑ": [t: "VL⠹"] # 0x3d1
+ - "ϵ": [t: "VL⠑"] # 0x3f5
+ - "ϰ": [t: "VL⠅"] # 0x3f0
+ - "ϕ": [t: "VL⠋"] # 0x3d5
+ - "ϱ": [t: "VL⠗"] # 0x3f1
+ - "ϖ": [t: "VL⠏"] # 0x3d6
+ - "Ϝ": [t: "VL⠧"] # 0x3d7
+
+ - "µ": [t: "GL⠍"] # 0x00B5 (Micro (Greek mu))
+ - "Ω": [t: "CGL⠺"] # 0x2126 (Ohm sign (capital Greek omega))
+ - "∆": [t: "⠸⠦"] # 0x2206 (Increment)
+ - "∏": # 0x220F (Product (capital Greek pi))
+ - t: "CGL⠏"
+ - test:
+ if: "not(IsNode(.., 'modified'))"
+ then: [t: "⠱"]
+ - "∐": # 0x2210 (CoProduct (capital Greek pi))
+ - t: "⠘⠻"
+ - test:
+ if: "not(IsNode(.., 'modified'))"
+ then: [t: "⠱"]
+ - "∑": # 0x2211 (Sum (capital Greek sigma))
+ - t: "CGL⠎"
+ - test:
+ if: "not(IsNode(.., 'modified'))"
+ then: [t: "⠱"]
+
+ - "<": [t: "⠪"] # 0x003C (Less than)
+ - "≨": [t: "⠪"] # 0x2268 (Less-Than But Not Equal To)
+ - "⋦": [t: "⠪"] # 0x22E6 (Less-Than But Not Equivalent To)
+ - ">": [t: "⠕"] # 0x003E (Greater than)
+ - "≩": [t: "⠕"] # 0x2269 (Greater-Than But Not Equal To)
+ - "⋧": [t: "⠕"] # 0x22E7 (Greater-Than But Not Equivalent To)
+# - "≮": [t: "⠈⠣⠈⠱"] # 0x226E (Not less than)
+# - "≯": [t: "⠈⠜⠈⠱"] # 0x226F (Not greater than)
+# - "≰": [t: "⠸⠈⠣⠈⠱"] # 0x2270 (Neither less than nor equal to)
+# - "≱": [t: "⠸⠈⠜⠈⠱"] # 0x2271 (Neither greater than nor equal to)
+# - "∝": [t: "⠸⠐⠶"] # 0x221D (Proportional to)
+# - "≃": [t: "⠸⠔"] # 0x2243 (Approximately equal to (tilde over horizontal line))
+# - "≅": [t: "⠐⠸⠔"] # 0x2245 (Approximately equal to (tilde over equals sign))
+# - "≏": [t: "⠘⠐⠶"] # 0x224F (Equals with bump in top bar (difference between))
+# - "≢": [t: "⠸⠿⠈⠱"] # 0x2262 (Not identical to)
+# - "∈": [t: "⠘⠑"] # 0x2208 (Element of (member of))
+# - "∉": [t: "⠘⠑⠈⠱"] # 0x2209 (Not Element of)
+ - "+": [t: "⠖"] # 0x002B (Plus sign)
+# - "∋": [t: "⠈⠘⠑"] # 0x220B (Contains)
+# - "⊂": [t: "⠘⠣"] # 0x2282 (Subset of)
+# - "⊃": [t: "⠘⠜"] # 0x2283 (Superset of)
+# - "⊆": [t: "⠸⠘⠣"] # 0x2286 (Subset of or equal)
+# - "⊇": [t: "⠸⠘⠜"] # 0x2287 (Superset of or equal)
+# - "⊊": [t: "⠨⠘⠣"] # 0x228A (Subset of with not equal)
+# - "⊋": [t: "⠨⠘⠜"] # 0x228B (Superset of with not equal)
+# - "⊲": [t: "⠈⠸⠣"] # 0x22B2 (Normal subgroup of)
+# - "⊳": [t: "⠈⠸⠜"] # 0x22B3 (Contains as normal subgroup)
+# - "⊴": [t: "⠸⠸⠣"] # 0x22B4 (Normal subgroup of or equal)
+# - "⊵": [t: "⠸⠸⠜"] # 0x22B5 (Contains as normal subgroup or equal)
+# - "⋬": [t: "⠨⠸⠣"] # 0x22EC (not normal subgroup) -- this isn't the same as what is in GTM 10, but that similar has no Unicode equiv
+# - "⋭": [t: "⠨⠸⠣"] # 0x22ED (does not contain as normal subgroup) -- this isn't the same as what is in GTM 10, but that similar has no Unicode equiv
+# - "⊢": [t: "⠸⠒"] # 0x22a2 (Right tack)
+# - "⊣": [t: "⠈⠸⠒"] # 0x22a3 (Left tack)
+ - "−": [t: "⠐⠤"] # 0x2212 (Minus sign)
+ - "·": [t: "⠠𝘄"] # 0x00B7 (Multiplication dot (times))
+# - "∗": [t: "⠐⠔"] # 0x2217 (Asterisk operator)
+ - "∘": [t: "⠠⠆"] # 0x2218 (Ring operator) value based on last row in 5.1 (probably what they should have used)
+ - "◦": [t: "⠠⠆"] # 0x25E6 (White bullet) (value based on 2218)
+ - "⋅": [t: "⠰⠄"] # 0x22C5 (Dot operator)(value based on 2218)
+# - "∖": [t: "⠸⠡"] # 0x2216 (Set minus)
+ - "(": [t: "⠣"] # 0x0028 (Left parenthesis)
+ - ")": [t: "⠜"] # 0x0029 (Right parenthesis)
+ - "[": [t: "⠷"] # 0x005B (Left square bracket)
+ - "]": [t: "⠾"] # 0x005D (Right square bracket)
+ - "!": # 0x21 (Exclamation (factorial))
+ - test: # CMU seems to use a different char for factorial (7.5) -- this weak guess for factorial
+ if: "self::m:mo and preceding-sibling::*"
+ then: [t: "⠘⠄"]
+ else: [t: "⠖"]
+ - "&": [t: "⠠⠯"] # 0x26 (Ampersand)
+ - "*": [t: "⠲"] # 0x002A (Asterisk)
+ - "?": [t: "⠢"] # 0x003F (Question mark)
+ - "¿": [t: "⠢"] # 0x00BF (Question mark)
+ - "@": [t: "⠐"] # 0x0040 (Commercial at sign)
+ - "^": # 0x005E (Caret (hat, up arrow)) 4.3.2 uses one form as a circumflex, and 11.1 as a geometric angle
+ - test: # it is not clear how to distinguish one form from another -- the following passes the tests, but is almost certainly wrong
+ - if: "..[self::m:mover][ *[1][self::m:mi and string-length(.)=1 and translate(., 'abcdefghijklmnopqrstuvwxyz', '') = ''] ]"
+ then: [t: "⠰⠒"] # circumflex
+ else: [t: "⠘⠒"] # angle and everything else
+ - "_": [t: "⠤"] # 0x005F (Low line (underscore))
+ - "¯": [t: "⠈⠉"] # 0x00AF (macron)
+ - "═": [t: "⠈⠉⠈⠉"] # 0x2550 (BOX DRAWINGS DOUBLE HORIZONTAL)
+ - "~": # 0x007E (Tilde (swung dash))
+ - test: # unclear what really should happen see 4.3.2, 4.3.3, 6.1, and 8.2 -- all use different codes
+ - if: "..[self::m:mover]"
+ then: [t: "⠐⠢"]
+ - else_if: "..[self::m:munder]"
+ then: [t: "⠠⠢"]
+ - else_if: "not(preceding-sibling::*)"
+ then: [t: "⠠⠄"] # (8.2 -- prefix?)
+ else: [t: "⠐⠢⠠"] # (6.1 -- infix?)
+ - ∼: # 223c (Tilde operator)
+ - test: # unclear what really should happen see 4.3.2, 4.3.3, 6.1, and 8.2 -- all use different codes
+ - if: "..[self::m:mover]"
+ then: [t: "⠐⠢"]
+ - else_if: "..[self::m:munder]"
+ then: [t: "⠠⠢"]
+ - else_if: "not(preceding-sibling::*)"
+ then: [t: "⠠⠄"] # (8.2 -- prefix?)
+ else: [t: "⠐⠢⠠"] # (6.1 -- infix?)
+ - "—": [t: "⠤⠤"] # 0x2014 (Em dash)
+ - "‖": [t: "⠸⠇"] # 0x2016
+# - "¦": [t: "⠨⠳"] # 0x00A6 (Broken bar)
+# - "¬": [t: "⠈⠹"] # 0x00AC (Not sign)
+ - "°": [t: "⠴"] # 0x00B0 (Degree sign)
+ - "²": [t: "⠡⠼⠃⠉"] # 0x00B2 (superscripted 2)
+ - "³": [t: "⠡⠼⠉"] # 0x00B3 (superscripted 3)
+# - "†": [t: "⠈⠠⠹"] # 0x2020 (Dagger)
+# - "‡": [t: "⠈⠠⠻"] # 0x2021 (Double dagger)
+# - "‰": [t: "⠸⠴⠴"] # 0x2030 (Per mille)
+ - "′": [t: "⠳"] # 0x2032 (Prime sign)
+ - "″": [t: "⠳⠳"] # 0x2033 (Double prime sign)
+ - "‴": [t: "⠳⠳⠳"] # 0x2034 (Triple prime sign)
+# - "Å": [t: "⠠⠘⠫⠁"] # 0x212B (Angstrom symbol)
+# - "Å": [t: "⠠⠘⠫⠁"] # 0x00C5 (WIRIS uses this for Angstrom)
+# - "∀": [t: "⠘⠁"] # 0x2200 (For all)
+ - "∂": [t: "⠸⠙"] # 0x2202 (Partial differential)
+# - "∃": [t: "⠘⠢"] # 0x2203 (There exists)
+# - "∄": [t: "⠘⠢⠈⠱"] # 0x2204 (There does not exist)
+# - "∅": [t: "⠈⠚"] # 0x2205 (Empty set)
+# - "∎": [t: "⠸⠫⠼⠙t"] # 0x220E (End of proof)
+# - "√": [t: "⠐⠩"] # 0x221A (Square root (radical) without vinculum)
+# - "∠": [t: "⠸⠪"] # 0x2220 (Angle)
+# - "∡": [t: "⠨⠸⠪"] # 0x2221 (Measured angle)
+# - "⊾": [t: "⠼⠸⠪"] # 0x22BE (Right angle with arc)
+ - "∫": # 0x222B (Integral)
+ - t: "⠯"
+ - test:
+ if: "not(IsNode(.., 'modified'))"
+ then: [t: "⠱"]
+ - "∬": # 0x222c (Double integral)
+ - t: "⠯⠯"
+ - test:
+ if: "not(IsNode(.., 'modified'))"
+ then: [t: "⠱"]
+ - "∭": # 0x222d (Triple integral)
+ - t: "⠯⠯⠯"
+ - test:
+ if: "not(IsNode(.., 'modified'))"
+ then: [t: "⠱"]
+ - "∮": # 0x222E (Contour integral (closed line integral))
+ - t: "⠯⠴"
+ - test:
+ if: "not(IsNode(.., 'modified'))"
+ then: [t: "⠱"]
+# - "∷": [t: "⠒⠒"] # 0x2237 (Proportion)
+# - "∣": [t: "⠸⠳"] # 0x2223 (Divides)
+# - "∤": [t: "⠸⠳⠈⠱"] # 0x2224 (Does not divide)
+ - "←": # 0x2190 (Leftwards arrow)
+ - test: # this is a guess as to when to use each
+ if: # mi on either side or if parent is mover, mi on either side of the parent (e.g., A⟶B or labeled arrow)
+ - "(..[self::m:mrow] and preceding-sibling::*[1][self::m:mi] and following-sibling::*[1][self::m:mi]) or "
+ - "(..[self::m:mover][ ..[self::m:mrow][preceding-sibling::*[1][self::m:mi] and following-sibling::*[1][self::m:mi]] ])"
+ then: [t: "⠐⠒⠒"] # 9.1
+ else: [t: "⠐⠒"] # 9.2
+ - "⟵": # 0x27F5 (Long leftwards arrow)
+ - test: # this is a guess as to when to use each
+ if: # mi on either side or if parent is mover, mi on either side of the parent (e.g., A⟶B or labeled arrow)
+ - "(..[self::m:mrow] and preceding-sibling::*[1][self::m:mi] and following-sibling::*[1][self::m:mi]) or "
+ - "(..[self::m:mover][ ..[self::m:mrow][preceding-sibling::*[1][self::m:mi] and following-sibling::*[1][self::m:mi]] ])"
+ then: [t: "⠐⠒⠒"] # 9.1
+ else: [t: "⠐⠒"] # 9.2
+ - "→": # 0x2192 (Rightwards arrow)
+ - test: # this is a guess as to when to use each
+ if: # mi on either side or if parent is mover, mi on either side of the parent (e.g., A⟶B or labeled arrow), but rule out limit
+ - "("
+ - " (..[self::m:mrow] and preceding-sibling::*[1][self::m:mi] and following-sibling::*[1][self::m:mi]) or "
+ - " (..[self::m:mover][ ..[self::m:mrow][preceding-sibling::*[1][self::m:mi] and following-sibling::*[1][self::m:mi]] ])"
+ - ") and"
+ - "not(../..[self::m:munder or self::m:msub][*[1][self::m:mi and starts-with(., 'lim')]])"
+ then: [t: "⠒⠒⠂"] # 9.1
+ else: [t: "⠒⠂"] # 9.2
+ - "⟶": # 0x27F6 (Long rightwards arrow)
+ - test: # this is a guess as to when to use each
+ if: # mi on either side or if parent is mover, mi on either side of the parent (e.g., A⟶B or labeled arrow), but rule out limit
+ - "("
+ - " (..[self::m:mrow] and preceding-sibling::*[1][self::m:mi] and following-sibling::*[1][self::m:mi]) or "
+ - " (..[self::m:mover][ ..[self::m:mrow][preceding-sibling::*[1][self::m:mi] and following-sibling::*[1][self::m:mi]] ])"
+ - ") and"
+ - "not(../..[self::m:munder or self::m:msub][*[1][self::m:mi and starts-with(., 'lim')]])"
+ then: [t: "⠒⠒⠂"] # 9.1
+ else: [t: "⠒⠂"] # 9.2
+ - "⇀": # 0x21C0 (RIGHTWARDS HARPOON WITH BARB UPWARDS) [not mentioned in spec]
+ - test: # this is a guess as to when to use each
+ if: # mi on either side or if parent is mover, mi on either side of the parent (e.g., A⟶B or labeled arrow), but rule out limit
+ - "("
+ - " (..[self::m:mrow] and preceding-sibling::*[1][self::m:mi] and following-sibling::*[1][self::m:mi]) or "
+ - " (..[self::m:mover][ ..[self::m:mrow][preceding-sibling::*[1][self::m:mi] and following-sibling::*[1][self::m:mi]] ])"
+ - ") and"
+ - "not(../..[self::m:munder or self::m:msub][*[1][self::m:mi and starts-with(., 'lim')]])"
+ then: [t: "⠒⠒⠂"] # 9.1
+ else: [t: "⠒⠂"] # 9.2
+ - "↔": # 0x2194 (Left right arrow)
+ - test: # this is a guess as to when to use each
+ if: # mi on either side or if parent is mover, mi on either side of the parent (e.g., A⟶B or labeled arrow)
+ - "(..[self::m:mrow] and preceding-sibling::*[1][self::m:mi] and following-sibling::*[1][self::m:mi]) or "
+ - "(..[self::m:mover][ ..[self::m:mrow][preceding-sibling::*[1][self::m:mi] and following-sibling::*[1][self::m:mi]] ])"
+ then: [t: "⠐⠒⠒⠂"] # 9.1
+ else: [t: "⠐⠒⠂"] # 9.2
+ - "⟷": # 0x27F7 (Long Left right arrow)
+ - test: # this is a guess as to when to use each
+ if: # mi on either side or if parent is mover, mi on either side of the parent (e.g., A⟶B or labeled arrow)
+ - "(..[self::m:mrow] and preceding-sibling::*[1][self::m:mi] and following-sibling::*[1][self::m:mi]) or "
+ - "(..[self::m:mover][ ..[self::m:mrow][preceding-sibling::*[1][self::m:mi] and following-sibling::*[1][self::m:mi]] ])"
+ then: [t: "⠐⠒⠒⠂"] # 9.1
+ else: [t: "⠐⠒⠂"] # 9.2
+# - "↚": [t: "1⠳⠪⠈⠱"] # 0x219A (Leftwards arrow with stroke)
+# - "↛": [t: "1⠳⠕⠈⠱"] # 0x219B (Rightwards arrow with stroke)
+# - "↜": [t: "1⠳⠔⠢⠪"] # 0x219C (Leftwards wave arrow)
+# - "↝": [t: "1⠳⠢⠔⠕"] # 0x219D (Rightwards wave arrow)
+# - "↞": [t: "1⠳⠒⠗⠗⠪"] # 0x219E (Leftwards two headed arrow)
+# - "↟": [t: "1⠳⠒⠗⠗⠬"] # 0x219F (Upwards two headed arrow)
+# - "↠": [t: "1⠳⠒⠗⠗⠕"] # 0x21A0 (Rightwards two headed arrow)
+# - "↡": [t: "1⠳⠒⠗⠗⠩"] # 0x21A1 (Downwards two headed arrow)
+# - "↢": [t: "1⠳⠗⠗⠪"] # 0x21A2 (Leftwards arrow with tail)
+# - "↣": [t: "1⠳⠗⠗⠕"] # 0x21A3 (Rightwards arrow with tail)
+# - "↤": [t: "1⠳⠳⠗⠪"] # 0x21A4 (Leftwards arrow from bar)
+# - "↥": [t: "1⠳⠳⠗⠬"] # 0x21A5 (Upwards arrow from bar)
+# - "↦": [t: "1⠳⠳⠗⠕"] # 0x21A6 (Rightwards arrow from bar)
+# - "↧": [t: "1⠳⠳⠗⠩"] # 0x21A7 (Downwards arrow from bar)
+# - "↭": [t: "1⠳⠺⠔⠢⠗⠕"] # 0x21AD (Left right wave arrow)
+# - "↮": [t: "1⠳⠺⠗⠕⠈⠱"] # 0x21AE (Left right arrow with stroke)
+# - "↰": [t: "1⠳⠴⠬"] # 0x21B0 (Upwards arrow with tip left)
+# - "↱": [t: "1⠳⠲⠬"] # 0x21B1 (Upwards arrow with tip right)
+# - "↲": [t: "1⠳⠲⠩"] # 0x21B2 (Downwards arrow with tip left)
+# - "↳": [t: "1⠳⠴⠩"] # 0x21B3 (Downwards arrow with tip right)
+# - "↶": [t: "1⠳⠔⠔⠪"] # 0x21B6 (Anticlockwise top semicircle arrow)
+# - "↷": [t: "1⠳⠢⠢⠕"] # 0x21B7 (Clockwise top semicircle arrow)
+# - "↼": [t: "1⠳⠈⠗⠪"] # 0x21BC (Leftwards harpoon with barb upwards)
+# - "↽": [t: "1⠳⠠⠗⠪"] # 0x21BD (Leftwards harpoon with barb downwards)
+# - "↾": [t: "1⠳⠠⠗⠬"] # 0x21BE (Upwards harpoon with barb rightwards)
+# - "↿": [t: "1⠳⠈⠗⠬"] # 0x21BF (Upwards harpoon with barb leftwards)
+# - "⇀": [t: "1⠳⠈⠗⠕"] # 0x21C0 (Rightwards harpoon with barb upwards)
+# - "⇁": [t: "1⠳⠠⠗⠕"] # 0x21C1 (Rightwards harpoon with barb downwards)
+# - "⇂": [t: "1⠳⠈⠗⠩"] # 0x21C2 (Downwards harpoon with barb rightwards)
+# - "⇃": [t: "1⠳⠠⠗⠩"] # 0x21C3 (Downwards harpoon with barb leftwards)
+# - "⇄": [t: "1⠳⠕⠻⠳⠪"] # 0x21C4 (Rightwards arrow over leftwards arrow)
+# - "⇅": [t: "1⠳⠬⠿⠳⠩"] # 0x21C5 (Upwards arrow left of Downwards arrow)
+# - "⇌": [t: "⠘⠸⠶"] # 0x21CC (Rightwards harpoon over leftwards harpoon (equilibrium))
+# - "⇑": [t: "1⠳⠶⠬"] # 0x21D1 (Upwards double arrow)
+# - "⇓": [t: "1⠳⠶⠩"] # 0x21D3 (Downwards double arrow)
+# - "⇕": [t: "1⠳⠺⠶⠗⠬"] # 0x21D5 (Up down double arrow)
+# - "⇠": [t: "1⠳⠂⠪"] # 0x21E0 (Leftwards dashed arrow)
+# - "⇡": [t: "1⠳⠂⠬"] # 0x21E1 (Upwards dashed arrow)
+# - "⇢": [t: "1⠳⠂⠕"] # 0x21E2 (Rightwards dashed arrow)
+# - "⇣": [t: "1⠳⠂⠩"] # 0x21E3 (Downwards dashed arrow)
+# - "⥂": [t: "⠸⠶"] # 0x2942 (Rightwards arrow above short leftwards arrow (equilibrium, trend to the right))
+# - "⥄": [t: "⠈⠸⠶"] # 0x2944 (Short rightwards arrow above leftwards arrow (equilibrium, trend to the left))
+# - "▤": [t: "⠨⠫⠼⠙t"] # 0x25A4 (Square with horizontal fill)
+# - "▥": [t: "⠨⠫⠼⠙t"] # 0x25A5 (Square with vertical fill)
+# - "▦": [t: "⠨⠫⠼⠙t"] # 0x25A6 (Square with orthogonal crosshatch fill)
+# - "▧": [t: "⠨⠫⠼⠙t"] # 0x25A7 (Square with upper left to lower right fill)
+# - "▨": [t: "⠨⠫⠼⠙t"] # 0x25A8 (Square with upper right to lower left fill)
+# - "▩": [t: "⠨⠫⠼⠙t"] # 0x25A9 (Square with diagonal crosshatch fill)
+# - "◍": [t: "⠨⠫⠿t"] # 0x25CD (Circle with vertical fill)
+# - "▱": [t: "1⠫⠈⠼⠙t"] # 0x25B1 (Parallelogram)
+# - "▲": [t: "⠸⠫⠼⠉t"] # 0x25B2 (Filled triangle)
+# - "■": [t: "⠸⠫⠼⠙t"] # 0x25A0 (Filled square)
+# - "≜": [t: "⠠⠨⠙⠻⠐⠶"] # 0x225C (Delta equal to)
+# - "≝": [t: "1⠣⠙⠑⠋⠜⠻⠐⠶"] # 0x225D (Equal to by definition)
+# - "⊕": [t: "1⠫⠿⠪⠐⠖t"] # 0x2295 (Circled plus)
+# - "⊖": [t: "1⠫⠿⠪⠐⠤t"] # 0x2296 (Circled minus)
+# - "⊗": [t: "1⠫⠿⠪⠐⠦t"] # 0x2297 (Circled times)
+# - "⊛": [t: "1⠫⠿⠪⠐⠔t"] # 0x229B (Circled asterisk operator)
+# - "⊞": [t: "1⠫⠼⠙⠪⠐⠖t"] # 0x229E (Squared plus)
+# - "⊟": [t: "1⠫⠼⠙⠪⠐⠤t"] # 0x229F (Squared minus)
+# - "⊠": [t: "1⠫⠼⠙⠪⠐⠦t"] # 0x22A0 (Squared times)
+# - "⋇": [t: "1⠌⠯⠦"] # 0x22C7 (Division times)
+# - "⊩": [t: "⠸⠳⠿⠸⠒"] # 0x22A9 (Forces)
+ - "˙": [t: "⠈"] # 0x02D9 ( Dot Above)
+ - "¨": [t: "⠈⠈"] # 0x00A8 ( Diaeresis/Double Dot Above )
+ - "⃛": [t: "⠈⠈⠈"] # 0x20db (combining triple dot)
+ - "©": [t: "⠣⠨⠉⠜"] # 0xa9 (Copyright)
+ - "®": [t: "⠣⠨⠗⠜"] # 0xa9 (Registered sign)
+
+ - "…": [t: "⠄⠄⠄"] # 0x2026 (Ellipsis)
+ - "⋯": [t: "⠄⠄⠄"] # 0x22EF (mid-line Ellipsis) -- seems to be same based on Example 10.1.3
+
+
+# All the quotes are the same
+ - "\"": [t: "⠦"]
+ - "'": [t: "⠄"]
+ - "“": [t: "⠦"] # 0x201C
+ - "”": [t: "⠦"] # 0x201C
+ - "‘": [t: "⠦"]
+ - "’": # 0x2019 (2.3_3)
+ - test:
+ if: "self::m:mn"
+ then: [t: "N⠂"] # same as '.' block separator
+ else: [t: "⠦"]
+ - "«": [t: "⠦"]
+ - "»": [t: "⠦"]
+
+ - " ": # 0x20 (Space)
+ - test:
+ - if: "self::m:mn"
+ then: [t: "N⠄"]
+ - else_if: "@data-added='missing-content' or @data-empty-in-2D or @width > 1.1"
+ then: [t: "⠰⠤⠆"] # omission
+ - else_if: "@width < 0.25"
+ then: [t: ""] # tweaking space -- ignore
+ else: [t: "W"] # space in text or wide enough space
+ - " ": # 0xa0 (Non-breaking Space)
+ - test:
+ - if: "self::m:mn"
+ then: [t: "N⠄"]
+ else: [t: "W"]
+ - ",": # 0x2c (Comma)
+ - test:
+ if: "self::m:mn"
+ then: [t: "N⠂"]
+ else: [t: "W⠂"]
+ - ".": # 0x2e (Period) -- 2.3 says that if this is acting like a decimal separator, it should be brailled like ","
+ - test:
+ if: "self::m:mn"
+ then:
+ # presunme this is likely uses "," for a decimal separator, so just do a few checks
+ # 1. if there are < 3 chars after the first ".", then not a block separator
+ # 2. if there is a '.' or other likely block separator after the first '.', then not decimal separator
+ # likely other (complicated?) other tests that could be used
+ - with:
+ variables: [StringAfter: "substring-after(., '.')"]
+ replace:
+ - test:
+ if: "string-length($StringAfter) >= 3 and string-length($StringAfter)=string-length( translate($StringAfter, $BlockSeparators, '') )"
+ then: [t: "N⠄"] # really is a block separator
+ else: [t: "N⠂"] # treat as decimal separator
+ else: [t: "W⠄"]
+ - ":": [t: "⠐⠂"] # 0x003A (Colon)
+ - "-": [t: "⠤"] # 0x2d (Minus sign or hyphen)
+ - "": [t: ""] # 0x2061 (invisible function apply)
+ - "": [t: ""] # 0x2062 (invisible times)
+ - "": [t: ""] # 0x2063 (invisible separator)
+ - "": [t: ""] # 0x2064 (invisible plus)
+
+ - "`": [t: "⠢"] # 0x0060 (GRAVE ACCEN)
+
+ - "א": [t: "⠠⠳"] # 0x05D0 (aleph)
+ - "○": [t: "⠪⠕"] # 0x25CB (círculo)
+ - "∞": [t: "⠼⠳"] # 0x221E (infinito)
+ - "⎔": [t: "⠯⠕"] # 0x2394 (polígono)
+ - "‰": [t: "⠸⠴⠴"] # 0x2030 (tanto por mil)
+ - "¬": [t: "⠠⠄"] # 0x00AC (negación lógica)
+ - "↕": [t: "⠸⠅"] # 0x2195 (flecha arriba-abajo)
+ - "↖": [t: "⠐⠡"] # 0x2196 (flecha oblicua arriba-izquierda)
+ - "↙": [t: "⠐⠌"] # 0x2199 (flecha abajo-izquierda)
+ - "↓": [t: "⠸⠄"] # 0x2193 (flecha hacia abajo)
+ - "↘": [t: "⠡⠂"] # 0x2198 (flecha oblicua abajo-derecha)
+ - "↗": [t: "⠌⠂"] # 0x2197 (flecha arriba-derecha)
+ - "↑": [t: "⠸⠁"] # 0x2191 (flecha hacia arriba)
+ - "△": [t: "⠠⠾"] # 0x25B3 (Triangle)
+ - "▭": [t: "⠯⠽"] # 0x25AD (rectángulo)
+ - "□": [t: "⠸⠽"] # 0x25A1 (cuadrado)
+ - "⟺": [t: "⠪⠒⠕"] # 0x27FA (doble implicación «si y solo si»)
+ - "⟸": [t: "⠪⠒"] # 0x27F8 (implicación recíproca; porque)
+ - "⟹": [t: "⠒⠕"] # 0x27F9 (implicación directa; implica)
+ - "⇔": [t: "⠪⠒⠕"] # 0x21D4 (LEFT RIGHT DOUBLE ARROW)
+ - "⇐": [t: "⠪⠒"] # 0x21D0 (LEFTWARDS DOUBLE ARROW)
+ - "⇒": [t: "⠒⠕"] # 0x21D2 (RIGHTWARDS DOUBLE ARROW)
+ - "⤡": [t: "⠐⠡⠂"] # 0x2921 (flecha abajo-derecha y arriba izquierda)
+ - "⤢": [t: "⠐⠌⠂"] # 0x2922 (flecha abajo-izquierda y arriba derecha)
+ - "⌋": [t: "⠠⠾"] # 0x230B (cerrar suelo)
+ - "⌊": [t: "⠷⠄"] # 0x230A (abrir suelo)
+ - "⌉": [t: "⠐⠾"] # 0x2309 (cerrar techo)
+ - "⌈": [t: "⠷⠂"] # 0x2308 (abrir techo)
+ - "⋩": [t: "⠕⠂"] # 0x22E9 (posterior a MULTI)
+ - "⋨": [t: "⠐⠪"] # 0x22E8 (anterior a MULTI)
+ - "⋟": [t: "⠕⠂⠶"] # 0x22DF (posterior o igual a)
+ - "⋞": [t: "⠐⠪⠶"] # 0x22DE (anterior o igual a)
+ - "⋝": [t: "⠕⠶"] # 0x22DD (mayor o igual que MULTI)
+ - "⋜": [t: "⠪⠶"] # 0x22DC (menor o igual que MULTI)
+ - "⋏": [t: "⠸⠣"] # 0x22CF (proposición falsa)
+ - "⋎": [t: "⠸⠎"] # 0x22CE (proposición verdadera)
+ - "⨂": [t: "⠪⠦"] # 0x2A02 (producto tensorial)
+ - "⨁": [t: "⠪⠖"] # 0x2A01 (suma directa)
+ - "⋃": # 0x22C3 (unión de una familia de conjuntos)
+ - t: "⠿⠜"
+ - test:
+ if: "not(IsNode(.., 'modified'))"
+ then: [t: "⠱"]
+ - "⋂": # 0x22C2 (intersección de una familia de conjuntos)
+ - t: "⠿⠱"
+ - test:
+ if: "not(IsNode(.., 'modified'))"
+ then: [t: "⠱"]
+ - "⋁": # 0x22C1 (disyunción de una familia de proposiciones)
+ - t: "⠿⠊"
+ - test:
+ if: "not(IsNode(.., 'modified'))"
+ then: [t: "⠱"]
+ - "⋀": # 0x22C0 (conjunción de una familia de proposiciones)
+ - t: "⠿⠢"
+ - test:
+ if: "not(IsNode(.., 'modified'))"
+ then: [t: "⠱"]
+ - "⊿": [t: "⠸⠦"] # 0x22BF (triángulo rectángulo)
+ - "⊩": [t: "⠸⠶"] # 0x22A9 (tautología)
+ - "⊮": [t: "⠘⠸⠶"] # 0x22AE (no tautología)
+ - "⊇": [t: "⠰⠜"] # 0x2287 (incluye o es igual a)
+ - "⊉": [t: "⠘⠰⠜"] # 0x2289 (no incluye ni es igual a)
+ - "⊆": [t: "⠣⠆"] # 0x2286 (incluido o es igual a)
+ - "⊈": [t: "⠘⠣⠆"] # 0x2288 (no incluido ni es igual a)
+ - "⊃": [t: "⠠⠜"] # 0x2283 (Incluye; tiene como subconjunto)
+ - "⊅": [t: "⠘⠠⠜"] # 0x2285 (no incluye a)
+ - "⊂": [t: "⠣⠄"] # 0x2282 (Incluido; subconjunto)
+ - "⊄": [t: "⠘⠣⠄"] # 0x2284 (no incluido en)
+ - "⋡": [t: "⠘⠕⠂⠶"] # 0x22E1 (no es posterior ni igual a)
+ - "≽": [t: "⠕⠂⠶"] # 0x227D (sigue o igual a)
+ - "⋠": [t: "⠘⠐⠪⠶"] # 0x22E0 (no es anterior ni igual a)
+ - "≼": [t: "⠐⠪⠶"] # 0x227C (precede o igual a)
+ - "≹": [t: "⠘⠕⠪"] # 0x2279 (ni mayor ni menor que)
+ - "≸": [t: "⠘⠕⠪"] # 0x2278 (ni mayor ni menor que)
+ - "≧": [t: "⠕⠶"] # 0x2267 (mayor o igual que MULTI)
+ - "≦": [t: "⠪⠶"] # 0x2266 (menor o igual que MULTI)
+ - "≱": [t: "⠘⠕⠶"] # 0x2271 (no es mayor ni igual que)
+ - "≥": [t: "⠕⠶"] # 0x2265 (mayor o igual que MULTI)
+ - "≤": [t: "⠪⠶"] # 0x2264 (menor o igual que MULTI)
+ - "≰": [t: "⠘⠪⠶"] # 0x2270 (no es menor ni igual que)
+ - "⩽": [t: "⠪⠶"] # 0x227D
+ - "⩾": [t: "⠕⠶"] # 0x2A7E (greater-than-or-slanted-equals)
+ # FIX: ≈" p99 has "⠐⠶"
+ - "≈": [t: "⠐⠶⠄"] # 0x2248 (casi igual a; asintóticamente igual a)
+ - "≄": [t: "⠘⠐⠶⠄"] # 0x2244 (no es asintóticamente igual a)
+ - "≁": [t: "⠘⠐⠢⠄"] # 0x2241 (tilde sube-baja tachada)
+ - "∺": [t: "⠨⠒⠅"] # 0x223A (progresión geométrica)
+ - "∷": [t: "⠰⠆"] # 0x2237 (proporción; igualdad de razones)
+ - "∶": [t: "⠐⠂"] # 0x2236 (ratio)
+ - "∵": [t: "⠀⠈⠌⠀"] # 0x2235 (puesto que)
+ - "∴": [t: "⠀⠠⠡⠀"] # 0x2234 (por lo tanto)
+ - "∪": [t: "⠸⠜"] # 0x222A (unión)
+ - "⩊": [t: "⠢⠔"] # 0x2A4A (curva geométrica)
+ - "∩": [t: "⠸⠱"] # 0x2229 (intersección)
+ - "⊻": [t: "⠸⠮"] # 0x2228 (disyunción excluyente)
+ - "∨": [t: "⠸⠊"] # 0x2228 (disyunción (o))
+ - "∧": [t: "⠸⠢"] # 0x2227 (conjunción (y))
+ - "∤": [t: "⠘⠸⠀"] # 0x2224 (no es divisor de)
+ - "∝": [t: "⠸⠲"] # 0x221D (proporcional a)
+ - "∖": [t: "⠐⠄"] # 0x2216 (diferencia de conjuntos)
+ - "∌": [t: "⠘⠐⠜"] # 0x220C (no comprende; no tiene como elemento)
+ - "∋": [t: "⠐⠜"] # 0x220B (comprende; tiene como elemento)
+ - "∈": [t: "⠣⠂"] # 0x2208 (es elemento de; pertenece a)
+ - "∉": [t: "⠘⠣⠂"] # 0x2209 (no es un elemento de; no pertenece a)
+ - "∅": [t: "⠸⠚"] # 0x2205 (conjunto vacío)
+ - "∃": [t: "⠨⠢"] # 0x2203 (cuantificador existencial: existe por lo menos un elemento)
+ - "∄": [t: "⠘⠨⠢"] # 0x2204 (no existe)
+ - "∀": [t: "⠨⠄"] # 0x2200 (cuantificador universal: para todo)
+ - "ǁ": [t: "⠸⠇"] # 0x01C1 (doble barra)
+ - "÷": [t: "⠲"] # 0x00F7 (dividido por)
+ - "×": # 0x00D7 (multiplicar (aspas))
+ # FIX: this is a hacky attempt to figure out whether this is vector multiplication or regular multiplication
+ # Look for an arrow above or a bold on each side
+ - test:
+ if:
+ - "preceding-sibling::*[1][@math-variant='bold' or self::m:mover[*[2][.='→' or .='⟶' or .='⇀']]] and"
+ - "following-sibling::*[1][@math-variant='bold' or self::m:mover[*[2][.='→' or .='⟶' or .='⇀']]]"
+ then: [t: "⠈⠦"]
+ else: [t: "⠦"]
+ - "≫": [t: "⠕⠕"] # 0x226B (mucho mayor que)
+ - "≪": [t: "⠪⠪"] # 0x226A (mucho menor que)
+ - "±": [t: "⠖⠒⠤"] # 0x00B1 (más o menos)
+ - "⊁": [t: "⠘⠕⠂"] # 0x2281 (no es posterior a)
+ - "≻": [t: "⠕⠂"] # 0x227B (sigue a; posterior a)
+ - "≯": [t: "⠘⠕"] # 0x226F (no mayor que)
+ - "=": [t: "⠶"] # 0x003D (igual a)
+ - "≠": [t: "⠘⠶"] # 0x2260 (distinto de)
+ - "⊀": [t: "⠘⠐⠪"] # 0x2280 (no es anterior a)
+ - "⪼": [t: "⠕⠕⠂"] # 0x2ABC (muy posterior a)
+ - "⪻": [t: "⠐⠪⠪"] # 0x2ABB (muy anterior a)
+ - "≺": [t: "⠐⠪"] # 0x227A (precede a; anterior a)
+ - "≮": [t: "⠘⠪"] # 0x226E (no menor que)
+ - "∓": [t: "⠤⠒⠖"] # 0x2213 (menos o más)
+ - "∕": [t: "⠠⠂"] # 0x2215 (conjunto cociente)
+ - "〛": [t: "⠾⠂"] # 0x301B (cerrar corchetes de clase)
+ - "〚": [t: "⠐⠷"] # 0x301A (abrir corchetes de clase)
+ - "₡": [t: "⠸⠉"] # 0x20A1 (colón)
+ - "€": [t: "⠸⠑"] # 0x20AC (euro)
+ - "¥": [t: "⠸⠽"] # 0x00A5 (yen)
+ - "£": [t: "⠐⠮"] # 0x00A3 (libra)
+ - "¢": [t: "⠘⠉"] # 0x00A2 (centavo)
+ - "〉": [t: "⠨⠂"] # 0x232A (cerrar paréntesis angulares)
+ - "〈": [t: "⠐⠅"] # 0x2329 (abrir paréntesis angulares)
+ - "⟨": [t: "⠐⠅"] # 0x27E8 (Mathematical left angle bracket)
+ - "⟩": [t: "⠨⠂"] # 0x27E9 (Mathematical right angle bracket)
+ - "}": [t: "⠸⠂"] # 0x007D (cerrar llaves)
+ - "|": [t: "⠸𝘄"] # 0x007C (barra vertical)
+ - "{": [t: "⠐⠇"] # 0x007B (abrir llaves)
+ - "\\": [t: "⠐⠄"] # 0x005C (barra inversa)
+ - ";": [t: "⠀⠆"] # 0x003B (punto y coma de separación)
+ - "/": [t: "⠲"] # 0x002F (barra oblicua)
+ - "%": [t: "⠸⠴"] # 0x0025 (tanto por ciento)
+ - "$":
+ - test:
+ if: "following-sibling::*[self::m:mn]"
+ then: [t: "⠸⠏"] # 0x0024 (peso)
+ else: [t: "⠸⠎"] # 0x0024 (dólar)
+ - "#": [t: "⠼⠅"] # 0x0023 (cardinal de un conjunto)
+ - "₿": [t: "⠸⠃"] # 0x20BF (bitcoin)
+ - "⟧": [t: "⠾⠂"] # 0x27E7 (cerrar corchete de clase)
+ - "⟦": [t: "⠐⠷"] # 0x27E6 (abrir corchete de clase)
+ - "∇": [t: "⠈⠻"] # 0x2207 (Nabla (del, inverted capital delta))
+
+ - "≐": [t: "⠈⠶"] # 0x2250 (aproximadamente igual a)
+ - "≟": [t: "⠶⠢⠀"] # 0x225F (cuestionado que sea igual a)
+ - "≔": [t: "⠰⠶"] # 0x2254 (igual por definición)
+ - "≙": [t: "⠰⠒⠶"] # 0x2259 (corresponde a)
+ - "≡": [t: "⠶⠶"] # 0x2261 (idéntico a; congruente con)
+
+ - "∥": [t: "⠸⠇"] # 0x2225 (es paralela a)
+ - "∦": [t: "⠘⠸⠇"] # 0x2226 (no paralela)
+ - "≅": [t: "⠐⠢⠶"] # 0x2245 (congruente con)
+ - "⊥": [t: "⠼⠄"] # 0x22A5 (perpendicular a/ortogonal a) [symbol used in spec]
+ - "⟂": [t: "⠼⠤"] # 0x27C2 (Perpendicular)
+
+ - "⊙": [t: "⠰⠄"] # 0x2299 (operador genérico (suele utilizarse para representar una operación entre elementos de un conjunto)
+ - "⊚": [t: "⠰⠄"] # 0x229A (operador genérico (suele utilizarse para representar una operación entre elementos de un conjunto)
+ - "⋆": [t: "⠰⠄"] # 0x22C6 (operador genérico (suele utilizarse para representar una operación entre elementos de un conjunto)
+ - "†": [t: "⠰⠄"] # 0x2020 (operador genérico (suele utilizarse para representar una operación entre elementos de un conjunto)
+ - "∗": [t: "⠰⠄"] # 0x2217 (operador genérico (suele utilizarse para representar una operación entre elementos de un conjunto)
diff --git a/Rules/Braille/Nemeth/unicode.yaml b/Rules/Braille/Nemeth/unicode.yaml
index 5b9c973f9..6ac9c74d8 100644
--- a/Rules/Braille/Nemeth/unicode.yaml
+++ b/Rules/Braille/Nemeth/unicode.yaml
@@ -1,352 +1,352 @@
----
-# To greatly simplify typeface/language generation, the chars have unique ASCII chars for them:
-# Typeface: S: sans-serif, B: bold, T: script/blackboard, I: italic, R: Roman
-# Language: E: English, D: German, G: Greek, V: Greek variants, H: Hebrew, U: Russian
-# Indicators: C: capital, L: letter, N: number, P: punctuation, M: multipurpose
-# Others: W -- whitespace that should be kept (e.g, in a numeral)
-# SRE doesn't have H: Hebrew or U: Russian, so not encoded (yet)
-# Some of the weird letters (e.g., circled letters) I didn't translate with the above because
-# they don't interact with rules since they are enclosed in other chars.
-
-
- # --- Nemeth Default Alphabet normal chars. ---
- - "0": [t: "N⠴"] # 0x30
- - "1": [t: "N⠂"] # 0x31
- - "2": [t: "N⠆"] # 0x32
- - "3": [t: "N⠒"] # 0x33
- - "4": [t: "N⠲"] # 0x34
- - "5": [t: "N⠢"] # 0x35
- - "6": [t: "N⠖"] # 0x36
- - "7": [t: "N⠶"] # 0x37
- - "8": [t: "N⠦"] # 0x38
- - "9": [t: "N⠔"] # 0x39
- # Latin capitals: C + cells from lowercase a-z via spell/translate.
- - "A-Z": # 0x41 - 0x5a
- - tc: "C"
- - spell: "translate('.', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"
- - "a": [t: "L⠁"] # 0x61
- - "b": [t: "L⠃"] # 0x62
- - "c": [t: "L⠉"] # 0x63
- - "d": [t: "L⠙"] # 0x64
- - "e": [t: "L⠑"] # 0x65
- - "f": [t: "L⠋"] # 0x66
- - "g": [t: "L⠛"] # 0x67
- - "h": [t: "L⠓"] # 0x68
- - "i": [t: "L⠊"] # 0x69
- - "j": [t: "L⠚"] # 0x6a
- - "k": [t: "L⠅"] # 0x6b
- - "l": [t: "L⠇"] # 0x6c
- - "m": [t: "L⠍"] # 0x6d
- - "n": [t: "L⠝"] # 0x6e
- - "o": [t: "L⠕"] # 0x6f
- - "p": [t: "L⠏"] # 0x70
- - "q": [t: "L⠟"] # 0x71
- - "r": [t: "L⠗"] # 0x72
- - "s": [t: "L⠎"] # 0x73
- - "t": [t: "L⠞"] # 0x74
- - "u": [t: "L⠥"] # 0x75
- - "v": [t: "L⠧"] # 0x76
- - "w": [t: "L⠺"] # 0x77
- - "x": [t: "L⠭"] # 0x78
- - "y": [t: "L⠽"] # 0x79
- - "z": [t: "L⠵"] # 0x7a
- - "Α": [t: "GCL⠁"] # 0x391
- - "Β": [t: "GCL⠃"] # 0x392
- - "Γ": [t: "GCL⠛"] # 0x393
- - "Δ": [t: "GCL⠙"] # 0x394
- - "Ε": [t: "GCL⠑"] # 0x395
- - "Ζ": [t: "GCL⠵"] # 0x396
- - "Η": [t: "GCL⠱"] # 0x397
- - "Θ": [t: "GCL⠹"] # 0x398
- - "Ι": [t: "GCL⠊"] # 0x399
- - "Κ": [t: "GCL⠅"] # 0x39a
- - "Λ": [t: "GCL⠇"] # 0x39b
- - "Μ": [t: "GCL⠍"] # 0x39c
- - "Ν": [t: "GCL⠝"] # 0x39d
- - "Ξ": [t: "GCL⠭"] # 0x39e
- - "Ο": [t: "GCL⠕"] # 0x39f
- - "Π": [t: "GCL⠏"] # 0x3a0
- - "Ρ": [t: "GCL⠗"] # 0x3a1
- - "ϴ": [t: "GCL⠹"] # 0x3f4
- - "Σ": [t: "GCL⠎"] # 0x3a3
- - "Τ": [t: "GCL⠞"] # 0x3a4
- - "Υ": [t: "GCL⠥"] # 0x3a5
- - "Φ": [t: "GCL⠋"] # 0x3a6
- - "Χ": [t: "GCL⠯"] # 0x3a7
- - "Ψ": [t: "GCL⠽"] # 0x3a8
- - "Ω": [t: "GCL⠺"] # 0x3a9
- - "∇": [t: "GL⠫"] # 0x2207
- - "α": [t: "GL⠁"] # 0x3b1
- - "β": [t: "GL⠃"] # 0x3b2
- - "γ": [t: "GL⠛"] # 0x3b3
- - "δ": [t: "GL⠙"] # 0x3b4
- - "ε": [t: "GL⠑"] # 0x3b5
- - "ζ": [t: "GL⠵"] # 0x3b6
- - "η": [t: "GL⠱"] # 0x3b7
- - "θ": [t: "GL⠹"] # 0x3b8
- - "ι": [t: "GL⠊"] # 0x3b9
- - "κ": [t: "GL⠅"] # 0x3ba
- - "λ": [t: "GL⠇"] # 0x3bb
- - "μ": [t: "GL⠍"] # 0x3bc
- - "ν": [t: "GL⠝"] # 0x3bd
- - "ξ": [t: "GL⠭"] # 0x3be
- - "ο": [t: "GL⠕"] # 0x3bf
- - "π": [t: "GL⠏"] # 0x3c0
- - "ρ": [t: "GL⠗"] # 0x3c1
- - "ς": [t: "VL⠎"] # 0x3c2
- - "σ": [t: "GL⠎"] # 0x3c3
- - "τ": [t: "GL⠞"] # 0x3c4
- - "υ": [t: "GL⠥"] # 0x3c5
- - "φ": [t: "VL⠋"] # 0x3c6
- - "χ": [t: "GL⠯"] # 0x3c7
- - "ψ": [t: "GL⠽"] # 0x3c8
- - "ω": [t: "GL⠺"] # 0x3c9
- - "ϵ": [t: "GL⠑"] # 0x3f5
- - "ϑ": [t: "VL⠹"] # 0x3d1
- - "ϰ": [t: "GL⠅"] # 0x3f0
- - "ϕ": [t: "GL⠋"] # 0x3d5
- - "ϱ": [t: "GL⠗"] # 0x3f1
- - "ϖ": [t: "GL⠏"] # 0x3d6
-
-
- # --- Nemeth Default Characters math_symbols chars. ---
- - "`": [t: "⠈"] # 0x60
- - "⋮": # 0x22ee
- - test: # if we have a triple bond represented by "⋮⋮", the we output the triple bond for the first but not the second
- if: "@data-chemical-bond and (preceding-sibling::*[1] = '⋮' or following-sibling::*[1] = '⋮')"
- then_test:
- if: "following-sibling::*[1] = '⋮'"
- then: [t: "⠨⠹"] # output only the first of the two chars
- else: [t: "⠩⠄⠄"]
- - "⋯": [t: "⠄⠄⠄"] # 0x22ef
- - "⋰": [t: "⠘⠄⠄"] # 0x22f0
- - "⋱": [t: "⠰⠄⠄"] # 0x22f1
- - "≡": # 0x2261
- - test:
- if: "@data-chemical-bond"
- then: [t: "⠸⠿⠻"]
- else: [t: "⠸⠇"]
-
- # --- Nemeth Default Characters rest chars. ---
- - " ": # 0x20 (space)
- - test:
- if: "self::m:mn"
- then: [t: "⠀"]
- else: [t: "W"]
-
- - " ": # 0xA0 (non-breaking space)
- - test:
- - if: "self::m:mn"
- then: [t: "⠀"]
- # # part of longer string or part of preceeding or following text
- - else_if: "@data-added='missing-content' or @data-empty-in-2D or @width > 1.1"
- then: [t: "⠿"] # omission
- - else_if: "(string-length(.) > 1 or preceding-sibling::*[1][self::m:mtext and .!=','] or following-sibling::*[1][self::m:mtext])"
- then: [t: "W"]
- # treat mo like 0x2061 (function apply)
- - else_if: "self::m:mo and
- (preceding-sibling::*[1][IsInDefinition(., 'Braille', 'GeometryShapes')] or
- @data-function-likelihood and
- IsInDefinition(BaseNode(.), 'Braille', 'FunctionNames') and
- not(following-sibling::*[1][IsBracketed(., '', '')])
- )"
- then: [t: "w"] # follows a function name, so lowercase
-
- - "!": # 0x21 (Factorial)
- - test:
- if: "self::m:mo"
- then: [t: "⠯"]
- else: [t: "P⠖"]
-
-# - "\"": [t: ""] # 0x22 (Quotation mark)
- - "#": [t: "⠨⠼"] # 0x23 (Number sign)
- - "$": [t: "⠈⠎"] # 0x24 (Dollar sign)
- - "%": [t: "⠈⠴"] # 0x25 (Percent sign)
- - "&": [t: "⠸⠯"] # 0x26 (Ampersand)
- - "'": [t: "P⠄"] # 0x27 (Apostrophe)
- - "(": [t: "⠷"] # 0x28 (Left parenthesis)
- - ")": [t: "⠾"] # 0x29 (Right parenthesis)
- - "*": [t: "⠈⠼"] # 0x002A (Asterisk)
- - "+": # 0x002B (Plus sign)
- - test:
- # Add multipurpose indicator before prefix '+' to avoid being the same as '∓'
- if: "not(preceding-sibling::*) and parent::*[1][name(.)='mrow' and preceding-sibling::*[1][name(.)='mo' and .='-']]"
- then: [t: "m⠬"]
- else: [t: "⠬"]
-
- - ",": # 0x002C (Comma)
- - test:
- # test if first ancestor that isn't an mrow is a script tag (rule 78)
- - if: "self::m:mn"
- then: [t: "⠠"]
- - else_if: "ancestor-or-self::*[not(parent::m:mrow)][1][parent::m:msub or parent::m:msup or parent::m:msubsup or parent::m:mmultiscripts][preceding-sibling::*]"
- then: [t: "⠪"] # Rule 78
- else: [t: ","] # ',' used for matching purposes, converted to "⠠⠀"
- - "-": # 0x002D (Hyphen) (0x2212 normalized to here) -- 38vi says don't use the punctuation indicator
- - test:
- # Add multipurpose indicator before prefix '+' to avoid being the same as '±' or a dash
- if: "@data-chemical-bond"
- then: [t: "⠸⠒⠻"]
- else_test:
- if: "not(preceding-sibling::*) and parent::*[1][name(.)='mrow' and preceding-sibling::*[1][name(.)='mo' and (.='+' or .='-')]]"
- then: [t: "m⠤"]
- else: [t: "⠤"]
-
- - ".": # 0x002E (Full stop or decimal pt)
- # '.' is particularly tricky because we need to know if it is really numeric or not.
- # if it is numeric, it might be a on it's own or part of a number.
- # normally, it is merged with the digits if part of a number, but if the adjacent digit(s) are modified
- # by something (e.g., a bar over the digit to signify that it repeats), then it is really part of the number
- # If it is the last part of the expr, then it is punctuation (for typographic reasons, punctuation is often included in the math)
- - test:
- if: "self::m:mn or (self::m:mo and following-sibling::*)"
- then_test:
- if: "string-length(text()) = 1 and not(
- following-sibling::*[1][BaseNode(.)[self::m:mn]] or
- following-sibling::*[1][self::m:menclose and @notation='top' and *[1][self::m:mn]]
- )"
- then: [t: "𝑁⠨"] # example 8c(4) -- lone "." is not considered numeric, but not a period
- else: [t: "N⠨"]
- else_test:
- - if: "parent::m:mover and preceding-sibling::*"
- then: [t: "⠡"]
- - else_if: "preceding-sibling::*[1][@data-roman-numeral or
- (name(.)='mrow' and *[last()][@data-roman-numeral])]"
- then: [t: "𝐏⠲"]
- else: [t: "P⠲"]
- - "/": [t: "⠸⠌"] # 0x002F (Solidus)
- - ":": # 0x003A (Colon)
- # sometimes a colon is meant to be a ratio
- # we start to see if this is marked as 'ratio' and not marked as something else (but ignoring a literal)
- # this test is based on what SRE does -- if the "roles" are the same, it guesses "ratio"
- # MathCAT doesn't have roles, so we do a hack that looks checks mrows if not atomic.
- # If an mrow, guess it is infix and checks the operator. This is pretty weak!
- # Need to rule out field extensions "[K:F]" and trilinear coordinates "a:b:c" as they use the punctuation form
- # When using the punctuation form, there may or may not be a trailing spacing depending on the "print"
- # NFB Lesson 5.7 says "Follow print for spacing after the colon."
- # We can't normally tell spacing, but it *should* have a space in function mapping and set builder notation if the author used appropriate notation
- # The canonicalization code makes this guess and adds "data-space-after"
- - test:
- - if: "@intent='ratio' or
- ( (@intent and starts-with(@intent, '_')) and
- ../self::m:mrow and
- not(ancestor::*[2][IsBracketed(., '[', ']')]) and
- not( preceding-sibling::*[2][.=':'] or following-sibling::*[2][.=':']) and
- name(preceding-sibling::*[1]) = name(following-sibling::*[1]) and
- ( name(preceding-sibling::*[1]) != 'mrow' or
- (preceding-sibling::*[1]/*[2][text()] = following-sibling::*[1]/*[2][text()]) )
- )"
- then: [t: "W⠐⠂W"]
- - else_if: "@data-chem-formula-op" # lewis dots
- then:
- - t: "⠹"
- else:
- - t: "P⠒"
- - test:
- if: "@data-space-after or ancestor::*[2][IsBracketed(., '{', '}')] or following-sibling::*[1]/*[2][IsInDefinition(., 'Braille', 'Arrows')]" # "Arrows" is a bit broad...
- then: [t: "W"]
- - ";": [t: "P⠆"] # 0x003B (Semicolon)
- - "<": [t: "⠐⠅"] # 0x003C (Less-than sign)
- - "=": # 0x003D (Equals sign)
- - test:
- if: "@data-chemical-bond"
- then: [t: "⠸⠶⠻"]
- else: [t: "⠨⠅"]
-
- - ">": [t: "⠨⠂"] # 0x003E (Greater-than sign)
- - "?": [t: "P⠦"] # 0x003F (Question mark)
- - "@": [t: "⠈⠁"] # 0x40 (Commercial at)
- - "[": [t: "⠈⠷"] # 0x005B (Left square bracket)
- - "\\": [t: "⠸⠡"] # 0x005C (Reverse solidus)
- - "]": [t: "⠈⠾"] # 0x005D (Right square bracket)
- - "^": [t: "⠸⠣"] # 0x005E (Circumflex accent)
- - "_": [t: ""] # 0x005F (Low line)
- - "{": [t: "⠨⠷"] # 0x007B (Left curly bracket)
- - "|": # 0x007C (Vertical line)
- - test:
- if: "preceding-sibling::* and following-sibling::*"
- then: [t: "w⠳w"] # comparison (e.g., such that -- rule 145)
- else: [t: "⠳"] # absolute value, others???
- - "}": [t: "⠨⠾"] # 0x007D (Right curly bracket)
- - "~": [t: "⠈⠱"] # 0x007E (Tilde)
- - "¬": [t: ""] # 0x00AC (Not sign)
- - "¯": [t: "⠱"] # 0x00AF (bar)
- - "°": [t: "⠨⠡"] # 0x00B0 (Degree sign)
- - "±": [t: "⠬⠤"] # 0x00B1 (Plus-minus sign)
- - "·": [t: "⠡"] # 0x00B7 (Middle dot)
- - "×": [t: "⠈⠡"] # 0x00D7 (Multiplication sign)
- - "÷": [t: "⠨⠌"] # 0x00F7 (Division sign)
- - "—": [t: "P⠤⠤"] # 0x2014 (Em dash)
- # rule 43b about spaces (references rule 42)
- # dashes are 'mo's so no inserted invisible times between it and currency symbols
- - "―": # 0x2015 (Horizontal bar)
- - test:
- if:
- - "not("
- - " (not(preceding-sibling::*) and parent::*[1][name(.)='mrow' and preceding-sibling::*[1][IsInDefinition(., 'Braille', 'NemethPunctAndOpenBeforeSymbols')]]) or"
- - " (preceding-sibling::*[1][IsInDefinition(., 'Braille', 'NemethCurrencyBeforeSymbols')])"
- - ")"
- then: [t: "W"]
- - t: "⠤⠤⠤⠤"
- - test:
- if:
- - "not("
- - " name(parent::*[1])='mrow' and ("
- - " (following-sibling::*[1][IsInDefinition(., 'Braille', 'NemethPunctAndOpenAfterSymbols')]) or "
- - " (not(following-sibling::*) and parent::*[1][name(.)='mrow' and following-sibling::*[1][IsInDefinition(., 'Braille', 'NemethPunctAndOpenAfterSymbols')]]) or "
- - " (following-sibling::*[1][.='\u2062'] and following-sibling::*[2][IsInDefinition(., 'Braille', 'NemethCurrencyAfterSymbols')])"
- - " )"
- - ")"
- then: [t: "W"]
-
- - "…": # 0x2026 (Ellipsis)
- # rule 43b about spaces (references rule 42); partly superseded by lesson 2.13
- # tests are ugly because an invisible times might have been inserted and we need to skip that
- - test:
- if:
- - "not("
- - " (not(preceding-sibling::*) and parent::*[1][name(.)='mrow' and preceding-sibling::*[1][IsInDefinition(., 'Braille', 'NemethPunctAndOpenBeforeSymbols')]]) or"
- - " (preceding-sibling::*[1][.='\u2062'] and preceding-sibling::*[2][IsInDefinition(., 'Braille', 'NemethCurrencyBeforeSymbols')])"
- - ")"
- then: [t: "W"]
- - t: "⠄⠄⠄"
- - test:
- if:
- - "not("
- - " name(parent::*[1])='mrow' and ("
- - " (following-sibling::*[1][IsInDefinition(., 'Braille', 'NemethPunctAndOpenAfterSymbols')]) or "
- - " (not(following-sibling::*) and parent::*[1][name(.)='mrow' and following-sibling::*[1][IsInDefinition(., 'Braille', 'NemethPunctAndOpenAfterSymbols')]]) or "
- - " (following-sibling::*[1][.='\u2062'] and following-sibling::*[2][IsInDefinition(., 'Braille', 'NemethCurrencyAfterSymbols')])"
- - " )"
- - ")"
- then: [t: "W"]
- - "": # 0x2061 (invisible function apply)
- # add a space if name doesn't have brackets after it or is in FunctionNames list
- - test:
- if: "not(following-sibling::*[1][IsBracketed(., '', '')]) or preceding-sibling::*[1][IsInDefinition(BaseNode(.), 'Braille', 'FunctionNames')]"
- then: [t: "w"] # follows a function name, so lowercase
- - "": [t: ""] # 0x2062
- - "": # 0x2063 (Invisible Comma -- treat like a normal comma when in a subscript[issue #40]) else ignore
- - test:
- # test if first ancestor that isn't an mrow is a script tag (rule 78)
- - if: "self::m:mn"
- then: [t: ""]
- - else_if: "ancestor-or-self::*[not(parent::m:mrow)][1][parent::m:msub or parent::m:msup or parent::m:msubsup or parent::m:mmultiscripts][preceding-sibling::*]"
- then: [t: "⠪"] # Rule 78
- else: [t: ""]
- - "": [t: ""] # 0x2064
-
- - "→": # 0x2192 (Rightwards arrow)
- - test: # Rule 96 -- uncontracted form if base of under/over
- if: "not(preceding-sibling::*) and parent::*[self::m:mover or self::m:munder or self::m:munderover]"
- then: [t: "⠫⠒⠒⠕"] # uncontracted version
- else: [t: "⠫⠕"] # contracted version
- - "∂": [t: "⠈⠙"] # 0x2202 (Partial differential)
- - "∆": [t: "GCL⠙"] # 2206
-
- - "℃": [t: "⠘⠨⠡⠀⠰⠠⠉"] # 0x2103 (Degrees Celsius)
- - "℉": [t: "⠘⠨⠡⠀⠰⠠⠋"] # 0x2109 (Degrees Fahrenheit)
-
- # --- restored short definitions that differ from unicode-full ---
- - "∏": [t: "GCL⠏"] # 0x220F (N-ary product)
- - "∑": [t: "GCL⠎"] # 0x2211 (N-ary summation)
+---
+# To greatly simplify typeface/language generation, the chars have unique ASCII chars for them:
+# Typeface: S: sans-serif, B: bold, T: script/blackboard, I: italic, R: Roman
+# Language: E: English, D: German, G: Greek, V: Greek variants, H: Hebrew, U: Russian
+# Indicators: C: capital, L: letter, N: number, P: punctuation, M: multipurpose
+# Others: W -- whitespace that should be kept (e.g, in a numeral)
+# SRE doesn't have H: Hebrew or U: Russian, so not encoded (yet)
+# Some of the weird letters (e.g., circled letters) I didn't translate with the above because
+# they don't interact with rules since they are enclosed in other chars.
+
+
+ # --- Nemeth Default Alphabet normal chars. ---
+ - "0": [t: "N⠴"] # 0x30
+ - "1": [t: "N⠂"] # 0x31
+ - "2": [t: "N⠆"] # 0x32
+ - "3": [t: "N⠒"] # 0x33
+ - "4": [t: "N⠲"] # 0x34
+ - "5": [t: "N⠢"] # 0x35
+ - "6": [t: "N⠖"] # 0x36
+ - "7": [t: "N⠶"] # 0x37
+ - "8": [t: "N⠦"] # 0x38
+ - "9": [t: "N⠔"] # 0x39
+ # Latin capitals: C + cells from lowercase a-z via spell/translate.
+ - "A-Z": # 0x41 - 0x5a
+ - tc: "C"
+ - spell: "translate('.', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"
+ - "a": [t: "L⠁"] # 0x61
+ - "b": [t: "L⠃"] # 0x62
+ - "c": [t: "L⠉"] # 0x63
+ - "d": [t: "L⠙"] # 0x64
+ - "e": [t: "L⠑"] # 0x65
+ - "f": [t: "L⠋"] # 0x66
+ - "g": [t: "L⠛"] # 0x67
+ - "h": [t: "L⠓"] # 0x68
+ - "i": [t: "L⠊"] # 0x69
+ - "j": [t: "L⠚"] # 0x6a
+ - "k": [t: "L⠅"] # 0x6b
+ - "l": [t: "L⠇"] # 0x6c
+ - "m": [t: "L⠍"] # 0x6d
+ - "n": [t: "L⠝"] # 0x6e
+ - "o": [t: "L⠕"] # 0x6f
+ - "p": [t: "L⠏"] # 0x70
+ - "q": [t: "L⠟"] # 0x71
+ - "r": [t: "L⠗"] # 0x72
+ - "s": [t: "L⠎"] # 0x73
+ - "t": [t: "L⠞"] # 0x74
+ - "u": [t: "L⠥"] # 0x75
+ - "v": [t: "L⠧"] # 0x76
+ - "w": [t: "L⠺"] # 0x77
+ - "x": [t: "L⠭"] # 0x78
+ - "y": [t: "L⠽"] # 0x79
+ - "z": [t: "L⠵"] # 0x7a
+ - "Α": [t: "GCL⠁"] # 0x391
+ - "Β": [t: "GCL⠃"] # 0x392
+ - "Γ": [t: "GCL⠛"] # 0x393
+ - "Δ": [t: "GCL⠙"] # 0x394
+ - "Ε": [t: "GCL⠑"] # 0x395
+ - "Ζ": [t: "GCL⠵"] # 0x396
+ - "Η": [t: "GCL⠱"] # 0x397
+ - "Θ": [t: "GCL⠹"] # 0x398
+ - "Ι": [t: "GCL⠊"] # 0x399
+ - "Κ": [t: "GCL⠅"] # 0x39a
+ - "Λ": [t: "GCL⠇"] # 0x39b
+ - "Μ": [t: "GCL⠍"] # 0x39c
+ - "Ν": [t: "GCL⠝"] # 0x39d
+ - "Ξ": [t: "GCL⠭"] # 0x39e
+ - "Ο": [t: "GCL⠕"] # 0x39f
+ - "Π": [t: "GCL⠏"] # 0x3a0
+ - "Ρ": [t: "GCL⠗"] # 0x3a1
+ - "ϴ": [t: "GCL⠹"] # 0x3f4
+ - "Σ": [t: "GCL⠎"] # 0x3a3
+ - "Τ": [t: "GCL⠞"] # 0x3a4
+ - "Υ": [t: "GCL⠥"] # 0x3a5
+ - "Φ": [t: "GCL⠋"] # 0x3a6
+ - "Χ": [t: "GCL⠯"] # 0x3a7
+ - "Ψ": [t: "GCL⠽"] # 0x3a8
+ - "Ω": [t: "GCL⠺"] # 0x3a9
+ - "∇": [t: "GL⠫"] # 0x2207
+ - "α": [t: "GL⠁"] # 0x3b1
+ - "β": [t: "GL⠃"] # 0x3b2
+ - "γ": [t: "GL⠛"] # 0x3b3
+ - "δ": [t: "GL⠙"] # 0x3b4
+ - "ε": [t: "GL⠑"] # 0x3b5
+ - "ζ": [t: "GL⠵"] # 0x3b6
+ - "η": [t: "GL⠱"] # 0x3b7
+ - "θ": [t: "GL⠹"] # 0x3b8
+ - "ι": [t: "GL⠊"] # 0x3b9
+ - "κ": [t: "GL⠅"] # 0x3ba
+ - "λ": [t: "GL⠇"] # 0x3bb
+ - "μ": [t: "GL⠍"] # 0x3bc
+ - "ν": [t: "GL⠝"] # 0x3bd
+ - "ξ": [t: "GL⠭"] # 0x3be
+ - "ο": [t: "GL⠕"] # 0x3bf
+ - "π": [t: "GL⠏"] # 0x3c0
+ - "ρ": [t: "GL⠗"] # 0x3c1
+ - "ς": [t: "VL⠎"] # 0x3c2
+ - "σ": [t: "GL⠎"] # 0x3c3
+ - "τ": [t: "GL⠞"] # 0x3c4
+ - "υ": [t: "GL⠥"] # 0x3c5
+ - "φ": [t: "VL⠋"] # 0x3c6
+ - "χ": [t: "GL⠯"] # 0x3c7
+ - "ψ": [t: "GL⠽"] # 0x3c8
+ - "ω": [t: "GL⠺"] # 0x3c9
+ - "ϵ": [t: "GL⠑"] # 0x3f5
+ - "ϑ": [t: "VL⠹"] # 0x3d1
+ - "ϰ": [t: "GL⠅"] # 0x3f0
+ - "ϕ": [t: "GL⠋"] # 0x3d5
+ - "ϱ": [t: "GL⠗"] # 0x3f1
+ - "ϖ": [t: "GL⠏"] # 0x3d6
+
+
+ # --- Nemeth Default Characters math_symbols chars. ---
+ - "`": [t: "⠈"] # 0x60
+ - "⋮": # 0x22ee
+ - test: # if we have a triple bond represented by "⋮⋮", the we output the triple bond for the first but not the second
+ if: "@data-chemical-bond and (preceding-sibling::*[1] = '⋮' or following-sibling::*[1] = '⋮')"
+ then_test:
+ if: "following-sibling::*[1] = '⋮'"
+ then: [t: "⠨⠹"] # output only the first of the two chars
+ else: [t: "⠩⠄⠄"]
+ - "⋯": [t: "⠄⠄⠄"] # 0x22ef
+ - "⋰": [t: "⠘⠄⠄"] # 0x22f0
+ - "⋱": [t: "⠰⠄⠄"] # 0x22f1
+ - "≡": # 0x2261
+ - test:
+ if: "@data-chemical-bond"
+ then: [t: "⠸⠿⠻"]
+ else: [t: "⠸⠇"]
+
+ # --- Nemeth Default Characters rest chars. ---
+ - " ": # 0x20 (space)
+ - test:
+ if: "self::m:mn"
+ then: [t: "⠀"]
+ else: [t: "W"]
+
+ - " ": # 0xA0 (non-breaking space)
+ - test:
+ - if: "self::m:mn"
+ then: [t: "⠀"]
+ # # part of longer string or part of preceeding or following text
+ - else_if: "@data-added='missing-content' or @data-empty-in-2D or @width > 1.1"
+ then: [t: "⠿"] # omission
+ - else_if: "(string-length(.) > 1 or preceding-sibling::*[1][self::m:mtext and .!=','] or following-sibling::*[1][self::m:mtext])"
+ then: [t: "W"]
+ # treat mo like 0x2061 (function apply)
+ - else_if: "self::m:mo and
+ (preceding-sibling::*[1][IsInDefinition(., 'Braille', 'GeometryShapes')] or
+ @data-function-likelihood and
+ IsInDefinition(BaseNode(.), 'Braille', 'FunctionNames') and
+ not(following-sibling::*[1][IsBracketed(., '', '')])
+ )"
+ then: [t: "w"] # follows a function name, so lowercase
+
+ - "!": # 0x21 (Factorial)
+ - test:
+ if: "self::m:mo"
+ then: [t: "⠯"]
+ else: [t: "P⠖"]
+
+# - "\"": [t: ""] # 0x22 (Quotation mark)
+ - "#": [t: "⠨⠼"] # 0x23 (Number sign)
+ - "$": [t: "⠈⠎"] # 0x24 (Dollar sign)
+ - "%": [t: "⠈⠴"] # 0x25 (Percent sign)
+ - "&": [t: "⠸⠯"] # 0x26 (Ampersand)
+ - "'": [t: "P⠄"] # 0x27 (Apostrophe)
+ - "(": [t: "⠷"] # 0x28 (Left parenthesis)
+ - ")": [t: "⠾"] # 0x29 (Right parenthesis)
+ - "*": [t: "⠈⠼"] # 0x002A (Asterisk)
+ - "+": # 0x002B (Plus sign)
+ - test:
+ # Add multipurpose indicator before prefix '+' to avoid being the same as '∓'
+ if: "not(preceding-sibling::*) and parent::*[1][name(.)='mrow' and preceding-sibling::*[1][name(.)='mo' and .='-']]"
+ then: [t: "m⠬"]
+ else: [t: "⠬"]
+
+ - ",": # 0x002C (Comma)
+ - test:
+ # test if first ancestor that isn't an mrow is a script tag (rule 78)
+ - if: "self::m:mn"
+ then: [t: "⠠"]
+ - else_if: "ancestor-or-self::*[not(parent::m:mrow)][1][parent::m:msub or parent::m:msup or parent::m:msubsup or parent::m:mmultiscripts][preceding-sibling::*]"
+ then: [t: "⠪"] # Rule 78
+ else: [t: ","] # ',' used for matching purposes, converted to "⠠⠀"
+ - "-": # 0x002D (Hyphen) (0x2212 normalized to here) -- 38vi says don't use the punctuation indicator
+ - test:
+ # Add multipurpose indicator before prefix '+' to avoid being the same as '±' or a dash
+ if: "@data-chemical-bond"
+ then: [t: "⠸⠒⠻"]
+ else_test:
+ if: "not(preceding-sibling::*) and parent::*[1][name(.)='mrow' and preceding-sibling::*[1][name(.)='mo' and (.='+' or .='-')]]"
+ then: [t: "m⠤"]
+ else: [t: "⠤"]
+
+ - ".": # 0x002E (Full stop or decimal pt)
+ # '.' is particularly tricky because we need to know if it is really numeric or not.
+ # if it is numeric, it might be a on it's own or part of a number.
+ # normally, it is merged with the digits if part of a number, but if the adjacent digit(s) are modified
+ # by something (e.g., a bar over the digit to signify that it repeats), then it is really part of the number
+ # If it is the last part of the expr, then it is punctuation (for typographic reasons, punctuation is often included in the math)
+ - test:
+ if: "self::m:mn or (self::m:mo and following-sibling::*)"
+ then_test:
+ if: "string-length(text()) = 1 and not(
+ following-sibling::*[1][BaseNode(.)[self::m:mn]] or
+ following-sibling::*[1][self::m:menclose and @notation='top' and *[1][self::m:mn]]
+ )"
+ then: [t: "𝑁⠨"] # example 8c(4) -- lone "." is not considered numeric, but not a period
+ else: [t: "N⠨"]
+ else_test:
+ - if: "parent::m:mover and preceding-sibling::*"
+ then: [t: "⠡"]
+ - else_if: "preceding-sibling::*[1][@data-roman-numeral or
+ (name(.)='mrow' and *[last()][@data-roman-numeral])]"
+ then: [t: "𝐏⠲"]
+ else: [t: "P⠲"]
+ - "/": [t: "⠸⠌"] # 0x002F (Solidus)
+ - ":": # 0x003A (Colon)
+ # sometimes a colon is meant to be a ratio
+ # we start to see if this is marked as 'ratio' and not marked as something else (but ignoring a literal)
+ # this test is based on what SRE does -- if the "roles" are the same, it guesses "ratio"
+ # MathCAT doesn't have roles, so we do a hack that looks checks mrows if not atomic.
+ # If an mrow, guess it is infix and checks the operator. This is pretty weak!
+ # Need to rule out field extensions "[K:F]" and trilinear coordinates "a:b:c" as they use the punctuation form
+ # When using the punctuation form, there may or may not be a trailing spacing depending on the "print"
+ # NFB Lesson 5.7 says "Follow print for spacing after the colon."
+ # We can't normally tell spacing, but it *should* have a space in function mapping and set builder notation if the author used appropriate notation
+ # The canonicalization code makes this guess and adds "data-space-after"
+ - test:
+ - if: "@intent='ratio' or
+ ( (@intent and starts-with(@intent, '_')) and
+ ../self::m:mrow and
+ not(ancestor::*[2][IsBracketed(., '[', ']')]) and
+ not( preceding-sibling::*[2][.=':'] or following-sibling::*[2][.=':']) and
+ name(preceding-sibling::*[1]) = name(following-sibling::*[1]) and
+ ( name(preceding-sibling::*[1]) != 'mrow' or
+ (preceding-sibling::*[1]/*[2][text()] = following-sibling::*[1]/*[2][text()]) )
+ )"
+ then: [t: "W⠐⠂W"]
+ - else_if: "@data-chem-formula-op" # lewis dots
+ then:
+ - t: "⠹"
+ else:
+ - t: "P⠒"
+ - test:
+ if: "@data-space-after or ancestor::*[2][IsBracketed(., '{', '}')] or following-sibling::*[1]/*[2][IsInDefinition(., 'Braille', 'Arrows')]" # "Arrows" is a bit broad...
+ then: [t: "W"]
+ - ";": [t: "P⠆"] # 0x003B (Semicolon)
+ - "<": [t: "⠐⠅"] # 0x003C (Less-than sign)
+ - "=": # 0x003D (Equals sign)
+ - test:
+ if: "@data-chemical-bond"
+ then: [t: "⠸⠶⠻"]
+ else: [t: "⠨⠅"]
+
+ - ">": [t: "⠨⠂"] # 0x003E (Greater-than sign)
+ - "?": [t: "P⠦"] # 0x003F (Question mark)
+ - "@": [t: "⠈⠁"] # 0x40 (Commercial at)
+ - "[": [t: "⠈⠷"] # 0x005B (Left square bracket)
+ - "\\": [t: "⠸⠡"] # 0x005C (Reverse solidus)
+ - "]": [t: "⠈⠾"] # 0x005D (Right square bracket)
+ - "^": [t: "⠸⠣"] # 0x005E (Circumflex accent)
+ - "_": [t: ""] # 0x005F (Low line)
+ - "{": [t: "⠨⠷"] # 0x007B (Left curly bracket)
+ - "|": # 0x007C (Vertical line)
+ - test:
+ if: "preceding-sibling::* and following-sibling::*"
+ then: [t: "w⠳w"] # comparison (e.g., such that -- rule 145)
+ else: [t: "⠳"] # absolute value, others???
+ - "}": [t: "⠨⠾"] # 0x007D (Right curly bracket)
+ - "~": [t: "⠈⠱"] # 0x007E (Tilde)
+ - "¬": [t: ""] # 0x00AC (Not sign)
+ - "¯": [t: "⠱"] # 0x00AF (bar)
+ - "°": [t: "⠨⠡"] # 0x00B0 (Degree sign)
+ - "±": [t: "⠬⠤"] # 0x00B1 (Plus-minus sign)
+ - "·": [t: "⠡"] # 0x00B7 (Middle dot)
+ - "×": [t: "⠈⠡"] # 0x00D7 (Multiplication sign)
+ - "÷": [t: "⠨⠌"] # 0x00F7 (Division sign)
+ - "—": [t: "P⠤⠤"] # 0x2014 (Em dash)
+ # rule 43b about spaces (references rule 42)
+ # dashes are 'mo's so no inserted invisible times between it and currency symbols
+ - "―": # 0x2015 (Horizontal bar)
+ - test:
+ if:
+ - "not("
+ - " (not(preceding-sibling::*) and parent::*[1][name(.)='mrow' and preceding-sibling::*[1][IsInDefinition(., 'Braille', 'NemethPunctAndOpenBeforeSymbols')]]) or"
+ - " (preceding-sibling::*[1][IsInDefinition(., 'Braille', 'NemethCurrencyBeforeSymbols')])"
+ - ")"
+ then: [t: "W"]
+ - t: "⠤⠤⠤⠤"
+ - test:
+ if:
+ - "not("
+ - " name(parent::*[1])='mrow' and ("
+ - " (following-sibling::*[1][IsInDefinition(., 'Braille', 'NemethPunctAndOpenAfterSymbols')]) or "
+ - " (not(following-sibling::*) and parent::*[1][name(.)='mrow' and following-sibling::*[1][IsInDefinition(., 'Braille', 'NemethPunctAndOpenAfterSymbols')]]) or "
+ - " (following-sibling::*[1][.='\u2062'] and following-sibling::*[2][IsInDefinition(., 'Braille', 'NemethCurrencyAfterSymbols')])"
+ - " )"
+ - ")"
+ then: [t: "W"]
+
+ - "…": # 0x2026 (Ellipsis)
+ # rule 43b about spaces (references rule 42); partly superseded by lesson 2.13
+ # tests are ugly because an invisible times might have been inserted and we need to skip that
+ - test:
+ if:
+ - "not("
+ - " (not(preceding-sibling::*) and parent::*[1][name(.)='mrow' and preceding-sibling::*[1][IsInDefinition(., 'Braille', 'NemethPunctAndOpenBeforeSymbols')]]) or"
+ - " (preceding-sibling::*[1][.='\u2062'] and preceding-sibling::*[2][IsInDefinition(., 'Braille', 'NemethCurrencyBeforeSymbols')])"
+ - ")"
+ then: [t: "W"]
+ - t: "⠄⠄⠄"
+ - test:
+ if:
+ - "not("
+ - " name(parent::*[1])='mrow' and ("
+ - " (following-sibling::*[1][IsInDefinition(., 'Braille', 'NemethPunctAndOpenAfterSymbols')]) or "
+ - " (not(following-sibling::*) and parent::*[1][name(.)='mrow' and following-sibling::*[1][IsInDefinition(., 'Braille', 'NemethPunctAndOpenAfterSymbols')]]) or "
+ - " (following-sibling::*[1][.='\u2062'] and following-sibling::*[2][IsInDefinition(., 'Braille', 'NemethCurrencyAfterSymbols')])"
+ - " )"
+ - ")"
+ then: [t: "W"]
+ - "": # 0x2061 (invisible function apply)
+ # add a space if name doesn't have brackets after it or is in FunctionNames list
+ - test:
+ if: "not(following-sibling::*[1][IsBracketed(., '', '')]) or preceding-sibling::*[1][IsInDefinition(BaseNode(.), 'Braille', 'FunctionNames')]"
+ then: [t: "w"] # follows a function name, so lowercase
+ - "": [t: ""] # 0x2062
+ - "": # 0x2063 (Invisible Comma -- treat like a normal comma when in a subscript[issue #40]) else ignore
+ - test:
+ # test if first ancestor that isn't an mrow is a script tag (rule 78)
+ - if: "self::m:mn"
+ then: [t: ""]
+ - else_if: "ancestor-or-self::*[not(parent::m:mrow)][1][parent::m:msub or parent::m:msup or parent::m:msubsup or parent::m:mmultiscripts][preceding-sibling::*]"
+ then: [t: "⠪"] # Rule 78
+ else: [t: ""]
+ - "": [t: ""] # 0x2064
+
+ - "→": # 0x2192 (Rightwards arrow)
+ - test: # Rule 96 -- uncontracted form if base of under/over
+ if: "not(preceding-sibling::*) and parent::*[self::m:mover or self::m:munder or self::m:munderover]"
+ then: [t: "⠫⠒⠒⠕"] # uncontracted version
+ else: [t: "⠫⠕"] # contracted version
+ - "∂": [t: "⠈⠙"] # 0x2202 (Partial differential)
+ - "∆": [t: "GCL⠙"] # 2206
+
+ - "℃": [t: "⠘⠨⠡⠀⠰⠠⠉"] # 0x2103 (Degrees Celsius)
+ - "℉": [t: "⠘⠨⠡⠀⠰⠠⠋"] # 0x2109 (Degrees Fahrenheit)
+
+ # --- restored short definitions that differ from unicode-full ---
+ - "∏": [t: "GCL⠏"] # 0x220F (N-ary product)
+ - "∑": [t: "GCL⠎"] # 0x2211 (N-ary summation)
diff --git a/Rules/Braille/UEB/unicode-full.yaml b/Rules/Braille/UEB/unicode-full.yaml
index e89cf12bd..717fa5355 100644
--- a/Rules/Braille/UEB/unicode-full.yaml
+++ b/Rules/Braille/UEB/unicode-full.yaml
@@ -6,6 +6,7 @@
- " ": [t: "W"] # 0x202f
- " ": [t: "W"] # 0x205f
- "": [t: "W"] # 0xfeff
+
- "⋇": [tc: "1⠌⠯⠦"] # 0x22C7 (Division times)
- "⊩": [tc: "⠸⠳⠿⠸⠒"] # 0x22A9 (Forces)
- "ℏ": [tc: "⠈⠒⠓"] # t: "B"F (reduced Plank's constant)
diff --git a/Rules/Braille/UEB/unicode.yaml b/Rules/Braille/UEB/unicode.yaml
index 477946d70..0700fa24f 100644
--- a/Rules/Braille/UEB/unicode.yaml
+++ b/Rules/Braille/UEB/unicode.yaml
@@ -1,451 +1,451 @@
----
-# UEB characters
-#
-# Some chars that originally came from an Excel spreadsheet, converted to csv, and the greatly expanded
-#
-# The UEB translation makes use of some non-braille chars as flags
-# L -- what follows is a letter
-# N -- what follows is a digit
-# C -- precedes L for capital letters
-# G -- precedes L for Greek Letters (after C for capitals)
-# Typeface Indicators ("typeforms")
-# B bold, I Italic, S Sans-serif, T script, D, Fraktur, 𝔹 blackboard-bold
-# the type face indicators can be combined with B (first) and I (second)
-# Standing alone chars:
-# Any character which acts as a standing alone character (e.g, "{") needs each braille symbol to be labeled
-# o -- opening/left side, c -- closing/right side, b -- both open and close (e.g, '"')
-
-
- - "=": [t: "⠐⠶"] # 0x003D (Equals)
- - "≠": [t: "⠐⠶⠈⠱"] # 0x2260 (Not equal)
- - "<": [t: "⠈⠣"] # 0x003C (Less than)
- - "≤": [t: "⠸⠈⠣"] # 0x2264 (Less than or equal to)
- - ">": [t: "⠈⠜"] # 0x003E (Greater than)
- - "≣": [t: "⠈⠸⠠⠤"] # 0x2263
- - "≥": [t: "⠸⠈⠜"] # 0x2265 (Greater than or equal to)
- - "≪": [t: "⠨⠈⠣"] # 0x226A (Much less than)
- - "≫": [t: "⠨⠈⠜"] # 0x226B (Much greater than)
- - "≮": [t: "⠈⠣⠈⠱"] # 0x226E (Not less than)
- - "≯": [t: "⠈⠜⠈⠱"] # 0x226F (Not greater than)
- - "≰": [t: "⠸⠈⠣⠈⠱"] # 0x2270 (Neither less than nor equal to)
- - "≱": [t: "⠸⠈⠜⠈⠱"] # 0x2271 (Neither greater than nor equal to)
- - "∝": [t: "⠸⠐⠶"] # 0x221D (Proportional to)
- - "≃": [t: "⠸⠔"] # 0x2243 (Approximately equal to (tilde over horizontal line))
- - "≅": [t: "⠐⠸⠔"] # 0x2245 (Approximately equal to (tilde over equals sign))
- - "≈": [t: "⠘⠔"] # 0x2248 (Approximately equal (tilde over tilde))
- - "≏": [t: "⠘⠐⠶"] # 0x224F (Equals with bump in top bar (difference between))
- - "≑": [t: "⠨⠐⠶"] # 0x2251 (Geometrically equal to (equals dotted above and below))
- - "≟": [t: "𝟙⠦⠻⠐⠶"] # 0x225F (Questioned equal to)
- - "≡": [t: "⠸⠿"] # 0x2261 (Equivalent to (three horizontal lines))
- - "≢": [t: "⠸⠿⠈⠱"] # 0x2262 (Not identical to)
- - "∈": [t: "⠘⠑"] # 0x2208 (Element of (member of))
- - "∉": [t: "⠘⠑⠈⠱"] # 0x2209 (Not Element of)
- - "+": [t: "⠐⠖"] # 0x002B (Plus sign)
- - "∋": [t: "⠈⠘⠑"] # 0x220B (Contains)
- - "⊂": [t: "⠘⠣"] # 0x2282 (Subset of)
- - "⊃": [t: "⠘⠜"] # 0x2283 (Superset of)
- - "⊆": [t: "⠸⠘⠣"] # 0x2286 (Subset of or equal)
- - "⊇": [t: "⠸⠘⠜"] # 0x2287 (Superset of or equal)
- - "⊊": [t: "⠨⠘⠣"] # 0x228A (Subset of with not equal)
- - "⊋": [t: "⠨⠘⠜"] # 0x228B (Superset of with not equal)
- - "⊲": [t: "⠈⠸⠣"] # 0x22B2 (Normal subgroup of)
- - "⊳": [t: "⠈⠸⠜"] # 0x22B3 (Contains as normal subgroup)
- - "⊴": [t: "⠸⠸⠣"] # 0x22B4 (Normal subgroup of or equal)
- - "⊵": [t: "⠸⠸⠜"] # 0x22B5 (Contains as normal subgroup or equal)
- - "⊻": [t: "𝟙⠈⠖⠠⠱"] # 0x22bb (Xor)
- - "⋬": [t: "⠨⠸⠣"] # 0x22EC (not normal subgroup) -- this isn't the same as what is in GTM 10, but that similar has no Unicode equiv
- - "⋭": [t: "⠨⠸⠣"] # 0x22ED (does not contain as normal subgroup) -- this isn't the same as what is in GTM 10, but that similar has no Unicode equiv
- - "⊢": [t: "⠸⠒"] # 0x22a2 (Right tack)
- - "⊣": [t: "⠈⠸⠒"] # 0x22a3 (Left tack)
- - "−": [t: "⠐⠤"] # 0x2212 (Minus sign)
- - "·": [t: "⠐⠲"] # 0x00B7 (Multiplication dot (times))
- - "×": [t: "⠐⠦"] # 0x00D7 (Multiplication sign (times))
- - "÷": [t: "⠐⠌"] # 0x00F7 (Division sign (divided by))
- - "±": [t: "⠸⠖"] # 0x00B1 (Plus or minus)
- - "∓": [t: "⠸⠤"] # 0x2213 (Minus or plus)
- - "∗": [t: "⠐⠔"] # 0x2217 (Asterisk operator)
- - "∘": [t: "⠐⠴"] # 0x2218 (Ring operator)
- - "◦": [t: "⠐⠴"] # 0x25E6 (White bullet)
- - "∼": [t: "⠈⠔"] # 0x223C (Tilde operator)
- - "⋅": [t: "⠐⠲"] # 0x22C5 (Dot operator)
- - "∧": [t: "⠈⠦"] # 0x2227 (Logical and)
- - "∨": [t: "⠈⠖"] # 0x2228 (Logical or)
- - "∩": [t: "⠨⠦"] # 0x2229 (Intersection)
- - "∪": [t: "⠨⠖"] # 0x222A (Union)
- - "∖": [t: "⠸⠡"] # 0x2216 (Set minus)
- - "(": [t: "o⠐o⠣"] # 0x0028 (Left parenthesis)
- - ")": [t: "c⠐c⠜"] # 0x0029 (Right parenthesis)
- - "[": [t: "o⠨o⠣"] # 0x005B (Left square bracket)
- - "]": [t: "c⠨c⠜"] # 0x005D (Right square bracket)
- - "{": [t: "o⠸o⠣"] # 0x007B (Left curly bracket)
- - "}": [t: "c⠸c⠜"] # 0x007D (Right curly bracket)
- - "〈": [t: "o⠈⠣"] # 0x2329 (Left angle bracket)
- - "〉": [t: "c⠈⠜"] # 0x232A (Right angle bracket)
- - "⟨": [t: "o⠈⠣"] # 0x27E8 (Left angle bracket)
- - "⟩": [t: "c⠈⠜"] # 0x27E9 (Right angle bracket)
- - "|": # 0x007C (Vertical line)
- - test:
- if: "preceding-sibling::* and following-sibling::*"
- then: [t: "W⠸⠳W"] # comparison (e.g., such that -- rule 145)
- else: [t: "⠸⠳"] # absolute value, others???
- - "!": [t: "c⠖"] # 0x21 (Exclamation (factorial))
- - "#": [t: "⠸⠹"] # 0x23 (Number sign (hash))
- - "%": [t: "⠨⠴"] # 0x25 (Percent sign)
- - "&": [t: "⠈⠯"] # 0x26 (Ampersand)
- - "*": [t: "⠐⠔"] # 0x002A (Asterisk)
- - "/": [t: "⠸⠌"] # 0x002F (Solidus (slash))
- - ";": [t: "1c⠆"] # 0x003B (Semicolon)
- - "?": [t: "1c⠦"] # 0x003F (Question mark)
- - "@": [t: "⠈⠁"] # 0x0040 (Commercial at sign)
- - "\\": [t: "⠸⠡"] # 0x005C (Backslash)
- - "^": [t: "⠈⠢"] # 0x005E (Caret (hat, up arrow))
- - "_": [t: "⠨⠤"] # 0x005F (Low line (underscore))
- - "~": [t: "⠈⠔"] # 0x007E (Tilde (swung dash))
- - "¢": [t: "⠈⠉"] # 0x00A2 (Cents sign)
- - "‐": [t: "⠤"] # 0x2010 (Hyphen)
- - "–": [t: "P⠠⠤"] # 0x2013 (En Dash)
- - "―": [t: "⠐⠠⠤"] # 0x2015 (Horizontal Bar)
- - "‖": [t: "⠸⠳"] # 0x2016
- - "€": [t: "⠈⠑"] # 0x20AC (Euro sign)
- - "₣": [t: "⠈⠋"] # 0x20A3 (French franc sign)
- - "£": [t: "⠈⠇"] # 0x00A3 (Pound sign)
- - "₦": [t: "⠈⠝"] # 0x20A6 (Naira sign)
- - "$": [t: "⠈⠎"] # 0x0024 (Dollar sign)
- - "¥": [t: "⠈⠽"] # 0x00A5 (Yen sign)
- - "¦": [t: "⠨⠳"] # 0x00A6 (Broken bar)
- - "¬": [t: "⠈⠹"] # 0x00AC (Not sign)
- - "°": [t: "⠘⠚"] # 0x00B0 (Degree sign)
- - "†": [t: "⠈⠠⠹"] # 0x2020 (Dagger)
- - "‡": [t: "⠈⠠⠻"] # 0x2021 (Double dagger)
- - "…": [t: "c⠲c⠲c⠲"] # 0x2026 (Ellipsis)
- - "⋯": [t: "⠄⠄⠄"] # 0x22EF (midline horizontal ellipsis; GTM 15.4 matrix omission)
- - "′": [t: "1⠶"] # 0x2032 (Prime sign)
- - "″": [t: "1⠶⠶"] # 0x2033 (Double prime sign)
- - "‴": [t: "1⠶⠶⠶"] # 0x2034 (Triple prime sign)
- - "℃": [t: "⠘⠚⠠⠉"] # 0x2103 (Degrees Celsius)
- - "℉": [t: "⠘⠚⠠⠋"] # 0x2109 (Degrees Fahrenheit)
- - "Å": [t: "CA⠘⠫L⠁"] # 0x212B (Angstrom symbol)
- - "Å": [t: "CA⠘⠫L⠁"] # 0x00C5 (WIRIS uses this for Angstrom)
- - "∀": [t: "⠘⠁"] # 0x2200 (For all)
- - "∂": [t: "⠈⠙"] # 0x2202 (Partial differential)
- - "∃": [t: "⠘⠢"] # 0x2203 (There exists)
- - "∄": [t: "⠘⠢⠈⠱"] # 0x2204 (There does not exist)
- - "∅": [t: "⠈⠚"] # 0x2205 (Empty set)
- - "∇": [t: "⠘⠙"] # 0x2207 (Nabla (del, inverted capital delta))
- - "∎": [t: "⠸⠫⠼⠙t"] # 0x220E (End of proof)
- - "√": [t: "⠐⠩"] # 0x221A (Square root (radical) without vinculum)
- - "∞": [t: "⠼⠿"] # 0x221E (Infinity)
- - "∠": [t: "⠸⠪"] # 0x2220 (Angle)
- - "∡": [t: "⠨⠸⠪"] # 0x2221 (Measured angle)
- - "⊾": [t: "⠼⠸⠪"] # 0x22BE (Right angle with arc)
- - "∫": [t: "1⠮"] # 0x222B (Integral)
- - "∮": [t: "⠈⠮"] # 0x222E (Contour integral (closed line integral))
- - "∴": [t: "1⠠⠡"] # 0x2234 (Therefore)
- - "∵": [t: "⠈⠌"] # 0x2235 (Because (since))
- - "∶": [t: "⠒"] # 0x2236 (Ratio)
- - "∷": [t: "⠒⠒"] # 0x2237 (Proportion)
- - "∣": [t: "⠸⠳"] # 0x2223 (Divides)
- - "∤": [t: "⠸⠳⠈⠱"] # 0x2224 (Does not divide)
- - "∥": [t: "⠼⠇"] # 0x2225 (Parallel)
- - "∦": [t: "⠼⠇⠈⠱"] # 0x2226 (Not parallel)
- - "⟂": [t: "⠼⠤"] # 0x27C2 (Perpendicular)
- - "⊥": [t: "⠼⠤"] # 0x22A5 (Up tack (perpendicular))
- - "⊦": [t: "⠸⠒"] # 0x22A6 (Assertion (is a theorem))
- - "⊨": [t: "⠘⠸⠒"] # 0x22A8 (TRUE (is valid))
- - "⊬": [t: "⠸⠒⠈⠱"] # 0x22AC (Does not prove)
- - "⊭": [t: "⠘⠸⠒⠈⠱"] # 0x22AD (Not TRUE)
- - "⫅": [t: "⠘⠣⠰⠻⠐⠶"] # 0x2AC5 (Subset above equals)
- - "⫆": [t: "⠘⠜⠰⠻⠐⠶"] # 0x2AC6 (Superset above equals)
- - "⫤": [t: "⠨⠸⠒"] # 0x2AE4 (Vertical bar double left turnstile)
- - "⬠": [t: "1⠫⠼⠑t"] # 0x2B20 (White Pentagon)
- - "⬡": [t: "1⠫⠼⠋t"] # 0x2B21 (White Hexagon)
- - "✓": [t: "⠈⠩"] # 0x2713 (Check mark (tick))
- - "⦵": [t: "⠨⠚"] # 0x29B5 (Plimsoll sign)
- - "": [t: "1⠐⠠⠤⠯⠫⠿"] # 0x2B96 (MEDIUM SMALL WHITE CIRCLE WITH HORIZONTAL BAR (standard state))
- - "←": [t: "1⠳⠪"] # 0x2190 (Leftwards arrow)
- - "↑": [t: "1⠳⠬"] # 0x2191 (Upwards arrow)
- - "→": [t: "1⠳⠕"] # 0x2192 (Rightwards arrow)
- - "↓": [t: "1⠳⠩"] # 0x2193 (Downwards arrow)
- - "↔": [t: "1⠳⠺⠗⠕"] # 0x2194 (Left right arrow)
- - "↕": [t: "1⠳⠺⠗⠬"] # 0x2195 (Up down arrow)
- - "↖": [t: "1⠳⠱"] # 0x2196 (Northwest arrow)
- - "↗": [t: "1⠳⠎"] # 0x2197 (Northeast arrow)
- - "↘": [t: "1⠳⠣"] # 0x2198 (Southeast arrow)
- - "↙": [t: "1⠳⠜"] # 0x2199 (Southwest arrow)
- - "↚": [t: "1⠳⠪⠈⠱"] # 0x219A (Leftwards arrow with stroke)
- - "↛": [t: "1⠳⠕⠈⠱"] # 0x219B (Rightwards arrow with stroke)
- - "↜": [t: "1⠳⠔⠢⠪"] # 0x219C (Leftwards wave arrow)
- - "↝": [t: "1⠳⠢⠔⠕"] # 0x219D (Rightwards wave arrow)
- - "↞": [t: "1⠳⠒⠗⠗⠪"] # 0x219E (Leftwards two headed arrow)
- - "↟": [t: "1⠳⠒⠗⠗⠬"] # 0x219F (Upwards two headed arrow)
- - "↠": [t: "1⠳⠒⠗⠗⠕"] # 0x21A0 (Rightwards two headed arrow)
- - "↡": [t: "1⠳⠒⠗⠗⠩"] # 0x21A1 (Downwards two headed arrow)
- - "↢": [t: "1⠳⠗⠗⠪"] # 0x21A2 (Leftwards arrow with tail)
- - "↣": [t: "1⠳⠗⠗⠕"] # 0x21A3 (Rightwards arrow with tail)
- - "↤": [t: "1⠳⠳⠗⠪"] # 0x21A4 (Leftwards arrow from bar)
- - "↥": [t: "1⠳⠳⠗⠬"] # 0x21A5 (Upwards arrow from bar)
- - "↦": [t: "1⠳⠳⠗⠕"] # 0x21A6 (Rightwards arrow from bar)
- - "↧": [t: "1⠳⠳⠗⠩"] # 0x21A7 (Downwards arrow from bar)
- - "↭": [t: "1⠳⠺⠔⠢⠗⠕"] # 0x21AD (Left right wave arrow)
- - "↮": [t: "1⠳⠺⠗⠕⠈⠱"] # 0x21AE (Left right arrow with stroke)
- - "↰": [t: "1⠳⠴⠬"] # 0x21B0 (Upwards arrow with tip left)
- - "↱": [t: "1⠳⠲⠬"] # 0x21B1 (Upwards arrow with tip right)
- - "↲": [t: "1⠳⠲⠩"] # 0x21B2 (Downwards arrow with tip left)
- - "↳": [t: "1⠳⠴⠩"] # 0x21B3 (Downwards arrow with tip right)
- - "↶": [t: "1⠳⠔⠔⠪"] # 0x21B6 (Anticlockwise top semicircle arrow)
- - "↷": [t: "1⠳⠢⠢⠕"] # 0x21B7 (Clockwise top semicircle arrow)
- - "↼": [t: "1⠳⠈⠗⠪"] # 0x21BC (Leftwards harpoon with barb upwards)
- - "↽": [t: "1⠳⠠⠗⠪"] # 0x21BD (Leftwards harpoon with barb downwards)
- - "↾": [t: "1⠳⠠⠗⠬"] # 0x21BE (Upwards harpoon with barb rightwards)
- - "↿": [t: "1⠳⠈⠗⠬"] # 0x21BF (Upwards harpoon with barb leftwards)
- - "⇀": [t: "1⠳⠈⠗⠕"] # 0x21C0 (Rightwards harpoon with barb upwards)
- - "⇁": [t: "1⠳⠠⠗⠕"] # 0x21C1 (Rightwards harpoon with barb downwards)
- - "⇂": [t: "1⠳⠈⠗⠩"] # 0x21C2 (Downwards harpoon with barb rightwards)
- - "⇃": [t: "1⠳⠠⠗⠩"] # 0x21C3 (Downwards harpoon with barb leftwards)
- - "⇄": [t: "1⠳⠕⠻⠳⠪"] # 0x21C4 (Rightwards arrow over leftwards arrow)
- - "⇅": [t: "1⠳⠬⠿⠳⠩"] # 0x21C5 (Upwards arrow left of Downwards arrow)
- - "⇌": [t: "1⠘⠸⠶"] # 0x21CC (Rightwards harpoon over leftwards harpoon (equilibrium))
- - "⇐": [t: "1⠳⠶⠪"] # 0x21D0 (Leftwards double arrow)
- - "⇑": [t: "1⠳⠶⠬"] # 0x21D1 (Upwards double arrow)
- - "⇒": [t: "1⠳⠶⠕"] # 0x21D2 (Rightwards double arrow)
- - "⇓": [t: "1⠳⠶⠩"] # 0x21D3 (Downwards double arrow)
- - "⇔": [t: "1⠳⠺⠶⠗⠕"] # 0x21D4 (Left right double arrow)
- - "⇕": [t: "1⠳⠺⠶⠗⠬"] # 0x21D5 (Up down double arrow)
- - "⇠": [t: "1⠳⠂⠪"] # 0x21E0 (Leftwards dashed arrow)
- - "⇡": [t: "1⠳⠂⠬"] # 0x21E1 (Upwards dashed arrow)
- - "⇢": [t: "1⠳⠂⠕"] # 0x21E2 (Rightwards dashed arrow)
- - "⇣": [t: "1⠳⠂⠩"] # 0x21E3 (Downwards dashed arrow)
- - "⟵": [t: "1⠳⠒⠒⠒⠪"] # 0x27F5 (Long leftwards arrow)
- - "⟶": [t: "1⠳⠒⠒⠒⠕"] # 0x27F6 (Long rightwards arrow)
- - "⥂": [t: "1⠸⠶"] # 0x2942 (Rightwards arrow above short leftwards arrow (equilibrium, trend to the right))
- - "⥄": [t: "1⠈⠸⠶"] # 0x2944 (Short rightwards arrow above leftwards arrow (equilibrium, trend to the left))
-
-# Mappings for some new Unicode chemistry arrows/symbols
-# These repeat the short arrow version because that is what is in the spec (GTM 16), but the spec should really use the long version
- - "": [t: "1⠘⠸⠶"] # 0x1F8D1 LONG RIGHTWARDS HARPOON OVER LONG LEFTWARDS HARPOON (equilibrium)
- - "": [t: "1⠐⠸⠶"] # 0x1f8d2 LONG RIGHTWARDS HARPOON ABOVE SHORT LEFTWARDS HARPOON(equilibrium, trend to the right)
- - "": [t: "1⠈⠸⠶"] # 0x1f8d3 SHORT RIGHTWARDS HARPOON ABOVE LONG LEFTWARDS HARPOON (equilibrium, trend to the left))
-
-# These need to be verified -- 0x1f8d1, 0x1f8d2, and 0x1f8d3 conflict with GTM 16 (uses short arrow when really should be long)
- - "": [t: "1⠳⠒⠒⠒⠕⠻⠳⠒⠒⠒⠪"] # 0x1F8D0 LONG RIGHTWARDS ARROW OVER LONG LEFTWARDS ARROW
- - "": [t: "1⠳⠒⠈⠗⠪⠻⠳⠒⠒⠒⠠⠗⠕"] # 0x1F8D5 SHORT LEFTWARDS HARPOON ABOVELONG RIGHTWARDS HARPOON
- - "": [t: "1⠳⠒⠒⠒⠕⠯⠠⠭"] # 0x1F8D6 LONG RIGHTWARDS ARROW WITH THROUGH X
- - "": [t: "1⠳⠒⠒⠒⠕⠯⠣⠸⠌⠸⠌⠜"] # 0x1F8D7 LONG RIGHTWARDS ARROW WITH DOUBLE SLASH
-# - "": [t: ""] # 0x1F8D8 LONG LEFT RIGHT ARROW WITH DEPENDENT LOBE (no clue what to do)
-
- - "△": [t: "1⠫⠼⠉t"] # 0x25B3 (Triangle)
- - "▫": [t: "1⠫⠼⠙t"] # 0x25AB (Small white Square)
- - "□": [t: "1⠫⠼⠙t"] # 0x25A1 (Square)
- - "◻": [t: "1⠫⠼⠙t"] # 0x25FB (Square)
- - "▤": [t: "⠨⠫⠼⠙t"] # 0x25A4 (Square with horizontal fill)
- - "▥": [t: "⠨⠫⠼⠙t"] # 0x25A5 (Square with vertical fill)
- - "▦": [t: "⠨⠫⠼⠙t"] # 0x25A6 (Square with orthogonal crosshatch fill)
- - "▧": [t: "⠨⠫⠼⠙t"] # 0x25A7 (Square with upper left to lower right fill)
- - "▨": [t: "⠨⠫⠼⠙t"] # 0x25A8 (Square with upper right to lower left fill)
- - "▩": [t: "⠨⠫⠼⠙t"] # 0x25A9 (Square with diagonal crosshatch fill)
- - "○": [t: "1⠫⠿t"] # 0x25CB (Circle)
- - "◍": [t: "⠨⠫⠿t"] # 0x25CD (Circle with vertical fill)
- - "▱": [t: "1⠫⠈⠼⠙t"] # 0x25B1 (Parallelogram)
- - "▲": [t: "⠸⠫⠼⠉t"] # 0x25B2 (Filled triangle)
- - "■": [t: "⠸⠫⠼⠙t"] # 0x25A0 (Filled square)
- - "≜": [t: "⠠⠨⠙⠻⠐⠶"] # 0x225C (Delta equal to)
- - "≝": [t: "1⠣⠙⠑⠋⠜⠻⠐⠶"] # 0x225D (Equal to by definition)
- - "⊕": [t: "1⠫⠿⠪⠐⠖t"] # 0x2295 (Circled plus)
- - "⊖": [t: "1⠫⠿⠪⠐⠤t"] # 0x2296 (Circled minus)
- - "⊗": [t: "1⠫⠿⠪⠐⠦t"] # 0x2297 (Circled times)
- - "⊛": [t: "1⠫⠿⠪⠐⠔t"] # 0x229B (Circled asterisk operator)
- - "⊞": [t: "1⠫⠼⠙⠪⠐⠖t"] # 0x229E (Squared plus)
- - "⊟": [t: "1⠫⠼⠙⠪⠐⠤t"] # 0x229F (Squared minus)
- - "⊠": [t: "1⠫⠼⠙⠪⠐⠦t"] # 0x22A0 (Squared times)
- - "˙": [t: "1⠲"] # 0x02D9 ( Dot Above)
- - "¨": [t: "1⠲⠲"] # 0x00A8 ( Diaeresis/Double Dot Above )
- - "©": [t: "⠘⠉"] # 0xa9 (Copyright)
-
-
- - "\"": [t: "b⠠b⠶"]
- - "'": [t: "b⠄"]
- - "“": [t: "o⠘o⠦"]
- - "”": [t: "c⠘c⠴"]
- - "‘": [t: "o⠠o⠦"]
- - "’": [t: "c⠠c⠴"]
- - "«": [t: "o⠸o⠦"]
- - "»": [t: "c⠸c⠴"]
-
- - " ": # 0x20 (Space)
- - test:
- if: "self::m:mn"
- then: [t: "N⠐"]
- else: [t: "W"]
- - " ": # 0xa0 (Non-breaking Space)
- - test:
- - if: "self::m:mn"
- then: [t: "N⠐"]
- - else_if: "@data-added='missing-content' or @data-empty-in-2D or @width > 1.1"
- then: [t: "⠬"] # omission
- - else_if: "@width < 0.25"
- then: [t: ""] # tweaking space -- ignore
- else: [t: "W"] # space in text or wide enough space
- - ",": # 0x2c (Comma)
- - test:
- if: "self::m:mn"
- then: [t: "N⠂"]
- else: [t: "c,W"]
- - ".": # 0x2e (Period)
- - test:
- if: "self::m:mn"
- then: [t: "N⠲"]
- else: [t: "c."]
- - ":": # 0x003A (Colon)
- # We can't normally tell spacing, but it *should* have a space in function mapping and set builder notation if the author used appropriate notation
- # The canonicalization code makes this guess and adds "data-space-after"
- - test:
- if: "@data-space-after or (../self::m:mrow and ancestor::*[2][IsBracketed(., '{', '}')]) or following-sibling::*[1]/*[2][IsInDefinition(., 'Braille', 'Arrows')]" # "Arrows" is a bit broad...
- then: [t: "1⠒W"]
- else: [t: "1c⠒"]
-
- - "-": # 0x2d (Minus sign or hyphen)
- - test:
- if: "self::m:mo"
- then: [t: "⠐⠤"]
- else: [t: "⠤"]
-
- - "": # 0x2061 (invisible function apply)
- - test:
- if:
- - "preceding-sibling::*[1][self::m:mi and substring(., string-length(.), 1)!=' '] and " # avoid scripted function names and one that end with spaces
- - "following-sibling::*[1][self::m:mi and translate(., 'abcdefghijklmnopqrstuvwxyz', '') = '']" # GTM 9.3.2
- then: [t: "W"]
- else: [t: ""]
-
- - "": # 0x2062 (invisible times)
- - test:
- if: # GTM 9.3.3 (not very clear in rule, but the function name has to start with a lower case latin char ['no indicators'])
- - "parent::m:mrow and "
- - "preceding-sibling::*[1]["
- - " (self::m:mi and translate(., 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', '') = '') or "
- - " (self::m:mrow and translate(*[last()], 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', '') = '')] and"
- - " following::*[1][self::m:mrow and count(*)=3 and " # look for function apply
- - " *[2][.=''] and *[1][self::m:mi and translate(., 'abcdefghijklmnopqrstuvwxyz', '') = '']]"
- then: [t: "W"]
- else: [t: ""]
- - "": [t: ""] # 0x2063 (invisible separator)
- - "": [t: ""] # 0x2064 (invisible plus)
- - "0": [t: "N⠚"] # 0x30
- - "1": [t: "N⠁"] # 0x31
- - "2": [t: "N⠃"] # 0x32
- - "3": [t: "N⠉"] # 0x33
- - "4": [t: "N⠙"] # 0x34
- - "5": [t: "N⠑"] # 0x35
- - "6": [t: "N⠋"] # 0x36
- - "7": [t: "N⠛"] # 0x37
- - "8": [t: "N⠓"] # 0x38
- - "9": [t: "N⠊"] # 0x39
-
- - "a": [t: "L⠁"] # 0x61
- - "b": [t: "L⠃"] # 0x62
- - "c": [t: "L⠉"] # 0x63
- - "d": [t: "L⠙"] # 0x64
- - "e": [t: "L⠑"] # 0x65
- - "f": [t: "L⠋"] # 0x66
- - "g": [t: "L⠛"] # 0x67
- - "h": [t: "L⠓"] # 0x68
- - "i": [t: "L⠊"] # 0x69
- - "j": [t: "L⠚"] # 0x6a
- - "k": [t: "L⠅"] # 0x6b
- - "l": [t: "L⠇"] # 0x6c
- - "m": [t: "L⠍"] # 0x6d
- - "n": [t: "L⠝"] # 0x6e
- - "o": [t: "L⠕"] # 0x6f
- - "p": [t: "L⠏"] # 0x70
- - "q": [t: "L⠟"] # 0x71
- - "r": [t: "L⠗"] # 0x72
- - "s": [t: "L⠎"] # 0x73
- - "t": [t: "L⠞"] # 0x74
- - "u": [t: "L⠥"] # 0x75
- - "v": [t: "L⠧"] # 0x76
- - "w": [t: "L⠺"] # 0x77
- - "x": [t: "L⠭"] # 0x78
- - "y": [t: "L⠽"] # 0x79
- - "z": [t: "L⠵"] # 0x7a
-
- # Latin capitals: chem-element letters use 𝐶 (no word indicator); others use C.
- # Cells come from lowercase a-z via spell/translate.
- - "BCHIKNOPSUVWY": # chemistry-capable capitals
- - test:
- if: "@data-chem-element"
- then: [tc: "𝐶"]
- else: [tc: "C"]
- - spell: "translate('.', 'BCHIKNOPSUVWY', 'bchiknopsuvwy')"
- - "ADEFGJLMQRTXZ": # remaining capitals
- - tc: "C"
- - spell: "translate('.', 'ADEFGJLMQRTXZ', 'adefgjlmqrtxz')"
-
- - "α": [t: "GL⠁"] # 0x3b1
- - "β": [t: "GL⠃"] # 0x3b2
- - "γ": [t: "GL⠛"] # 0x3b3
- - "δ": [t: "GL⠙"] # 0x3b4
- - "ε": [t: "GL⠑"] # 0x3b5
- - "ζ": [t: "GL⠵"] # 0x3b6
- - "η": [t: "GL⠱"] # 0x3b7
- - "θ": [t: "GL⠹"] # 0x3b8
- - "ι": [t: "GL⠊"] # 0x3b9
- - "κ": [t: "GL⠅"] # 0x3ba
- - "λ": [t: "GL⠇"] # 0x3bb
- - "μ": [t: "GL⠍"] # 0x3bc
- - "ν": [t: "GL⠝"] # 0x3bd
- - "ξ": [t: "GL⠭"] # 0x3be
- - "ο": [t: "GL⠕"] # 0x3bf
- - "π": [t: "GL⠏"] # 0x3c0
- - "ρ": [t: "GL⠗"] # 0x3c1
- - "ς": [t: "GL⠎"] # 0x3c2
- - "σ": [t: "GL⠎"] # 0x3c3
- - "τ": [t: "GL⠞"] # 0x3c4
- - "υ": [t: "GL⠥"] # 0x3c5
- - "φ": [t: "GL⠋"] # 0x3c6
- - "χ": [t: "GL⠯"] # 0x3c7
- - "ψ": [t: "GL⠽"] # 0x3c8
- - "ω": [t: "GL⠺"] # 0x3c9
-
- - "ϑ": [t: "GL⠹"] # 0x3d1
- - "ϵ": [t: "GL⠑"] # 0x3f5 \varepsilon
- - "ϰ": [t: "GL⠅"] # 0x3f0
- - "ϕ": [t: "GL⠋"] # 0x3d5
- - "ϱ": [t: "GL⠗"] # 0x3f1
- - "ϖ": [t: "GL⠏"] # 0x3d6
- - "Ϝ": [t: "GL⠧"] # 0x3d7
-
- - "Α": [t: "CGL⠁"] # 0x391
- - "Β": [t: "CGL⠃"] # 0x392
- - "Γ": [t: "CGL⠛"] # 0x393
- - "Δ": [t: "CGL⠙"] # 0x394
- - "Ε": [t: "CGL⠑"] # 0x395
- - "Ζ": [t: "CGL⠵"] # 0x396
- - "Η": [t: "CGL⠱"] # 0x397
- - "Θ": [t: "CGL⠹"] # 0x398
- - "Ι": [t: "CGL⠊"] # 0x399
- - "Κ": [t: "CGL⠅"] # 0x39a
- - "Λ": [t: "CGL⠇"] # 0x39b
- - "Μ": [t: "CGL⠍"] # 0x39c
- - "Ν": [t: "CGL⠝"] # 0x39d
- - "Ξ": [t: "CGL⠭"] # 0x39e
- - "Ο": [t: "CGL⠕"] # 0x39f
- - "Π": [t: "CGL⠏"] # 0x3a0
- - "Ρ": [t: "CGL⠗"] # 0x3a1
- - "": [t: "CGL⠎"] # 0x3a2
- - "Σ": [t: "CGL⠎"] # 0x3a3
- - "Τ": [t: "CGL⠞"] # 0x3a4
- - "Υ": [t: "CGL⠥"] # 0x3a5
- - "Φ": [t: "CGL⠋"] # 0x3a6
- - "Χ": [t: "CGL⠯"] # 0x3a7
- - "Ψ": [t: "CGL⠽"] # 0x3a8
- - "Ω": [t: "CGL⠺"] # 0x3a9
-
- - "µ": [t: "GL⠍"] # 0x00B5 (Micro (Greek mu))
- - "Ω": [t: "CGL⠺"] # 0x2126 (Ohm sign (capital Greek omega))
- - "∆": [t: "CGL⠙"] # 0x2206 (Increment (capital Greek delta))
- - "∏": [t: "CGL⠏"] # 0x220F (Product (capital Greek pi))
- - "∑": [t: "CGL⠎"] # 0x2211 (Sum (capital Greek sigma))
-
- # --- restored short definitions that differ from unicode-full ---
- - "⋇": [t: "1⠌⠯⠦"] # 0x22C7 (Division times)
- - "⊩": [t: "⠸⠳⠿⠸⠒"] # 0x22A9 (Forces)
+---
+# UEB characters
+#
+# Some chars that originally came from an Excel spreadsheet, converted to csv, and the greatly expanded
+#
+# The UEB translation makes use of some non-braille chars as flags
+# L -- what follows is a letter
+# N -- what follows is a digit
+# C -- precedes L for capital letters
+# G -- precedes L for Greek Letters (after C for capitals)
+# Typeface Indicators ("typeforms")
+# B bold, I Italic, S Sans-serif, T script, D, Fraktur, 𝔹 blackboard-bold
+# the type face indicators can be combined with B (first) and I (second)
+# Standing alone chars:
+# Any character which acts as a standing alone character (e.g, "{") needs each braille symbol to be labeled
+# o -- opening/left side, c -- closing/right side, b -- both open and close (e.g, '"')
+
+
+ - "=": [t: "⠐⠶"] # 0x003D (Equals)
+ - "≠": [t: "⠐⠶⠈⠱"] # 0x2260 (Not equal)
+ - "<": [t: "⠈⠣"] # 0x003C (Less than)
+ - "≤": [t: "⠸⠈⠣"] # 0x2264 (Less than or equal to)
+ - ">": [t: "⠈⠜"] # 0x003E (Greater than)
+ - "≣": [t: "⠈⠸⠠⠤"] # 0x2263
+ - "≥": [t: "⠸⠈⠜"] # 0x2265 (Greater than or equal to)
+ - "≪": [t: "⠨⠈⠣"] # 0x226A (Much less than)
+ - "≫": [t: "⠨⠈⠜"] # 0x226B (Much greater than)
+ - "≮": [t: "⠈⠣⠈⠱"] # 0x226E (Not less than)
+ - "≯": [t: "⠈⠜⠈⠱"] # 0x226F (Not greater than)
+ - "≰": [t: "⠸⠈⠣⠈⠱"] # 0x2270 (Neither less than nor equal to)
+ - "≱": [t: "⠸⠈⠜⠈⠱"] # 0x2271 (Neither greater than nor equal to)
+ - "∝": [t: "⠸⠐⠶"] # 0x221D (Proportional to)
+ - "≃": [t: "⠸⠔"] # 0x2243 (Approximately equal to (tilde over horizontal line))
+ - "≅": [t: "⠐⠸⠔"] # 0x2245 (Approximately equal to (tilde over equals sign))
+ - "≈": [t: "⠘⠔"] # 0x2248 (Approximately equal (tilde over tilde))
+ - "≏": [t: "⠘⠐⠶"] # 0x224F (Equals with bump in top bar (difference between))
+ - "≑": [t: "⠨⠐⠶"] # 0x2251 (Geometrically equal to (equals dotted above and below))
+ - "≟": [t: "𝟙⠦⠻⠐⠶"] # 0x225F (Questioned equal to)
+ - "≡": [t: "⠸⠿"] # 0x2261 (Equivalent to (three horizontal lines))
+ - "≢": [t: "⠸⠿⠈⠱"] # 0x2262 (Not identical to)
+ - "∈": [t: "⠘⠑"] # 0x2208 (Element of (member of))
+ - "∉": [t: "⠘⠑⠈⠱"] # 0x2209 (Not Element of)
+ - "+": [t: "⠐⠖"] # 0x002B (Plus sign)
+ - "∋": [t: "⠈⠘⠑"] # 0x220B (Contains)
+ - "⊂": [t: "⠘⠣"] # 0x2282 (Subset of)
+ - "⊃": [t: "⠘⠜"] # 0x2283 (Superset of)
+ - "⊆": [t: "⠸⠘⠣"] # 0x2286 (Subset of or equal)
+ - "⊇": [t: "⠸⠘⠜"] # 0x2287 (Superset of or equal)
+ - "⊊": [t: "⠨⠘⠣"] # 0x228A (Subset of with not equal)
+ - "⊋": [t: "⠨⠘⠜"] # 0x228B (Superset of with not equal)
+ - "⊲": [t: "⠈⠸⠣"] # 0x22B2 (Normal subgroup of)
+ - "⊳": [t: "⠈⠸⠜"] # 0x22B3 (Contains as normal subgroup)
+ - "⊴": [t: "⠸⠸⠣"] # 0x22B4 (Normal subgroup of or equal)
+ - "⊵": [t: "⠸⠸⠜"] # 0x22B5 (Contains as normal subgroup or equal)
+ - "⊻": [t: "𝟙⠈⠖⠠⠱"] # 0x22bb (Xor)
+ - "⋬": [t: "⠨⠸⠣"] # 0x22EC (not normal subgroup) -- this isn't the same as what is in GTM 10, but that similar has no Unicode equiv
+ - "⋭": [t: "⠨⠸⠣"] # 0x22ED (does not contain as normal subgroup) -- this isn't the same as what is in GTM 10, but that similar has no Unicode equiv
+ - "⊢": [t: "⠸⠒"] # 0x22a2 (Right tack)
+ - "⊣": [t: "⠈⠸⠒"] # 0x22a3 (Left tack)
+ - "−": [t: "⠐⠤"] # 0x2212 (Minus sign)
+ - "·": [t: "⠐⠲"] # 0x00B7 (Multiplication dot (times))
+ - "×": [t: "⠐⠦"] # 0x00D7 (Multiplication sign (times))
+ - "÷": [t: "⠐⠌"] # 0x00F7 (Division sign (divided by))
+ - "±": [t: "⠸⠖"] # 0x00B1 (Plus or minus)
+ - "∓": [t: "⠸⠤"] # 0x2213 (Minus or plus)
+ - "∗": [t: "⠐⠔"] # 0x2217 (Asterisk operator)
+ - "∘": [t: "⠐⠴"] # 0x2218 (Ring operator)
+ - "◦": [t: "⠐⠴"] # 0x25E6 (White bullet)
+ - "∼": [t: "⠈⠔"] # 0x223C (Tilde operator)
+ - "⋅": [t: "⠐⠲"] # 0x22C5 (Dot operator)
+ - "∧": [t: "⠈⠦"] # 0x2227 (Logical and)
+ - "∨": [t: "⠈⠖"] # 0x2228 (Logical or)
+ - "∩": [t: "⠨⠦"] # 0x2229 (Intersection)
+ - "∪": [t: "⠨⠖"] # 0x222A (Union)
+ - "∖": [t: "⠸⠡"] # 0x2216 (Set minus)
+ - "(": [t: "o⠐o⠣"] # 0x0028 (Left parenthesis)
+ - ")": [t: "c⠐c⠜"] # 0x0029 (Right parenthesis)
+ - "[": [t: "o⠨o⠣"] # 0x005B (Left square bracket)
+ - "]": [t: "c⠨c⠜"] # 0x005D (Right square bracket)
+ - "{": [t: "o⠸o⠣"] # 0x007B (Left curly bracket)
+ - "}": [t: "c⠸c⠜"] # 0x007D (Right curly bracket)
+ - "〈": [t: "o⠈⠣"] # 0x2329 (Left angle bracket)
+ - "〉": [t: "c⠈⠜"] # 0x232A (Right angle bracket)
+ - "⟨": [t: "o⠈⠣"] # 0x27E8 (Left angle bracket)
+ - "⟩": [t: "c⠈⠜"] # 0x27E9 (Right angle bracket)
+ - "|": # 0x007C (Vertical line)
+ - test:
+ if: "preceding-sibling::* and following-sibling::*"
+ then: [t: "W⠸⠳W"] # comparison (e.g., such that -- rule 145)
+ else: [t: "⠸⠳"] # absolute value, others???
+ - "!": [t: "c⠖"] # 0x21 (Exclamation (factorial))
+ - "#": [t: "⠸⠹"] # 0x23 (Number sign (hash))
+ - "%": [t: "⠨⠴"] # 0x25 (Percent sign)
+ - "&": [t: "⠈⠯"] # 0x26 (Ampersand)
+ - "*": [t: "⠐⠔"] # 0x002A (Asterisk)
+ - "/": [t: "⠸⠌"] # 0x002F (Solidus (slash))
+ - ";": [t: "1c⠆"] # 0x003B (Semicolon)
+ - "?": [t: "1c⠦"] # 0x003F (Question mark)
+ - "@": [t: "⠈⠁"] # 0x0040 (Commercial at sign)
+ - "\\": [t: "⠸⠡"] # 0x005C (Backslash)
+ - "^": [t: "⠈⠢"] # 0x005E (Caret (hat, up arrow))
+ - "_": [t: "⠨⠤"] # 0x005F (Low line (underscore))
+ - "~": [t: "⠈⠔"] # 0x007E (Tilde (swung dash))
+ - "¢": [t: "⠈⠉"] # 0x00A2 (Cents sign)
+ - "‐": [t: "⠤"] # 0x2010 (Hyphen)
+ - "–": [t: "P⠠⠤"] # 0x2013 (En Dash)
+ - "―": [t: "⠐⠠⠤"] # 0x2015 (Horizontal Bar)
+ - "‖": [t: "⠸⠳"] # 0x2016
+ - "€": [t: "⠈⠑"] # 0x20AC (Euro sign)
+ - "₣": [t: "⠈⠋"] # 0x20A3 (French franc sign)
+ - "£": [t: "⠈⠇"] # 0x00A3 (Pound sign)
+ - "₦": [t: "⠈⠝"] # 0x20A6 (Naira sign)
+ - "$": [t: "⠈⠎"] # 0x0024 (Dollar sign)
+ - "¥": [t: "⠈⠽"] # 0x00A5 (Yen sign)
+ - "¦": [t: "⠨⠳"] # 0x00A6 (Broken bar)
+ - "¬": [t: "⠈⠹"] # 0x00AC (Not sign)
+ - "°": [t: "⠘⠚"] # 0x00B0 (Degree sign)
+ - "†": [t: "⠈⠠⠹"] # 0x2020 (Dagger)
+ - "‡": [t: "⠈⠠⠻"] # 0x2021 (Double dagger)
+ - "…": [t: "c⠲c⠲c⠲"] # 0x2026 (Ellipsis)
+ - "⋯": [t: "⠄⠄⠄"] # 0x22EF (midline horizontal ellipsis; GTM 15.4 matrix omission)
+ - "′": [t: "1⠶"] # 0x2032 (Prime sign)
+ - "″": [t: "1⠶⠶"] # 0x2033 (Double prime sign)
+ - "‴": [t: "1⠶⠶⠶"] # 0x2034 (Triple prime sign)
+ - "℃": [t: "⠘⠚⠠⠉"] # 0x2103 (Degrees Celsius)
+ - "℉": [t: "⠘⠚⠠⠋"] # 0x2109 (Degrees Fahrenheit)
+ - "Å": [t: "CA⠘⠫L⠁"] # 0x212B (Angstrom symbol)
+ - "Å": [t: "CA⠘⠫L⠁"] # 0x00C5 (WIRIS uses this for Angstrom)
+ - "∀": [t: "⠘⠁"] # 0x2200 (For all)
+ - "∂": [t: "⠈⠙"] # 0x2202 (Partial differential)
+ - "∃": [t: "⠘⠢"] # 0x2203 (There exists)
+ - "∄": [t: "⠘⠢⠈⠱"] # 0x2204 (There does not exist)
+ - "∅": [t: "⠈⠚"] # 0x2205 (Empty set)
+ - "∇": [t: "⠘⠙"] # 0x2207 (Nabla (del, inverted capital delta))
+ - "∎": [t: "⠸⠫⠼⠙t"] # 0x220E (End of proof)
+ - "√": [t: "⠐⠩"] # 0x221A (Square root (radical) without vinculum)
+ - "∞": [t: "⠼⠿"] # 0x221E (Infinity)
+ - "∠": [t: "⠸⠪"] # 0x2220 (Angle)
+ - "∡": [t: "⠨⠸⠪"] # 0x2221 (Measured angle)
+ - "⊾": [t: "⠼⠸⠪"] # 0x22BE (Right angle with arc)
+ - "∫": [t: "1⠮"] # 0x222B (Integral)
+ - "∮": [t: "⠈⠮"] # 0x222E (Contour integral (closed line integral))
+ - "∴": [t: "1⠠⠡"] # 0x2234 (Therefore)
+ - "∵": [t: "⠈⠌"] # 0x2235 (Because (since))
+ - "∶": [t: "⠒"] # 0x2236 (Ratio)
+ - "∷": [t: "⠒⠒"] # 0x2237 (Proportion)
+ - "∣": [t: "⠸⠳"] # 0x2223 (Divides)
+ - "∤": [t: "⠸⠳⠈⠱"] # 0x2224 (Does not divide)
+ - "∥": [t: "⠼⠇"] # 0x2225 (Parallel)
+ - "∦": [t: "⠼⠇⠈⠱"] # 0x2226 (Not parallel)
+ - "⟂": [t: "⠼⠤"] # 0x27C2 (Perpendicular)
+ - "⊥": [t: "⠼⠤"] # 0x22A5 (Up tack (perpendicular))
+ - "⊦": [t: "⠸⠒"] # 0x22A6 (Assertion (is a theorem))
+ - "⊨": [t: "⠘⠸⠒"] # 0x22A8 (TRUE (is valid))
+ - "⊬": [t: "⠸⠒⠈⠱"] # 0x22AC (Does not prove)
+ - "⊭": [t: "⠘⠸⠒⠈⠱"] # 0x22AD (Not TRUE)
+ - "⫅": [t: "⠘⠣⠰⠻⠐⠶"] # 0x2AC5 (Subset above equals)
+ - "⫆": [t: "⠘⠜⠰⠻⠐⠶"] # 0x2AC6 (Superset above equals)
+ - "⫤": [t: "⠨⠸⠒"] # 0x2AE4 (Vertical bar double left turnstile)
+ - "⬠": [t: "1⠫⠼⠑t"] # 0x2B20 (White Pentagon)
+ - "⬡": [t: "1⠫⠼⠋t"] # 0x2B21 (White Hexagon)
+ - "✓": [t: "⠈⠩"] # 0x2713 (Check mark (tick))
+ - "⦵": [t: "⠨⠚"] # 0x29B5 (Plimsoll sign)
+ - "": [t: "1⠐⠠⠤⠯⠫⠿"] # 0x2B96 (MEDIUM SMALL WHITE CIRCLE WITH HORIZONTAL BAR (standard state))
+ - "←": [t: "1⠳⠪"] # 0x2190 (Leftwards arrow)
+ - "↑": [t: "1⠳⠬"] # 0x2191 (Upwards arrow)
+ - "→": [t: "1⠳⠕"] # 0x2192 (Rightwards arrow)
+ - "↓": [t: "1⠳⠩"] # 0x2193 (Downwards arrow)
+ - "↔": [t: "1⠳⠺⠗⠕"] # 0x2194 (Left right arrow)
+ - "↕": [t: "1⠳⠺⠗⠬"] # 0x2195 (Up down arrow)
+ - "↖": [t: "1⠳⠱"] # 0x2196 (Northwest arrow)
+ - "↗": [t: "1⠳⠎"] # 0x2197 (Northeast arrow)
+ - "↘": [t: "1⠳⠣"] # 0x2198 (Southeast arrow)
+ - "↙": [t: "1⠳⠜"] # 0x2199 (Southwest arrow)
+ - "↚": [t: "1⠳⠪⠈⠱"] # 0x219A (Leftwards arrow with stroke)
+ - "↛": [t: "1⠳⠕⠈⠱"] # 0x219B (Rightwards arrow with stroke)
+ - "↜": [t: "1⠳⠔⠢⠪"] # 0x219C (Leftwards wave arrow)
+ - "↝": [t: "1⠳⠢⠔⠕"] # 0x219D (Rightwards wave arrow)
+ - "↞": [t: "1⠳⠒⠗⠗⠪"] # 0x219E (Leftwards two headed arrow)
+ - "↟": [t: "1⠳⠒⠗⠗⠬"] # 0x219F (Upwards two headed arrow)
+ - "↠": [t: "1⠳⠒⠗⠗⠕"] # 0x21A0 (Rightwards two headed arrow)
+ - "↡": [t: "1⠳⠒⠗⠗⠩"] # 0x21A1 (Downwards two headed arrow)
+ - "↢": [t: "1⠳⠗⠗⠪"] # 0x21A2 (Leftwards arrow with tail)
+ - "↣": [t: "1⠳⠗⠗⠕"] # 0x21A3 (Rightwards arrow with tail)
+ - "↤": [t: "1⠳⠳⠗⠪"] # 0x21A4 (Leftwards arrow from bar)
+ - "↥": [t: "1⠳⠳⠗⠬"] # 0x21A5 (Upwards arrow from bar)
+ - "↦": [t: "1⠳⠳⠗⠕"] # 0x21A6 (Rightwards arrow from bar)
+ - "↧": [t: "1⠳⠳⠗⠩"] # 0x21A7 (Downwards arrow from bar)
+ - "↭": [t: "1⠳⠺⠔⠢⠗⠕"] # 0x21AD (Left right wave arrow)
+ - "↮": [t: "1⠳⠺⠗⠕⠈⠱"] # 0x21AE (Left right arrow with stroke)
+ - "↰": [t: "1⠳⠴⠬"] # 0x21B0 (Upwards arrow with tip left)
+ - "↱": [t: "1⠳⠲⠬"] # 0x21B1 (Upwards arrow with tip right)
+ - "↲": [t: "1⠳⠲⠩"] # 0x21B2 (Downwards arrow with tip left)
+ - "↳": [t: "1⠳⠴⠩"] # 0x21B3 (Downwards arrow with tip right)
+ - "↶": [t: "1⠳⠔⠔⠪"] # 0x21B6 (Anticlockwise top semicircle arrow)
+ - "↷": [t: "1⠳⠢⠢⠕"] # 0x21B7 (Clockwise top semicircle arrow)
+ - "↼": [t: "1⠳⠈⠗⠪"] # 0x21BC (Leftwards harpoon with barb upwards)
+ - "↽": [t: "1⠳⠠⠗⠪"] # 0x21BD (Leftwards harpoon with barb downwards)
+ - "↾": [t: "1⠳⠠⠗⠬"] # 0x21BE (Upwards harpoon with barb rightwards)
+ - "↿": [t: "1⠳⠈⠗⠬"] # 0x21BF (Upwards harpoon with barb leftwards)
+ - "⇀": [t: "1⠳⠈⠗⠕"] # 0x21C0 (Rightwards harpoon with barb upwards)
+ - "⇁": [t: "1⠳⠠⠗⠕"] # 0x21C1 (Rightwards harpoon with barb downwards)
+ - "⇂": [t: "1⠳⠈⠗⠩"] # 0x21C2 (Downwards harpoon with barb rightwards)
+ - "⇃": [t: "1⠳⠠⠗⠩"] # 0x21C3 (Downwards harpoon with barb leftwards)
+ - "⇄": [t: "1⠳⠕⠻⠳⠪"] # 0x21C4 (Rightwards arrow over leftwards arrow)
+ - "⇅": [t: "1⠳⠬⠿⠳⠩"] # 0x21C5 (Upwards arrow left of Downwards arrow)
+ - "⇌": [t: "1⠘⠸⠶"] # 0x21CC (Rightwards harpoon over leftwards harpoon (equilibrium))
+ - "⇐": [t: "1⠳⠶⠪"] # 0x21D0 (Leftwards double arrow)
+ - "⇑": [t: "1⠳⠶⠬"] # 0x21D1 (Upwards double arrow)
+ - "⇒": [t: "1⠳⠶⠕"] # 0x21D2 (Rightwards double arrow)
+ - "⇓": [t: "1⠳⠶⠩"] # 0x21D3 (Downwards double arrow)
+ - "⇔": [t: "1⠳⠺⠶⠗⠕"] # 0x21D4 (Left right double arrow)
+ - "⇕": [t: "1⠳⠺⠶⠗⠬"] # 0x21D5 (Up down double arrow)
+ - "⇠": [t: "1⠳⠂⠪"] # 0x21E0 (Leftwards dashed arrow)
+ - "⇡": [t: "1⠳⠂⠬"] # 0x21E1 (Upwards dashed arrow)
+ - "⇢": [t: "1⠳⠂⠕"] # 0x21E2 (Rightwards dashed arrow)
+ - "⇣": [t: "1⠳⠂⠩"] # 0x21E3 (Downwards dashed arrow)
+ - "⟵": [t: "1⠳⠒⠒⠒⠪"] # 0x27F5 (Long leftwards arrow)
+ - "⟶": [t: "1⠳⠒⠒⠒⠕"] # 0x27F6 (Long rightwards arrow)
+ - "⥂": [t: "1⠸⠶"] # 0x2942 (Rightwards arrow above short leftwards arrow (equilibrium, trend to the right))
+ - "⥄": [t: "1⠈⠸⠶"] # 0x2944 (Short rightwards arrow above leftwards arrow (equilibrium, trend to the left))
+
+# Mappings for some new Unicode chemistry arrows/symbols
+# These repeat the short arrow version because that is what is in the spec (GTM 16), but the spec should really use the long version
+ - "": [t: "1⠘⠸⠶"] # 0x1F8D1 LONG RIGHTWARDS HARPOON OVER LONG LEFTWARDS HARPOON (equilibrium)
+ - "": [t: "1⠐⠸⠶"] # 0x1f8d2 LONG RIGHTWARDS HARPOON ABOVE SHORT LEFTWARDS HARPOON(equilibrium, trend to the right)
+ - "": [t: "1⠈⠸⠶"] # 0x1f8d3 SHORT RIGHTWARDS HARPOON ABOVE LONG LEFTWARDS HARPOON (equilibrium, trend to the left))
+
+# These need to be verified -- 0x1f8d1, 0x1f8d2, and 0x1f8d3 conflict with GTM 16 (uses short arrow when really should be long)
+ - "": [t: "1⠳⠒⠒⠒⠕⠻⠳⠒⠒⠒⠪"] # 0x1F8D0 LONG RIGHTWARDS ARROW OVER LONG LEFTWARDS ARROW
+ - "": [t: "1⠳⠒⠈⠗⠪⠻⠳⠒⠒⠒⠠⠗⠕"] # 0x1F8D5 SHORT LEFTWARDS HARPOON ABOVELONG RIGHTWARDS HARPOON
+ - "": [t: "1⠳⠒⠒⠒⠕⠯⠠⠭"] # 0x1F8D6 LONG RIGHTWARDS ARROW WITH THROUGH X
+ - "": [t: "1⠳⠒⠒⠒⠕⠯⠣⠸⠌⠸⠌⠜"] # 0x1F8D7 LONG RIGHTWARDS ARROW WITH DOUBLE SLASH
+# - "": [t: ""] # 0x1F8D8 LONG LEFT RIGHT ARROW WITH DEPENDENT LOBE (no clue what to do)
+
+ - "△": [t: "1⠫⠼⠉t"] # 0x25B3 (Triangle)
+ - "▫": [t: "1⠫⠼⠙t"] # 0x25AB (Small white Square)
+ - "□": [t: "1⠫⠼⠙t"] # 0x25A1 (Square)
+ - "◻": [t: "1⠫⠼⠙t"] # 0x25FB (Square)
+ - "▤": [t: "⠨⠫⠼⠙t"] # 0x25A4 (Square with horizontal fill)
+ - "▥": [t: "⠨⠫⠼⠙t"] # 0x25A5 (Square with vertical fill)
+ - "▦": [t: "⠨⠫⠼⠙t"] # 0x25A6 (Square with orthogonal crosshatch fill)
+ - "▧": [t: "⠨⠫⠼⠙t"] # 0x25A7 (Square with upper left to lower right fill)
+ - "▨": [t: "⠨⠫⠼⠙t"] # 0x25A8 (Square with upper right to lower left fill)
+ - "▩": [t: "⠨⠫⠼⠙t"] # 0x25A9 (Square with diagonal crosshatch fill)
+ - "○": [t: "1⠫⠿t"] # 0x25CB (Circle)
+ - "◍": [t: "⠨⠫⠿t"] # 0x25CD (Circle with vertical fill)
+ - "▱": [t: "1⠫⠈⠼⠙t"] # 0x25B1 (Parallelogram)
+ - "▲": [t: "⠸⠫⠼⠉t"] # 0x25B2 (Filled triangle)
+ - "■": [t: "⠸⠫⠼⠙t"] # 0x25A0 (Filled square)
+ - "≜": [t: "⠠⠨⠙⠻⠐⠶"] # 0x225C (Delta equal to)
+ - "≝": [t: "1⠣⠙⠑⠋⠜⠻⠐⠶"] # 0x225D (Equal to by definition)
+ - "⊕": [t: "1⠫⠿⠪⠐⠖t"] # 0x2295 (Circled plus)
+ - "⊖": [t: "1⠫⠿⠪⠐⠤t"] # 0x2296 (Circled minus)
+ - "⊗": [t: "1⠫⠿⠪⠐⠦t"] # 0x2297 (Circled times)
+ - "⊛": [t: "1⠫⠿⠪⠐⠔t"] # 0x229B (Circled asterisk operator)
+ - "⊞": [t: "1⠫⠼⠙⠪⠐⠖t"] # 0x229E (Squared plus)
+ - "⊟": [t: "1⠫⠼⠙⠪⠐⠤t"] # 0x229F (Squared minus)
+ - "⊠": [t: "1⠫⠼⠙⠪⠐⠦t"] # 0x22A0 (Squared times)
+ - "˙": [t: "1⠲"] # 0x02D9 ( Dot Above)
+ - "¨": [t: "1⠲⠲"] # 0x00A8 ( Diaeresis/Double Dot Above )
+ - "©": [t: "⠘⠉"] # 0xa9 (Copyright)
+
+
+ - "\"": [t: "b⠠b⠶"]
+ - "'": [t: "b⠄"]
+ - "“": [t: "o⠘o⠦"]
+ - "”": [t: "c⠘c⠴"]
+ - "‘": [t: "o⠠o⠦"]
+ - "’": [t: "c⠠c⠴"]
+ - "«": [t: "o⠸o⠦"]
+ - "»": [t: "c⠸c⠴"]
+
+ - " ": # 0x20 (Space)
+ - test:
+ if: "self::m:mn"
+ then: [t: "N⠐"]
+ else: [t: "W"]
+ - " ": # 0xa0 (Non-breaking Space)
+ - test:
+ - if: "self::m:mn"
+ then: [t: "N⠐"]
+ - else_if: "@data-added='missing-content' or @data-empty-in-2D or @width > 1.1"
+ then: [t: "⠬"] # omission
+ - else_if: "@width < 0.25"
+ then: [t: ""] # tweaking space -- ignore
+ else: [t: "W"] # space in text or wide enough space
+ - ",": # 0x2c (Comma)
+ - test:
+ if: "self::m:mn"
+ then: [t: "N⠂"]
+ else: [t: "c,W"]
+ - ".": # 0x2e (Period)
+ - test:
+ if: "self::m:mn"
+ then: [t: "N⠲"]
+ else: [t: "c."]
+ - ":": # 0x003A (Colon)
+ # We can't normally tell spacing, but it *should* have a space in function mapping and set builder notation if the author used appropriate notation
+ # The canonicalization code makes this guess and adds "data-space-after"
+ - test:
+ if: "@data-space-after or (../self::m:mrow and ancestor::*[2][IsBracketed(., '{', '}')]) or following-sibling::*[1]/*[2][IsInDefinition(., 'Braille', 'Arrows')]" # "Arrows" is a bit broad...
+ then: [t: "1⠒W"]
+ else: [t: "1c⠒"]
+
+ - "-": # 0x2d (Minus sign or hyphen)
+ - test:
+ if: "self::m:mo"
+ then: [t: "⠐⠤"]
+ else: [t: "⠤"]
+
+ - "": # 0x2061 (invisible function apply)
+ - test:
+ if:
+ - "preceding-sibling::*[1][self::m:mi and substring(., string-length(.), 1)!=' '] and " # avoid scripted function names and one that end with spaces
+ - "following-sibling::*[1][self::m:mi and translate(., 'abcdefghijklmnopqrstuvwxyz', '') = '']" # GTM 9.3.2
+ then: [t: "W"]
+ else: [t: ""]
+
+ - "": # 0x2062 (invisible times)
+ - test:
+ if: # GTM 9.3.3 (not very clear in rule, but the function name has to start with a lower case latin char ['no indicators'])
+ - "parent::m:mrow and "
+ - "preceding-sibling::*[1]["
+ - " (self::m:mi and translate(., 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', '') = '') or "
+ - " (self::m:mrow and translate(*[last()], 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', '') = '')] and"
+ - " following::*[1][self::m:mrow and count(*)=3 and " # look for function apply
+ - " *[2][.=''] and *[1][self::m:mi and translate(., 'abcdefghijklmnopqrstuvwxyz', '') = '']]"
+ then: [t: "W"]
+ else: [t: ""]
+ - "": [t: ""] # 0x2063 (invisible separator)
+ - "": [t: ""] # 0x2064 (invisible plus)
+ - "0": [t: "N⠚"] # 0x30
+ - "1": [t: "N⠁"] # 0x31
+ - "2": [t: "N⠃"] # 0x32
+ - "3": [t: "N⠉"] # 0x33
+ - "4": [t: "N⠙"] # 0x34
+ - "5": [t: "N⠑"] # 0x35
+ - "6": [t: "N⠋"] # 0x36
+ - "7": [t: "N⠛"] # 0x37
+ - "8": [t: "N⠓"] # 0x38
+ - "9": [t: "N⠊"] # 0x39
+
+ - "a": [t: "L⠁"] # 0x61
+ - "b": [t: "L⠃"] # 0x62
+ - "c": [t: "L⠉"] # 0x63
+ - "d": [t: "L⠙"] # 0x64
+ - "e": [t: "L⠑"] # 0x65
+ - "f": [t: "L⠋"] # 0x66
+ - "g": [t: "L⠛"] # 0x67
+ - "h": [t: "L⠓"] # 0x68
+ - "i": [t: "L⠊"] # 0x69
+ - "j": [t: "L⠚"] # 0x6a
+ - "k": [t: "L⠅"] # 0x6b
+ - "l": [t: "L⠇"] # 0x6c
+ - "m": [t: "L⠍"] # 0x6d
+ - "n": [t: "L⠝"] # 0x6e
+ - "o": [t: "L⠕"] # 0x6f
+ - "p": [t: "L⠏"] # 0x70
+ - "q": [t: "L⠟"] # 0x71
+ - "r": [t: "L⠗"] # 0x72
+ - "s": [t: "L⠎"] # 0x73
+ - "t": [t: "L⠞"] # 0x74
+ - "u": [t: "L⠥"] # 0x75
+ - "v": [t: "L⠧"] # 0x76
+ - "w": [t: "L⠺"] # 0x77
+ - "x": [t: "L⠭"] # 0x78
+ - "y": [t: "L⠽"] # 0x79
+ - "z": [t: "L⠵"] # 0x7a
+
+ # Latin capitals: chem-element letters use 𝐶 (no word indicator); others use C.
+ # Cells come from lowercase a-z via spell/translate.
+ - "BCHIKNOPSUVWY": # chemistry-capable capitals
+ - test:
+ if: "@data-chem-element"
+ then: [tc: "𝐶"]
+ else: [tc: "C"]
+ - spell: "translate('.', 'BCHIKNOPSUVWY', 'bchiknopsuvwy')"
+ - "ADEFGJLMQRTXZ": # remaining capitals
+ - tc: "C"
+ - spell: "translate('.', 'ADEFGJLMQRTXZ', 'adefgjlmqrtxz')"
+
+ - "α": [t: "GL⠁"] # 0x3b1
+ - "β": [t: "GL⠃"] # 0x3b2
+ - "γ": [t: "GL⠛"] # 0x3b3
+ - "δ": [t: "GL⠙"] # 0x3b4
+ - "ε": [t: "GL⠑"] # 0x3b5
+ - "ζ": [t: "GL⠵"] # 0x3b6
+ - "η": [t: "GL⠱"] # 0x3b7
+ - "θ": [t: "GL⠹"] # 0x3b8
+ - "ι": [t: "GL⠊"] # 0x3b9
+ - "κ": [t: "GL⠅"] # 0x3ba
+ - "λ": [t: "GL⠇"] # 0x3bb
+ - "μ": [t: "GL⠍"] # 0x3bc
+ - "ν": [t: "GL⠝"] # 0x3bd
+ - "ξ": [t: "GL⠭"] # 0x3be
+ - "ο": [t: "GL⠕"] # 0x3bf
+ - "π": [t: "GL⠏"] # 0x3c0
+ - "ρ": [t: "GL⠗"] # 0x3c1
+ - "ς": [t: "GL⠎"] # 0x3c2
+ - "σ": [t: "GL⠎"] # 0x3c3
+ - "τ": [t: "GL⠞"] # 0x3c4
+ - "υ": [t: "GL⠥"] # 0x3c5
+ - "φ": [t: "GL⠋"] # 0x3c6
+ - "χ": [t: "GL⠯"] # 0x3c7
+ - "ψ": [t: "GL⠽"] # 0x3c8
+ - "ω": [t: "GL⠺"] # 0x3c9
+
+ - "ϑ": [t: "GL⠹"] # 0x3d1
+ - "ϵ": [t: "GL⠑"] # 0x3f5 \varepsilon
+ - "ϰ": [t: "GL⠅"] # 0x3f0
+ - "ϕ": [t: "GL⠋"] # 0x3d5
+ - "ϱ": [t: "GL⠗"] # 0x3f1
+ - "ϖ": [t: "GL⠏"] # 0x3d6
+ - "Ϝ": [t: "GL⠧"] # 0x3d7
+
+ - "Α": [t: "CGL⠁"] # 0x391
+ - "Β": [t: "CGL⠃"] # 0x392
+ - "Γ": [t: "CGL⠛"] # 0x393
+ - "Δ": [t: "CGL⠙"] # 0x394
+ - "Ε": [t: "CGL⠑"] # 0x395
+ - "Ζ": [t: "CGL⠵"] # 0x396
+ - "Η": [t: "CGL⠱"] # 0x397
+ - "Θ": [t: "CGL⠹"] # 0x398
+ - "Ι": [t: "CGL⠊"] # 0x399
+ - "Κ": [t: "CGL⠅"] # 0x39a
+ - "Λ": [t: "CGL⠇"] # 0x39b
+ - "Μ": [t: "CGL⠍"] # 0x39c
+ - "Ν": [t: "CGL⠝"] # 0x39d
+ - "Ξ": [t: "CGL⠭"] # 0x39e
+ - "Ο": [t: "CGL⠕"] # 0x39f
+ - "Π": [t: "CGL⠏"] # 0x3a0
+ - "Ρ": [t: "CGL⠗"] # 0x3a1
+ - "": [t: "CGL⠎"] # 0x3a2
+ - "Σ": [t: "CGL⠎"] # 0x3a3
+ - "Τ": [t: "CGL⠞"] # 0x3a4
+ - "Υ": [t: "CGL⠥"] # 0x3a5
+ - "Φ": [t: "CGL⠋"] # 0x3a6
+ - "Χ": [t: "CGL⠯"] # 0x3a7
+ - "Ψ": [t: "CGL⠽"] # 0x3a8
+ - "Ω": [t: "CGL⠺"] # 0x3a9
+
+ - "µ": [t: "GL⠍"] # 0x00B5 (Micro (Greek mu))
+ - "Ω": [t: "CGL⠺"] # 0x2126 (Ohm sign (capital Greek omega))
+ - "∆": [t: "CGL⠙"] # 0x2206 (Increment (capital Greek delta))
+ - "∏": [t: "CGL⠏"] # 0x220F (Product (capital Greek pi))
+ - "∑": [t: "CGL⠎"] # 0x2211 (Sum (capital Greek sigma))
+
+ # --- restored short definitions that differ from unicode-full ---
+ - "⋇": [t: "1⠌⠯⠦"] # 0x22C7 (Division times)
+ - "⊩": [t: "⠸⠳⠿⠸⠒"] # 0x22A9 (Forces)
diff --git a/Rules/Braille/Vietnam/unicode.yaml b/Rules/Braille/Vietnam/unicode.yaml
index 78a9adaa6..c86e95055 100644
--- a/Rules/Braille/Vietnam/unicode.yaml
+++ b/Rules/Braille/Vietnam/unicode.yaml
@@ -1,588 +1,588 @@
----
-# Definitions for Vietnamese Math Braille. But most of theym are same as UEB.
-# UEB characters
-#
-# Some chars that originally came from an Excel spreadsheet, converted to csv, and the greatly expanded
-#
-# The UEB translation makes use of some non-braille chars as flags
-# L -- what follows is a letter
-# N -- what follows is a digit
-# C -- precedes L for capital letters
-# G -- precedes L for Greek Letters (after C for capitals)
-# Typeface Indicators ("typeforms")
-# B bold, I Italic, S Sans-serif, T script, D, Fraktur, 𝔹 blackboard-bold
-# the type face indicators can be combined with B (first) and I (second)
-# Standing alone chars:
-# Any character which acts as a standing alone character (e.g, "{") needs each braille symbol to be labeled
-# o -- opening/left side, c -- closing/right side, b -- both open and close (e.g, '"')
-
-
- - "=": [T: "⠐⠶"] # 0x003D (Equals)
- - "≠": [T: "⠐⠾"] # 0x2260 (Not equal)
- - "<": [T: "⠐⠪"] # 0x003C (Less than)
- - "≤": [T: "⠐⠪⠶"] # 0x2264 (Less than or equal to)
- - ">": [T: "⠐⠕"] # 0x003E (Greater than)
- - "≥": [T: "⠐⠕⠶"] # 0x2265 (Greater than or equal to)
- - "≪": [T: "⠐⠪⠪"] # 0x226A (Much less than)
- - "≫": [T: "⠐⠕⠕"] # 0x226B (Much greater than)
- - "≮": [T: "⠐⠪⠈"] # 0x226E (Not less than)
- - "≯": [T: "⠐⠕⠈"] # 0x226F (Not greater than)
- - "≰": [T: "⠸⠐⠪⠈⠐⠾"] # 0x2270 (Neither less than nor equal to)
- - "≱": [T: "⠸⠐⠕⠈⠐⠾"] # 0x2271 (Neither greater than nor equal to)
- - "∝": [t: "⠸⠐⠶"] # 0x221D (Proportional to)
- - "≃": [T: "⠐⠢⠢"] # 0x2243 (Approximately equal to (tilde over horizontal line))
- - "≅": [T: "⠐⠢⠢"] # 0x2245 (Approximately equal to (tilde over equals sign))
- - "≈": [T: "⠐⠢⠢"] # 0x2248 (Approximately equal (tilde over tilde))
- - "≏": [t: "⠘⠐⠶"] # 0x224F (Equals with bump in top bar (difference between))
- - "≑": [t: "⠨⠐⠶"] # 0x2251 (Geometrically equal to (equals dotted above and below))
- - "≡": [T: "⠐⠿"] # 0x2261 (Equivalent to (three horizontal lines)) vi: trùng
- - "≢": [T: "⠐⠿⠈"] # 0x2262 (Not identical to)
- - "∈": [T: "⠈⠑"] # 0x2208 (Element of (member of))
- - "∉": [T: "⠈⠑⠈"] # 0x2209 (Element of (not member of))
- - "+": [T: "⠐⠖"] # 0x002B (Plus sign)
- - "∋": [t: "⠈⠘⠑"] # 0x220B (Contains)
- - "⊂": [T: "⠘⠣"] # 0x2282 (Subset of)
- - "⊃": [T: "⠘⠜"] # 0x2283 (Superset of)
- - "⊆": [T: "⠘⠣⠐⠶"] # 0x2286 (Subset of or equal)
- - "⊇": [T: "⠘⠜⠐⠶"] # 0x2287 (Superset of or equal)
- - "⊊": [t: "⠨⠘⠣"] # 0x228A (Subset of with not equal)
- - "⊋": [t: "⠨⠘⠜"] # 0x228B (Superset of with not equal)
- - "⊲": [t: "⠈⠸⠣"] # 0x22B2 (Normal subgroup of)
- - "⊳": [t: "⠈⠸⠜"] # 0x22B3 (Contains as normal subgroup)
- - "⊴": [t: "⠸⠸⠣"] # 0x22B4 (Normal subgroup of or equal)
- - "⊵": [t: "⠸⠸⠜"] # 0x22B5 (Contains as normal subgroup or equal)
- - "⋬": [t: "⠨⠸⠣"] # 0x22EC (not normal subgroup) -- this isn't the same as what is in GTM 10, but that similar has no Unicode equiv
- - "⋭": [t: "⠨⠸⠣"] # 0x22ED (does not contain as normal subgroup) -- this isn't the same as what is in GTM 10, but that similar has no Unicode equiv
- - "−": [t: "⠐⠤"] # 0x2212 (Minus sign)
- - "·": [T: "⠐⠦"] # 0x00D7 (Multiplication dot (times))
- - "×": [T: "⠐⠦"] # 0x00D7 (Multiplication sign (times))
- - "÷": [T: "⠐⠲"] # 0x00F7 (Division sign (divided by))
- - "±": [T: "⠐⠖⠤"] # 0x00B1 (Plus or minus)
- - "∓": [T: "⠐⠤⠖"] # 0x2213 (Minus or plus)
- - "∗": [t: "⠐⠦"] # 0x2217 (Asterisk operator)
- - "∘": [t: "⠐⠴"] # 0x2218 (Ring operator)
- - "◦": [t: "⠐⠴"] # 0x25E6 (White bullet)
- - "∼": [t: "⠈⠔"] # 0x223C (Tilde operator)
- - "⋅": [t: "⠐⠦"] # 0x22C5 (Dot operator)
- - "∧": [t: "⠈⠦"] # 0x2227 (Logical and)
- - "∨": [t: "⠈⠖"] # 0x2228 (Logical or)
- - "∩": [T: "⠨⠦"] # 0x2229 (Intersection)
- - "∪": [T: "⠨⠖"] # 0x222A (Union)
- - "∖": [T: "⠸⠡"] # 0x2216 (Set minus)
- - "(": [T: "o⠈o⠣"] # 0x0028 (Left parenthesis)
- - ")": [T: "c⠈c⠜"] # 0x0029 (Right parenthesis)
- - "[": [T: "o⠨o⠣"] # 0x005B (Left square bracket)
- - "]": [T: "c⠨c⠜"] # 0x005D (Right square bracket)
- - "{": [T: "o⠸o⠣"] # 0x007B (Left curly bracket)
- - "}": [T: "c⠸c⠜"] # 0x007D (Right curly bracket)
- - "〈": [T: "o⠸⠣⠤"] # 0x2329 (Left angle bracket)
- - "〉": [T: "c⠤⠸⠜"] # 0x232A (Right angle bracket)
- - "|": [T: "⠸⠳"] # 0x007C (Vertical line)
- # - test:
- # if: "preceding-sibling::* and following-sibling::*"
- # then: [T: "W⠸⠳W"] # comparison (e.g., such that -- rule 145)
- # else: [T: "⠸⠳"] # absolute value, others???
- - "!": [T: "c⠖"] # 0x21 (Exclamation (factorial))
- - "#": [T: "⠼"] # 0x23 (Number sign (hash))
- - "%": [T: "⠼⠚⠴"] # 0x25 (Percent sign) No dots 46 before as in UEB
- - "&": [t: "⠈⠯"] # 0x26 (Ampersand)
- - "*": [T: "⠐⠦"] # 0x002A (Asterisk)
- - "/": [T: "⠐⠲"] # 0x002F (Solidus (slash))
- - ";": [t: "c⠆"] # 0x003B (Semicolon)
- - "?": [T: "c⠢"] # 0x003F (Question mark)
- - "@": [T: "⠈⠁"] # 0x0040 (Commercial at sign)
- - "\\": [t: "⠸⠡"] # 0x005C (Backslash)
- - "^": [t: "⠈⠢"] # 0x005E (Caret (hat, up arrow))
- - "_": [t: "⠨⠤"] # 0x005F (Low line (underscore))
- - "~": [t: "⠈⠔"] # 0x007E (Tilde (swung dash))
- - "¢": [t: "⠈⠉"] # 0x00A2 (Cents sign)
- - "€": [t: "⠈⠑"] # 0x20AC (Euro sign)
- - "₣": [t: "⠈⠋"] # 0x20A3 (French franc sign)
- - "£": [t: "⠈⠇"] # 0x00A3 (Pound sign)
- - "₦": [t: "⠈⠝"] # 0x20A6 (Naira sign)
- - "$": [t: "⠈⠎"] # 0x0024 (Dollar sign)
- - "¥": [t: "⠈⠽"] # 0x00A5 (Yen sign)
- - "¦": [t: "⠨⠳"] # 0x00A6 (Broken bar)
- - "¬": [t: "⠈⠹"] # 0x00AC (Not sign)
- - "°": [T: "⠔⠚"] # 0x00B0 (Degree sign)
- - "†": [t: "⠈⠠⠹"] # 0x2020 (Dagger)
- - "‡": [t: "⠈⠠⠻"] # 0x2021 (Double dagger)
- - "…": [T: "c⠄c⠄c⠄"] # 0x2026 (Ellipsis)
- - "′": [T: "⠄"] # 0x2032 (Prime sign)
- - "″": [T: "⠄⠄"] # 0x2033 (Double prime sign)
- - "‴": [T: "⠄⠄⠄"] # 0x2034 (Triple prime sign)
- - "Å": [t: "⠠⠘⠫⠁"] # 0x212B (Angstrom symbol)
- - "Å": [t: "⠠⠘⠫⠁"] # 0x00C5 (WIRIS uses this for Angstrom)
- - "∀": [t: "⠘⠁"] # 0x2200 (For all)
- - "∂": [t: "⠈⠙"] # 0x2202 (Partial differential)
- - "∃": [T: "⠘⠑"] # 0x2203 (There exists)
- - "∄": [T: "⠘⠑⠈"] # 0x2204 (There does not exist)
- - "∅": [T: "⠈⠚"] # 0x2205 (Empty set)
- - "∇": [t: "⠘⠙"] # 0x2207 (Nabla (del, inverted capital delta))
- - "∎": [t: "⠸⠫⠼⠙t"] # 0x220E (End of proof)
- - "√": [T: "⠩"] # 0x221A (Square root (radical) without vinculum)
- - "∞": [T: "⠼⠕"] # 0x221E (Infinity)
- - "∠": [T: "⠫⠛"] # 0x2220 (Angle)
- - "∡": [T: "⠨⠫⠛"] # 0x2221 (Measured angle)
- - "⊾": [T: "⠼⠫⠛"] # 0x22BE (Right angle with arc)
- - "∟": [T: "⠫⠧"]
- - "∫": [T: "⠾"] # 0x222B (Integral)
- - "∮": [T: "⠐⠾"] # 0x222E (Contour integral (closed line integral))
- - "∴": [t: "⠠⠡"] # 0x2234 (Therefore)
- - "∵": [t: "⠈⠌"] # 0x2235 (Because (since))
- - "∶": [t: "⠒"] # 0x2236 (Ratio)
- - "∷": [T: "⠒⠒"] # 0x2237 (Proportion)
- - "∣": [T: "⠣⠴⠜"] # 0x2223 (Divides) ueb: ⠸⠳
- - "∤": [T: "⠣⠼⠜"] # 0x2224 (Does not divide) ueb: ⠸⠳⠈⠱
- - "∥": [T: "⠫⠶"] # 0x2225 (Parallel) VI: AB parallel to CD, should be: ⠫AB⠶CD
- - "∦": [T: "⠫⠾"] # 0x2226 (Not parallel) Vi: AB not parallel to CD, should be: ⠫AB⠐⠾CD
- - "⟂": [T: "⠫⠧"] # 0x27C2 (Perpendicular)
- - "⊢": [t: "⠸⠒"] # 0x22a2 (Right tack)
- - "⊣": [t: "⠈⠸⠒"] # 0x22a3 (Left tack)
- - "⊥": [T: "⠫⠧"] # 0x22A5 (Up tack (perpendicular))
- - "⊦": [t: "⠸⠒"] # 0x22A6 (Assertion (is a theorem))
- - "⊨": [t: "⠘⠸⠒"] # 0x22A8 (TRUE (is valid))
- - "⊬": [t: "⠸⠒⠈⠱"] # 0x22AC (Does not prove)
- - "⊭": [t: "⠘⠸⠒⠈⠱"] # 0x22AD (Not TRUE)
- - "⫤": [t: "⠨⠸⠒"] # 0x2AE4 (Vertical bar double left turnstile)
- - "✓": [t: "⠈⠩"] # 0x2713 (Check mark (tick))
- - "⦵": [t: "⠨⠚"] # 0x29B5 (Plimsoll sign (standard state))
- - "": [t: "1⠐⠠⠤⠯⠫⠿"] # 0x2B96 (MEDIUM SMALL WHITE CIRCLE WITH HORIZONTAL BAR (standard state))
- - "←": [t: "⠳⠪"] # 0x2190 (Leftwards arrow)
- - "↑": [t: "⠳⠬"] # 0x2191 (Upwards arrow)
- - "→": [t: "⠳⠕"] # 0x2192 (Rightwards arrow)
- - "↓": [t: "⠳⠩"] # 0x2193 (Downwards arrow)
- - "↔": [T: "⠳⠪⠶⠕"] # 0x2194 (Left right arrow)
- - "↕": [t: "⠳⠺⠗⠬"] # 0x2195 (Up down arrow)
- - "↖": [t: "⠳⠱"] # 0x2196 (Northwest arrow)
- - "↗": [t: "⠳⠎"] # 0x2197 (Northeast arrow)
- - "↘": [t: "⠳⠣"] # 0x2198 (Southeast arrow)
- - "↙": [t: "⠳⠜"] # 0x2199 (Southwest arrow)
- - "↚": [t: "⠳⠪⠈⠱"] # 0x219A (Leftwards arrow with stroke)
- - "↛": [t: "⠳⠕⠈⠱"] # 0x219B (Rightwards arrow with stroke)
- - "↜": [t: "⠳⠔⠢⠪"] # 0x219C (Leftwards wave arrow)
- - "↝": [t: "⠳⠢⠔⠕"] # 0x219D (Rightwards wave arrow)
- - "↞": [t: "⠳⠒⠗⠗⠪"] # 0x219E (Leftwards two headed arrow)
- - "↟": [t: "⠳⠒⠗⠗⠬"] # 0x219F (Upwards two headed arrow)
- - "↠": [t: "⠳⠒⠗⠗⠕"] # 0x21A0 (Rightwards two headed arrow)
- - "↡": [t: "⠳⠒⠗⠗⠩"] # 0x21A1 (Downwards two headed arrow)
- - "↢": [t: "⠳⠗⠗⠪"] # 0x21A2 (Leftwards arrow with tail)
- - "↣": [t: "⠳⠗⠗⠕"] # 0x21A3 (Rightwards arrow with tail)
- - "↤": [t: "⠳⠳⠗⠪"] # 0x21A4 (Leftwards arrow from bar)
- - "↥": [t: "⠳⠳⠗⠬"] # 0x21A5 (Upwards arrow from bar)
- - "↦": [t: "⠳⠳⠗⠕"] # 0x21A6 (Rightwards arrow from bar)
- - "↧": [t: "⠳⠳⠗⠩"] # 0x21A7 (Downwards arrow from bar)
- - "↭": [t: "⠳⠺⠔⠢⠗⠕"] # 0x21AD (Left right wave arrow)
- - "↮": [t: "⠳⠺⠗⠕⠈⠱"] # 0x21AE (Left right arrow with stroke)
- - "↰": [t: "⠳⠴⠬"] # 0x21B0 (Upwards arrow with tip left)
- - "↱": [t: "⠳⠲⠬"] # 0x21B1 (Upwards arrow with tip right)
- - "↲": [t: "⠳⠲⠩"] # 0x21B2 (Downwards arrow with tip left)
- - "↳": [t: "⠳⠴⠩"] # 0x21B3 (Downwards arrow with tip right)
- - "↶": [t: "⠳⠔⠔⠪"] # 0x21B6 (Anticlockwise top semicircle arrow)
- - "↷": [t: "⠳⠢⠢⠕"] # 0x21B7 (Clockwise top semicircle arrow)
- - "↼": [t: "⠳⠈⠗⠪"] # 0x21BC (Leftwards harpoon with barb upwards)
- - "↽": [t: "⠳⠠⠗⠪"] # 0x21BD (Leftwards harpoon with barb downwards)
- - "↾": [t: "⠳⠠⠗⠬"] # 0x21BE (Upwards harpoon with barb rightwards)
- - "↿": [t: "⠳⠈⠗⠬"] # 0x21BF (Upwards harpoon with barb leftwards)
- - "⇀": [t: "⠳⠈⠗⠕"] # 0x21C0 (Rightwards harpoon with barb upwards)
- - "⇁": [t: "⠳⠠⠗⠕"] # 0x21C1 (Rightwards harpoon with barb downwards)
- - "⇂": [t: "⠳⠈⠗⠩"] # 0x21C2 (Downwards harpoon with barb rightwards)
- - "⇃": [t: "⠳⠠⠗⠩"] # 0x21C3 (Downwards harpoon with barb leftwards)
- - "⇄": [t: "⠳⠕⠻⠳⠪"] # 0x21C4 (Rightwards arrow over leftwards arrow)
- - "⇅": [t: "⠳⠬⠿⠳⠩"] # 0x21C5 (Upwards arrow left of Downwards arrow)
- - "⇌": [T: "⠳⠪⠕"] # 0x21CC (Rightwards harpoon over leftwards harpoon (equilibrium))
- - "⇐": [t: "⠳⠶⠪"] # 0x21D0 (Leftwards double arrow)
- - "⇑": [t: "⠳⠶⠬"] # 0x21D1 (Upwards double arrow)
- - "⇒": [t: "⠳⠶⠕"] # 0x21D2 (Rightwards double arrow)
- - "⇓": [t: "⠳⠶⠩"] # 0x21D3 (Downwards double arrow)
- - "⇔": [T: "⠳⠪⠶⠕"] # 0x21D4 (Left right double arrow)
- - "⇕": [t: "⠳⠺⠶⠗⠬"] # 0x21D5 (Up down double arrow)
- - "⇠": [t: "⠳⠂⠪"] # 0x21E0 (Leftwards dashed arrow)
- - "⇡": [t: "⠳⠂⠬"] # 0x21E1 (Upwards dashed arrow)
- - "⇢": [t: "⠳⠂⠕"] # 0x21E2 (Rightwards dashed arrow)
- - "⇣": [t: "⠳⠂⠩"] # 0x21E3 (Downwards dashed arrow)
- - "⟵": [t: "⠳⠪"] # 0x27F5 (Long leftwards arrow)
- - "⟶": [t: "⠳⠕"] # 0x27F6 (Long rightwards arrow)
- - "⥂": [t: "⠸⠶"] # 0x2942 (Rightwards arrow above short leftwards arrow (equilibrium, trend to the right))
- - "⥄": [t: "⠈⠸⠶"] # 0x2944 (Short rightwards arrow above leftwards arrow (equilibrium, trend to the left))
-
-# Mappings for some new Unicode chemistry arrows/symbols
-# These need to be verified -- 0x1f8d1, 0x1f8d2, and 0x1f8d3 conflict with GTM 16 (uses short arrow when really should be long)
- - "": [t: "⠳⠒⠒⠒⠕⠻⠳⠒⠒⠒⠪"] # 0x1F8D0 LONG RIGHTWARDS ARROW OVER LONG LEFTWARDS ARROW
- - "": [t: "⠳⠪⠕"] # 0x1f8d1 (Long rightwards harpoon over leftwards harpoon (equilibrium))
- - "": [t: "⠸⠶"] # 0x1f8d2 (Long rightwards harpoon over leftwards harpoon (equilibrium, trend to the right))
- - "": [t: "⠈⠸⠶"] # 0x1f8d3 (Long rightwards harpoon over leftwards harpoon (equilibrium, trend to the left))
-# - "": [t: "⠳⠒⠒⠒⠈⠗⠕⠻⠳⠒⠒⠒⠠⠗⠪"] # 0x1F8D1 LONG RIGHTWARDS HARPOON OVER LONG LEFTWARDS HARPOON
-# - "": [t: "⠳⠒⠒⠒⠈⠗⠕⠻⠳⠒⠠⠗⠪"] # 0x1F8D2 LONG RIGHTWARDS HARPOON ABOVESHORT LEFTWARDS HARPOON
-# - "": [t: "⠳⠒⠈⠗⠕⠻⠳⠒⠒⠒⠠⠗⠪"] # 0x1F8D3 SHORT RIGHTWARDS HARPOON ABOVELONG LEFTWARDS HARPOON
- - "": [t: "⠳⠒⠒⠒⠈⠗⠪⠻⠳⠒⠠⠗⠕"] # 0x1F8D4 LONG LEFTWARDS HARPOON ABOVESHORT RIGHTWARDS HARPOON
- - "": [t: "⠳⠒⠈⠗⠪⠻⠳⠒⠒⠒⠠⠗⠕"] # 0x1F8D5 SHORT LEFTWARDS HARPOON ABOVELONG RIGHTWARDS HARPOON
- - "": [t: "⠳⠒⠒⠒⠕⠯⠠⠭"] # 0x1F8D6 LONG RIGHTWARDS ARROW WITH THROUGH X
- - "": [t: "⠐⠠⠤⠯⠫⠿"] # 0x1F8D7 LONG RIGHTWARDS ARROW WITH DOUBLE SLASH
-
- - "△": [T: "⠫⠼⠉"] # 0x25B3 (Triangle)
- - "□": [T: "⠫⠼⠙"] # 0x25A1 (Square)
- - "▤": [T: "⠨⠫⠼⠙"] # 0x25A4 (Square with horizontal fill)
- - "▥": [T: "⠨⠫⠼⠙"] # 0x25A5 (Square with vertical fill)
- - "▦": [T: "⠨⠫⠼⠙"] # 0x25A6 (Square with orthogonal crosshatch fill)
- - "▧": [T: "⠨⠫⠼⠙"] # 0x25A7 (Square with upper left to lower right fill)
- - "▨": [T: "⠨⠫⠼⠙"] # 0x25A8 (Square with upper right to lower left fill)
- - "▩": [T: "⠨⠫⠼⠙"] # 0x25A9 (Square with diagonal crosshatch fill)
- - "○": [t: "⠫⠿"] # 0x25CB (Circle)
- - "◍": [T: "⠨⠫⠿"] # 0x25CD (Circle with vertical fill)
- - "▱": [T: "⠫⠈⠼⠙"] # 0x25B1 (Parallelogram)
- - "▲": [T: "⠸⠫⠼⠉"] # 0x25B2 (Filled triangle)
- - "■": [T: "⠸⠫⠼⠙"] # 0x25A0 (Filled square)
- - "≜": [T: "⠸⠙⠐⠶"] # 0x225C (Delta equal to)
- - "≝": [t: "⠣⠙⠑⠋⠜⠻⠐⠶"] # 0x225D (Equal to by definition)
- - "⊕": [t: "⠫⠿⠪⠐⠖t"] # 0x2295 (Circled plus)
- - "⊖": [t: "⠫⠿⠪⠐⠤t"] # 0x2296 (Circled minus)
- - "⊗": [t: "⠐⠦t"] # 0x2297 (Circled times)
- - "⊛": [t: "⠐⠦t"] # 0x229B (Circled asterisk operator)
- - "⊞": [t: "⠫⠼⠙⠪⠐⠖t"] # 0x229E (Squared plus)
- - "⊟": [t: "⠫⠼⠙⠪⠐⠤t"] # 0x229F (Squared minus)
- - "⊠": [t: "⠫⠼⠙⠪⠐⠦t"] # 0x22A0 (Squared times)
- - "˙": [t: "⠲"] # 0x02D9 ( Dot Above)
- - "¨": [t: "⠲⠲"] # 0x00A8 ( Diaeresis/Double Dot Above)
- - "©": [t: "⠘⠉"] # 0xa9 (Copyright)
-
-
- - "\"": [t: "b⠠b⠶"]
- - "'": [t: "b⠄"]
- - "“": [t: "o⠘o⠦"]
- - "”": [t: "c⠘c⠴"]
- - "‘": [t: "o⠠o⠦"]
- - "’": [t: "c⠠c⠴"]
- - "«": [t: "o⠸o⠦"]
- - "»": [t: "c⠸c⠴"]
-
- - " ": # 0x20 (Space)
- - test:
- if: "self::m:mn"
- then: [t: "N⠐"]
- else: [t: "W"]
- - " ": # 0xa0 (Non-breaking Space)
- - test:
- - if: "self::m:mn"
- then: [t: "N⠐"]
- - else_if: "following-sibling::*[1][@class='MathML-unit' or BaseNode(.)[@class='MathML-unit']]"
- then: [t: "𝐖"]
- else: [t: "W"]
- - ",": # 0x2c (Comma)
- - test:
- if: "self::m:mn"
- then: [t: "N⠂"]
- else: [t: ",W"]
- - ".": # 0x2e (Period)
- - test:
- if: "self::m:mn"
- then: [T: "N⠄"]
- else: [t: "."]
- - ":": # 0x003A (Colon)
- # Sometimes a colon is meant to be a ratio/mathord and sometimes a map/punct.
- # The latter has a space after it.
- # If in an mrow, guess it is infix and checks the operator. This is pretty weak!
- # Field extensions "[K:F]" and trilinear coordinates "a:b:c" don't want extra space
- # Time doesn't want an extra space -- the am/pm get wrapped in an mrow with the minutes after the colon
- - test:
- if:
- - "ancestor::*[2][IsBracketed(., '{', '}')] or " # field extension
- - "preceding-sibling::*[2][.=':'] or following-sibling::*[2][.=':'] or" # trilinear form
- # ratios tend to have similar left and right sides
- - "name(preceding-sibling::*[1]) = name(following-sibling::*[1]) or"
- # am/pm test
- - "(name(preceding-sibling::*[1]) = 'mn' and "
- - " following-sibling::*[1][self::m:mrow and count(*)=3 and *[1][self::m:mn] and "
- - " *[3][translate(., 'APM\u00A0', 'apm') = 'am' or translate(., 'APM\u00A0', 'apm') = 'pm']"
- - " ])"
- then: [t: "⠒"]
- else: [t: "⠒W"]
-
- - "-": # 0x2d (Minus sign or hyphen)
- - test:
- if: "self::m:mo"
- then: [t: "⠐⠤"]
- else: [t: "⠤"]
-
- - "": [t: ""] # 0x2061 (invisible function apply)
- #- test:
- #if:
- #- "preceding-sibling::*[1][self::m:mi and substring(., string-length(.), 1)!=' '] and " # avoid scripted function names and one that end with spaces
- #- "following-sibling::*[1][self::m:mi and translate(., 'abcdefghijklmnopqrstuvwxyz', '') = '']" # GTM 9.3.2
- #then: [t: "W"]
- #else: [t: ""]
-
- - "": [t: ""] # 0x2062 (invisible times)
- #- test:
- #if: # GTM 9.3.3 (not very clear in rule, but the function name has to start with a lower case latin char ['no indicators'])
- #- "parent::m:mrow and "
- #- "preceding-sibling::*[1]["
- #- " (self::m:mi and translate(., 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', '') = '') or "
- #- " (self::m:mrow and translate(*[last()], 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', '') = '')] and"
- #- " following::*[1][self::m:mrow and count(*)=3 and " # look for function apply
- #- " *[2][.=''] and *[1][self::m:mi and translate(., 'abcdefghijklmnopqrstuvwxyz', '') = '']]"
- #then: [t: "W"]
- #else: [t: ""]
- - "": [t: ""] # 0x2063 (invisible separator)
- - "": [t: ""] # 0x2064 (invisible plus)
- - "0": [t: "N⠚"] # 0x30
- - "1": [t: "N⠁"] # 0x31
- - "2": [t: "N⠃"] # 0x32
- - "3": [t: "N⠉"] # 0x33
- - "4": [t: "N⠙"] # 0x34
- - "5": [t: "N⠑"] # 0x35
- - "6": [t: "N⠋"] # 0x36
- - "7": [t: "N⠛"] # 0x37
- - "8": [t: "N⠓"] # 0x38
- - "9": [t: "N⠊"] # 0x39
-
- # we stick the drop numbers into the private use area for consistency
- - "\ue000": [t: "N⠴"] # 0
- - "\ue001": [t: "N⠂"] # 1
- - "\ue002": [t: "N⠆"] # 2
- - "\ue003": [t: "N⠒"] # 3
- - "\ue004": [t: "N⠲"] # 4
- - "\ue005": [t: "N⠢"] # 5
- - "\ue006": [t: "N⠖"] # 6
- - "\ue007": [t: "N⠶"] # 7
- - "\ue008": [t: "N⠦"] # 8
- - "\ue009": [t: "N⠔"] # 9
-
- - "a": [t: "L⠁"] # 0x61
- - "b": [t: "L⠃"] # 0x62
- - "c": [t: "L⠉"] # 0x63
- - "d": [t: "L⠙"] # 0x64
- - "e": [t: "L⠑"] # 0x65
- - "f": [t: "L⠋"] # 0x66
- - "g": [t: "L⠛"] # 0x67
- - "h": [t: "L⠓"] # 0x68
- - "i": [t: "L⠊"] # 0x69
- - "j": [t: "L⠚"] # 0x6a
- - "k": [t: "L⠅"] # 0x6b
- - "l": [t: "L⠇"] # 0x6c
- - "m": [t: "L⠍"] # 0x6d
- - "n": [t: "L⠝"] # 0x6e
- - "o": [t: "L⠕"] # 0x6f
- - "p": [t: "L⠏"] # 0x70
- - "q": [t: "L⠟"] # 0x71
- - "r": [t: "L⠗"] # 0x72
- - "s": [t: "L⠎"] # 0x73
- - "t": [t: "L⠞"] # 0x74
- - "u": [t: "L⠥"] # 0x75
- - "v": [t: "L⠧"] # 0x76
- - "w": [t: "L⠺"] # 0x77
- - "x": [t: "L⠭"] # 0x78
- - "y": [t: "L⠽"] # 0x79
- - "z": [t: "L⠵"] # 0x7a
-
- - "đ": [t: "L⠮"]
- - "á": [t: "L⠔L⠁"]
- - "à": [t: "L⠰L⠁"]
- - "ả": [t: "L⠢L⠁"]
- - "ã": [t: "L⠤L⠁"]
- - "ạ": [t: "L⠠L⠁"]
- - "â": [t: "L⠡"]
- - "ấ": [t: "L⠔L⠡"]
- - "ầ": [t: "L⠰L⠡"]
- - "ẩ": [t: "L⠢L⠡"]
- - "ẫ": [t: "L⠤L⠡"]
- - "ậ": [t: "L⠠L⠡"]
- - "ă": [t: "L⠜"]
- - "ắ": [t: "L⠔L⠜"]
- - "ằ": [t: "L⠰L⠜"]
- - "ẳ": [t: "L⠢L⠜"]
- - "ẵ": [t: "L⠤L⠜"]
- - "ặ": [t: "L⠠L⠜"]
- - "é": [t: "L⠔L⠑"]
- - "è": [t: "L⠰L⠑"]
- - "ẻ": [t: "L⠢L⠑"]
- - "ẽ": [t: "L⠤L⠑"]
- - "ẹ": [t: "L⠠L⠑"]
- - "ê": [t: "L⠣"]
- - "ế": [t: "L⠔L⠣"]
- - "ề": [t: "L⠰L⠣"]
- - "ể": [t: "L⠢L⠣"]
- - "ễ": [t: "L⠤L⠣"]
- - "ệ": [t: "L⠠L⠣"]
- - "í": [t: "L⠔L⠊"]
- - "ì": [t: "L⠰L⠊"]
- - "ỉ": [t: "L⠢L⠊"]
- - "ĩ": [t: "L⠤L⠊"]
- - "ị": [t: "L⠠L⠊"]
- - "ó": [t: "L⠔L⠕"]
- - "ò": [t: "L⠰L⠕"]
- - "ỏ": [t: "L⠢L⠕"]
- - "õ": [t: "L⠤L⠕"]
- - "ọ": [t: "L⠠L⠕"]
- - "ô": [t: "L⠹"]
- - "ố": [t: "L⠔L⠹"]
- - "ồ": [t: "L⠰L⠹"]
- - "ổ": [t: "L⠢L⠹"]
- - "ỗ": [t: "L⠤L⠹"]
- - "ộ": [t: "L⠠L⠹"]
- - "ơ": [t: "L⠪"]
- - "ớ": [t: "L⠔L⠪"]
- - "ờ": [t: "L⠰L⠪"]
- - "ở": [t: "L⠢L⠪"]
- - "ỡ": [t: "L⠤L⠪"]
- - "ợ": [t: "L⠠L⠪"]
- - "ú": [t: "L⠔L⠥"]
- - "ù": [t: "L⠰L⠥"]
- - "ủ": [t: "L⠢L⠥"]
- - "ũ": [t: "L⠤L⠥"]
- - "ụ": [t: "L⠠L⠥"]
- - "ư": [t: "L⠳"]
- - "ứ": [t: "L⠔L⠳"]
- - "ừ": [t: "L⠰L⠳"]
- - "ử": [t: "L⠢L⠳"]
- - "ữ": [t: "L⠤L⠳"]
- - "ự": [t: "L⠠L⠳"]
- - "ý": [t: "L⠔L⠽"]
- - "ỳ": [t: "L⠰L⠽"]
- - "ỷ": [t: "L⠢L⠽"]
- - "ỹ": [t: "L⠤L⠽"]
- - "ỵ": [t: "L⠠L⠽"]
-
- - "Đ": [t: "CL⠮"]
- - "Á": [t: "CL⠔𝑐L⠁"]
- - "À": [t: "CL⠰𝑐L⠁"]
- - "Ả": [t: "CL⠢𝑐L⠁"]
- - "Ã": [t: "CL⠤𝑐L⠁"]
- - "Ạ": [t: "CL⠠𝑐L⠁"]
- - "Â": [t: "CL⠡"]
- - "Ấ": [t: "CL⠔𝑐L⠡"]
- - "Ầ": [t: "CL⠰𝑐L⠡"]
- - "Ẩ": [t: "CL⠢𝑐L⠡"]
- - "Ẫ": [t: "CL⠤𝑐L⠡"]
- - "Ậ": [t: "CL⠠𝑐L⠡"]
- - "Ă": [t: "CL⠜"]
- - "Ắ": [t: "CL⠔𝑐L⠜"]
- - "Ằ": [t: "CL⠰𝑐L⠜"]
- - "Ẳ": [t: "CL⠢𝑐L⠜"]
- - "Ẵ": [t: "CL⠤𝑐L⠜"]
- - "Ặ": [t: "CL⠠𝑐L⠜"]
- - "É": [t: "CL⠔𝑐L⠑"]
- - "È": [t: "CL⠰𝑐L⠑"]
- - "Ẻ": [t: "CL⠢𝑐L⠑"]
- - "Ẽ": [t: "CL⠤𝑐L⠑"]
- - "Ẹ": [t: "CL⠠𝑐L⠑"]
- - "Ê": [t: "CL⠣"]
- - "Ế": [t: "CL⠔𝑐L⠣"]
- - "Ề": [t: "CL⠰𝑐L⠣"]
- - "Ể": [t: "CL⠢𝑐L⠣"]
- - "Ễ": [t: "CL⠤𝑐L⠣"]
- - "Ệ": [t: "CL⠠𝑐L⠣"]
- - "Í": [t: "CL⠔𝑐L⠊"]
- - "Ì": [t: "CL⠰𝑐L⠊"]
- - "Ỉ": [t: "CL⠢𝑐L⠊"]
- - "Ĩ": [t: "CL⠤𝑐L⠊"]
- - "Ị": [t: "CL⠠𝑐L⠊"]
- - "Ó": [t: "CL⠔𝑐L⠕"]
- - "Ò": [t: "CL⠰𝑐L⠕"]
- - "Ỏ": [t: "CL⠢𝑐L⠕"]
- - "Õ": [t: "CL⠤𝑐L⠕"]
- - "Ọ": [t: "CL⠠𝑐L⠕"]
- - "Ô": [t: "CL⠹"]
- - "Ố": [t: "CL⠔𝑐L⠹"]
- - "Ồ": [t: "CL⠰𝑐L⠹"]
- - "Ổ": [t: "CL⠢𝑐L⠹"]
- - "Ỗ": [t: "CL⠤𝑐L⠹"]
- - "Ộ": [t: "CL⠠𝑐L⠹"]
- - "Ơ": [t: "CL⠪"]
- - "Ớ": [t: "CL⠔𝑐L⠪"]
- - "Ờ": [t: "CL⠰𝑐L⠪"]
- - "Ở": [t: "CL⠢𝑐L⠪"]
- - "Ỡ": [t: "CL⠤𝑐L⠪"]
- - "Ợ": [t: "CL⠠𝑐L⠪"]
- - "Ú": [t: "CL⠔𝑐L⠥"]
- - "Ù": [t: "CL⠰𝑐L⠥"]
- - "Ủ": [t: "CL⠢𝑐L⠥"]
- - "Ũ": [t: "CL⠤𝑐L⠥"]
- - "Ụ": [t: "CL⠠𝑐L⠥"]
- - "Ư": [t: "CL⠳"]
- - "Ứ": [t: "CL⠔𝑐L⠳"]
- - "Ừ": [t: "CL⠰𝑐L⠳"]
- - "Ử": [t: "CL⠢𝑐L⠳"]
- - "Ữ": [t: "CL⠤𝑐L⠳"]
- - "Ự": [t: "CL⠠𝑐L⠳"]
- - "Ý": [t: "CL⠔𝑐L⠽"]
- - "Ỳ": [t: "CL⠰𝑐L⠽"]
- - "Ỷ": [t: "CL⠢𝑐L⠽"]
- - "Ỹ": [t: "CL⠤𝑐L⠽"]
- - "Ỵ": [t: "CL⠠𝑐L⠽"]
-
- # Latin capitals: C + cells from lowercase a-z via spell/translate.
- - "A-Z": # 0x41 - 0x5a
- - tc: "C"
- - spell: "translate('.', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "α": [t: "GL⠁"] # 0x3b1
- - "β": [t: "GL⠃"] # 0x3b2
- - "γ": [t: "GL⠛"] # 0x3b3
- - "δ": [t: "GL⠙"] # 0x3b4
- - "ε": [t: "GL⠑"] # 0x3b5
- - "ζ": [t: "GL⠵"] # 0x3b6
- - "η": [t: "GL⠱"] # 0x3b7
- - "θ": [t: "GL⠹"] # 0x3b8
- - "ι": [t: "GL⠊"] # 0x3b9
- - "κ": [t: "GL⠅"] # 0x3ba
- - "λ": [t: "GL⠇"] # 0x3bb
- - "μ": [t: "GL⠍"] # 0x3bc
- - "ν": [t: "GL⠝"] # 0x3bd
- - "ξ": [t: "GL⠭"] # 0x3be
- - "ο": [t: "GL⠕"] # 0x3bf
- - "π": [t: "GL⠏"] # 0x3c0
- - "ρ": [t: "GL⠗"] # 0x3c1
- - "ς": [t: "GL⠎"] # 0x3c2
- - "σ": [t: "GL⠎"] # 0x3c3
- - "τ": [t: "GL⠞"] # 0x3c4
- - "υ": [t: "GL⠥"] # 0x3c5
- - "φ": [T: "GL⠋"] # 0x3c6
- - "ϕ": [T: "GL⠋"] # 0x3c6
- - "χ": [T: "GL⠯"] # 0x3c7
- - "ψ": [t: "GL⠽"] # 0x3c8
- - "ω": [t: "GL⠺"] # 0x3c9
-
- - "Α": [t: "CGL⠁"] # 0x391
- - "Β": [t: "CGL⠃"] # 0x392
- - "Γ": [t: "CGL⠛"] # 0x393
- - "Δ": [t: "CGL⠙"] # 0x394
- - "Ε": [t: "CGL⠑"] # 0x395
- - "Ζ": [t: "CGL⠵"] # 0x396
- - "Η": [t: "CGL⠱ "] # 0x397
- - "Θ": [t: "CGL⠹"] # 0x398
- - "Ι": [t: "CGL⠊"] # 0x399
- - "Κ": [t: "CGL⠅"] # 0x39a
- - "Λ": [t: "CGL⠇"] # 0x39b
- - "Μ": [t: "CGL⠍"] # 0x39c
- - "Ν": [t: "CGL⠝"] # 0x39d
- - "Ξ": [t: "CGL⠭"] # 0x39e
- - "Ο": [t: "CGL⠕"] # 0x39f
- - "Π": [t: "CGL⠏"] # 0x3a0
- - "Ρ": [t: "CGL⠗"] # 0x3a1
- - "": [t: "CGL⠎"] # 0x3a2
- - "Σ": [t: "CGL⠎"] # 0x3a3
- - "Τ": [t: "CGL⠞"] # 0x3a4
- - "Υ": [t: "CGL⠥"] # 0x3a5
- - "Φ": [t: "CGL⠋"] # 0x3a6
- - "Χ": [t: "CGL⠯"] # 0x3a7
- - "Ψ": [t: "CGL⠽"] # 0x3a8
- - "Ω": [T: "CGL⠺"] # 0x3a9
-
- - "µ": [t: "GL⠍"] # 0x00B5 (Micro (Greek mu))
- - "Ω": [t: "CGL⠺"] # 0x2126 (Ohm sign (capital Greek omega))
- - "∆": [t: "CGL⠙"] # 0x2206 (Increment (capital Greek delta))
- - "∏": [t: "CGL⠏"] # 0x220F (Product (capital Greek pi))
- - "∑": [t: "CGL⠎"] # 0x2211 (Sum (capital Greek sigma))
-
-
-# Not yet defined symbols
- - "‰": [T: "⠼⠚⠴⠴"]
- - "≊": [T: "⠐⠢⠢⠶"]
- - "⋮": [T: "⠣⠴⠜"] # 0x22ee (vertical ellipsis used to indicate dividable)
- - "⧵": [T: "⠸⠡"]
- - "∕": [T: "⠐⠲"]
- - "⊘": [T: "⠐⠲"]
- - "⁄": [T: "⠐⠲"]
- - "℃": [T: "⠔⠚⠀⠨⠉"]
- - "℉": [T: "⠔⠚⠀⠨⠋"]
+---
+# Definitions for Vietnamese Math Braille. But most of theym are same as UEB.
+# UEB characters
+#
+# Some chars that originally came from an Excel spreadsheet, converted to csv, and the greatly expanded
+#
+# The UEB translation makes use of some non-braille chars as flags
+# L -- what follows is a letter
+# N -- what follows is a digit
+# C -- precedes L for capital letters
+# G -- precedes L for Greek Letters (after C for capitals)
+# Typeface Indicators ("typeforms")
+# B bold, I Italic, S Sans-serif, T script, D, Fraktur, 𝔹 blackboard-bold
+# the type face indicators can be combined with B (first) and I (second)
+# Standing alone chars:
+# Any character which acts as a standing alone character (e.g, "{") needs each braille symbol to be labeled
+# o -- opening/left side, c -- closing/right side, b -- both open and close (e.g, '"')
+
+
+ - "=": [T: "⠐⠶"] # 0x003D (Equals)
+ - "≠": [T: "⠐⠾"] # 0x2260 (Not equal)
+ - "<": [T: "⠐⠪"] # 0x003C (Less than)
+ - "≤": [T: "⠐⠪⠶"] # 0x2264 (Less than or equal to)
+ - ">": [T: "⠐⠕"] # 0x003E (Greater than)
+ - "≥": [T: "⠐⠕⠶"] # 0x2265 (Greater than or equal to)
+ - "≪": [T: "⠐⠪⠪"] # 0x226A (Much less than)
+ - "≫": [T: "⠐⠕⠕"] # 0x226B (Much greater than)
+ - "≮": [T: "⠐⠪⠈"] # 0x226E (Not less than)
+ - "≯": [T: "⠐⠕⠈"] # 0x226F (Not greater than)
+ - "≰": [T: "⠸⠐⠪⠈⠐⠾"] # 0x2270 (Neither less than nor equal to)
+ - "≱": [T: "⠸⠐⠕⠈⠐⠾"] # 0x2271 (Neither greater than nor equal to)
+ - "∝": [t: "⠸⠐⠶"] # 0x221D (Proportional to)
+ - "≃": [T: "⠐⠢⠢"] # 0x2243 (Approximately equal to (tilde over horizontal line))
+ - "≅": [T: "⠐⠢⠢"] # 0x2245 (Approximately equal to (tilde over equals sign))
+ - "≈": [T: "⠐⠢⠢"] # 0x2248 (Approximately equal (tilde over tilde))
+ - "≏": [t: "⠘⠐⠶"] # 0x224F (Equals with bump in top bar (difference between))
+ - "≑": [t: "⠨⠐⠶"] # 0x2251 (Geometrically equal to (equals dotted above and below))
+ - "≡": [T: "⠐⠿"] # 0x2261 (Equivalent to (three horizontal lines)) vi: trùng
+ - "≢": [T: "⠐⠿⠈"] # 0x2262 (Not identical to)
+ - "∈": [T: "⠈⠑"] # 0x2208 (Element of (member of))
+ - "∉": [T: "⠈⠑⠈"] # 0x2209 (Element of (not member of))
+ - "+": [T: "⠐⠖"] # 0x002B (Plus sign)
+ - "∋": [t: "⠈⠘⠑"] # 0x220B (Contains)
+ - "⊂": [T: "⠘⠣"] # 0x2282 (Subset of)
+ - "⊃": [T: "⠘⠜"] # 0x2283 (Superset of)
+ - "⊆": [T: "⠘⠣⠐⠶"] # 0x2286 (Subset of or equal)
+ - "⊇": [T: "⠘⠜⠐⠶"] # 0x2287 (Superset of or equal)
+ - "⊊": [t: "⠨⠘⠣"] # 0x228A (Subset of with not equal)
+ - "⊋": [t: "⠨⠘⠜"] # 0x228B (Superset of with not equal)
+ - "⊲": [t: "⠈⠸⠣"] # 0x22B2 (Normal subgroup of)
+ - "⊳": [t: "⠈⠸⠜"] # 0x22B3 (Contains as normal subgroup)
+ - "⊴": [t: "⠸⠸⠣"] # 0x22B4 (Normal subgroup of or equal)
+ - "⊵": [t: "⠸⠸⠜"] # 0x22B5 (Contains as normal subgroup or equal)
+ - "⋬": [t: "⠨⠸⠣"] # 0x22EC (not normal subgroup) -- this isn't the same as what is in GTM 10, but that similar has no Unicode equiv
+ - "⋭": [t: "⠨⠸⠣"] # 0x22ED (does not contain as normal subgroup) -- this isn't the same as what is in GTM 10, but that similar has no Unicode equiv
+ - "−": [t: "⠐⠤"] # 0x2212 (Minus sign)
+ - "·": [T: "⠐⠦"] # 0x00D7 (Multiplication dot (times))
+ - "×": [T: "⠐⠦"] # 0x00D7 (Multiplication sign (times))
+ - "÷": [T: "⠐⠲"] # 0x00F7 (Division sign (divided by))
+ - "±": [T: "⠐⠖⠤"] # 0x00B1 (Plus or minus)
+ - "∓": [T: "⠐⠤⠖"] # 0x2213 (Minus or plus)
+ - "∗": [t: "⠐⠦"] # 0x2217 (Asterisk operator)
+ - "∘": [t: "⠐⠴"] # 0x2218 (Ring operator)
+ - "◦": [t: "⠐⠴"] # 0x25E6 (White bullet)
+ - "∼": [t: "⠈⠔"] # 0x223C (Tilde operator)
+ - "⋅": [t: "⠐⠦"] # 0x22C5 (Dot operator)
+ - "∧": [t: "⠈⠦"] # 0x2227 (Logical and)
+ - "∨": [t: "⠈⠖"] # 0x2228 (Logical or)
+ - "∩": [T: "⠨⠦"] # 0x2229 (Intersection)
+ - "∪": [T: "⠨⠖"] # 0x222A (Union)
+ - "∖": [T: "⠸⠡"] # 0x2216 (Set minus)
+ - "(": [T: "o⠈o⠣"] # 0x0028 (Left parenthesis)
+ - ")": [T: "c⠈c⠜"] # 0x0029 (Right parenthesis)
+ - "[": [T: "o⠨o⠣"] # 0x005B (Left square bracket)
+ - "]": [T: "c⠨c⠜"] # 0x005D (Right square bracket)
+ - "{": [T: "o⠸o⠣"] # 0x007B (Left curly bracket)
+ - "}": [T: "c⠸c⠜"] # 0x007D (Right curly bracket)
+ - "〈": [T: "o⠸⠣⠤"] # 0x2329 (Left angle bracket)
+ - "〉": [T: "c⠤⠸⠜"] # 0x232A (Right angle bracket)
+ - "|": [T: "⠸⠳"] # 0x007C (Vertical line)
+ # - test:
+ # if: "preceding-sibling::* and following-sibling::*"
+ # then: [T: "W⠸⠳W"] # comparison (e.g., such that -- rule 145)
+ # else: [T: "⠸⠳"] # absolute value, others???
+ - "!": [T: "c⠖"] # 0x21 (Exclamation (factorial))
+ - "#": [T: "⠼"] # 0x23 (Number sign (hash))
+ - "%": [T: "⠼⠚⠴"] # 0x25 (Percent sign) No dots 46 before as in UEB
+ - "&": [t: "⠈⠯"] # 0x26 (Ampersand)
+ - "*": [T: "⠐⠦"] # 0x002A (Asterisk)
+ - "/": [T: "⠐⠲"] # 0x002F (Solidus (slash))
+ - ";": [t: "c⠆"] # 0x003B (Semicolon)
+ - "?": [T: "c⠢"] # 0x003F (Question mark)
+ - "@": [T: "⠈⠁"] # 0x0040 (Commercial at sign)
+ - "\\": [t: "⠸⠡"] # 0x005C (Backslash)
+ - "^": [t: "⠈⠢"] # 0x005E (Caret (hat, up arrow))
+ - "_": [t: "⠨⠤"] # 0x005F (Low line (underscore))
+ - "~": [t: "⠈⠔"] # 0x007E (Tilde (swung dash))
+ - "¢": [t: "⠈⠉"] # 0x00A2 (Cents sign)
+ - "€": [t: "⠈⠑"] # 0x20AC (Euro sign)
+ - "₣": [t: "⠈⠋"] # 0x20A3 (French franc sign)
+ - "£": [t: "⠈⠇"] # 0x00A3 (Pound sign)
+ - "₦": [t: "⠈⠝"] # 0x20A6 (Naira sign)
+ - "$": [t: "⠈⠎"] # 0x0024 (Dollar sign)
+ - "¥": [t: "⠈⠽"] # 0x00A5 (Yen sign)
+ - "¦": [t: "⠨⠳"] # 0x00A6 (Broken bar)
+ - "¬": [t: "⠈⠹"] # 0x00AC (Not sign)
+ - "°": [T: "⠔⠚"] # 0x00B0 (Degree sign)
+ - "†": [t: "⠈⠠⠹"] # 0x2020 (Dagger)
+ - "‡": [t: "⠈⠠⠻"] # 0x2021 (Double dagger)
+ - "…": [T: "c⠄c⠄c⠄"] # 0x2026 (Ellipsis)
+ - "′": [T: "⠄"] # 0x2032 (Prime sign)
+ - "″": [T: "⠄⠄"] # 0x2033 (Double prime sign)
+ - "‴": [T: "⠄⠄⠄"] # 0x2034 (Triple prime sign)
+ - "Å": [t: "⠠⠘⠫⠁"] # 0x212B (Angstrom symbol)
+ - "Å": [t: "⠠⠘⠫⠁"] # 0x00C5 (WIRIS uses this for Angstrom)
+ - "∀": [t: "⠘⠁"] # 0x2200 (For all)
+ - "∂": [t: "⠈⠙"] # 0x2202 (Partial differential)
+ - "∃": [T: "⠘⠑"] # 0x2203 (There exists)
+ - "∄": [T: "⠘⠑⠈"] # 0x2204 (There does not exist)
+ - "∅": [T: "⠈⠚"] # 0x2205 (Empty set)
+ - "∇": [t: "⠘⠙"] # 0x2207 (Nabla (del, inverted capital delta))
+ - "∎": [t: "⠸⠫⠼⠙t"] # 0x220E (End of proof)
+ - "√": [T: "⠩"] # 0x221A (Square root (radical) without vinculum)
+ - "∞": [T: "⠼⠕"] # 0x221E (Infinity)
+ - "∠": [T: "⠫⠛"] # 0x2220 (Angle)
+ - "∡": [T: "⠨⠫⠛"] # 0x2221 (Measured angle)
+ - "⊾": [T: "⠼⠫⠛"] # 0x22BE (Right angle with arc)
+ - "∟": [T: "⠫⠧"]
+ - "∫": [T: "⠾"] # 0x222B (Integral)
+ - "∮": [T: "⠐⠾"] # 0x222E (Contour integral (closed line integral))
+ - "∴": [t: "⠠⠡"] # 0x2234 (Therefore)
+ - "∵": [t: "⠈⠌"] # 0x2235 (Because (since))
+ - "∶": [t: "⠒"] # 0x2236 (Ratio)
+ - "∷": [T: "⠒⠒"] # 0x2237 (Proportion)
+ - "∣": [T: "⠣⠴⠜"] # 0x2223 (Divides) ueb: ⠸⠳
+ - "∤": [T: "⠣⠼⠜"] # 0x2224 (Does not divide) ueb: ⠸⠳⠈⠱
+ - "∥": [T: "⠫⠶"] # 0x2225 (Parallel) VI: AB parallel to CD, should be: ⠫AB⠶CD
+ - "∦": [T: "⠫⠾"] # 0x2226 (Not parallel) Vi: AB not parallel to CD, should be: ⠫AB⠐⠾CD
+ - "⟂": [T: "⠫⠧"] # 0x27C2 (Perpendicular)
+ - "⊢": [t: "⠸⠒"] # 0x22a2 (Right tack)
+ - "⊣": [t: "⠈⠸⠒"] # 0x22a3 (Left tack)
+ - "⊥": [T: "⠫⠧"] # 0x22A5 (Up tack (perpendicular))
+ - "⊦": [t: "⠸⠒"] # 0x22A6 (Assertion (is a theorem))
+ - "⊨": [t: "⠘⠸⠒"] # 0x22A8 (TRUE (is valid))
+ - "⊬": [t: "⠸⠒⠈⠱"] # 0x22AC (Does not prove)
+ - "⊭": [t: "⠘⠸⠒⠈⠱"] # 0x22AD (Not TRUE)
+ - "⫤": [t: "⠨⠸⠒"] # 0x2AE4 (Vertical bar double left turnstile)
+ - "✓": [t: "⠈⠩"] # 0x2713 (Check mark (tick))
+ - "⦵": [t: "⠨⠚"] # 0x29B5 (Plimsoll sign (standard state))
+ - "": [t: "1⠐⠠⠤⠯⠫⠿"] # 0x2B96 (MEDIUM SMALL WHITE CIRCLE WITH HORIZONTAL BAR (standard state))
+ - "←": [t: "⠳⠪"] # 0x2190 (Leftwards arrow)
+ - "↑": [t: "⠳⠬"] # 0x2191 (Upwards arrow)
+ - "→": [t: "⠳⠕"] # 0x2192 (Rightwards arrow)
+ - "↓": [t: "⠳⠩"] # 0x2193 (Downwards arrow)
+ - "↔": [T: "⠳⠪⠶⠕"] # 0x2194 (Left right arrow)
+ - "↕": [t: "⠳⠺⠗⠬"] # 0x2195 (Up down arrow)
+ - "↖": [t: "⠳⠱"] # 0x2196 (Northwest arrow)
+ - "↗": [t: "⠳⠎"] # 0x2197 (Northeast arrow)
+ - "↘": [t: "⠳⠣"] # 0x2198 (Southeast arrow)
+ - "↙": [t: "⠳⠜"] # 0x2199 (Southwest arrow)
+ - "↚": [t: "⠳⠪⠈⠱"] # 0x219A (Leftwards arrow with stroke)
+ - "↛": [t: "⠳⠕⠈⠱"] # 0x219B (Rightwards arrow with stroke)
+ - "↜": [t: "⠳⠔⠢⠪"] # 0x219C (Leftwards wave arrow)
+ - "↝": [t: "⠳⠢⠔⠕"] # 0x219D (Rightwards wave arrow)
+ - "↞": [t: "⠳⠒⠗⠗⠪"] # 0x219E (Leftwards two headed arrow)
+ - "↟": [t: "⠳⠒⠗⠗⠬"] # 0x219F (Upwards two headed arrow)
+ - "↠": [t: "⠳⠒⠗⠗⠕"] # 0x21A0 (Rightwards two headed arrow)
+ - "↡": [t: "⠳⠒⠗⠗⠩"] # 0x21A1 (Downwards two headed arrow)
+ - "↢": [t: "⠳⠗⠗⠪"] # 0x21A2 (Leftwards arrow with tail)
+ - "↣": [t: "⠳⠗⠗⠕"] # 0x21A3 (Rightwards arrow with tail)
+ - "↤": [t: "⠳⠳⠗⠪"] # 0x21A4 (Leftwards arrow from bar)
+ - "↥": [t: "⠳⠳⠗⠬"] # 0x21A5 (Upwards arrow from bar)
+ - "↦": [t: "⠳⠳⠗⠕"] # 0x21A6 (Rightwards arrow from bar)
+ - "↧": [t: "⠳⠳⠗⠩"] # 0x21A7 (Downwards arrow from bar)
+ - "↭": [t: "⠳⠺⠔⠢⠗⠕"] # 0x21AD (Left right wave arrow)
+ - "↮": [t: "⠳⠺⠗⠕⠈⠱"] # 0x21AE (Left right arrow with stroke)
+ - "↰": [t: "⠳⠴⠬"] # 0x21B0 (Upwards arrow with tip left)
+ - "↱": [t: "⠳⠲⠬"] # 0x21B1 (Upwards arrow with tip right)
+ - "↲": [t: "⠳⠲⠩"] # 0x21B2 (Downwards arrow with tip left)
+ - "↳": [t: "⠳⠴⠩"] # 0x21B3 (Downwards arrow with tip right)
+ - "↶": [t: "⠳⠔⠔⠪"] # 0x21B6 (Anticlockwise top semicircle arrow)
+ - "↷": [t: "⠳⠢⠢⠕"] # 0x21B7 (Clockwise top semicircle arrow)
+ - "↼": [t: "⠳⠈⠗⠪"] # 0x21BC (Leftwards harpoon with barb upwards)
+ - "↽": [t: "⠳⠠⠗⠪"] # 0x21BD (Leftwards harpoon with barb downwards)
+ - "↾": [t: "⠳⠠⠗⠬"] # 0x21BE (Upwards harpoon with barb rightwards)
+ - "↿": [t: "⠳⠈⠗⠬"] # 0x21BF (Upwards harpoon with barb leftwards)
+ - "⇀": [t: "⠳⠈⠗⠕"] # 0x21C0 (Rightwards harpoon with barb upwards)
+ - "⇁": [t: "⠳⠠⠗⠕"] # 0x21C1 (Rightwards harpoon with barb downwards)
+ - "⇂": [t: "⠳⠈⠗⠩"] # 0x21C2 (Downwards harpoon with barb rightwards)
+ - "⇃": [t: "⠳⠠⠗⠩"] # 0x21C3 (Downwards harpoon with barb leftwards)
+ - "⇄": [t: "⠳⠕⠻⠳⠪"] # 0x21C4 (Rightwards arrow over leftwards arrow)
+ - "⇅": [t: "⠳⠬⠿⠳⠩"] # 0x21C5 (Upwards arrow left of Downwards arrow)
+ - "⇌": [T: "⠳⠪⠕"] # 0x21CC (Rightwards harpoon over leftwards harpoon (equilibrium))
+ - "⇐": [t: "⠳⠶⠪"] # 0x21D0 (Leftwards double arrow)
+ - "⇑": [t: "⠳⠶⠬"] # 0x21D1 (Upwards double arrow)
+ - "⇒": [t: "⠳⠶⠕"] # 0x21D2 (Rightwards double arrow)
+ - "⇓": [t: "⠳⠶⠩"] # 0x21D3 (Downwards double arrow)
+ - "⇔": [T: "⠳⠪⠶⠕"] # 0x21D4 (Left right double arrow)
+ - "⇕": [t: "⠳⠺⠶⠗⠬"] # 0x21D5 (Up down double arrow)
+ - "⇠": [t: "⠳⠂⠪"] # 0x21E0 (Leftwards dashed arrow)
+ - "⇡": [t: "⠳⠂⠬"] # 0x21E1 (Upwards dashed arrow)
+ - "⇢": [t: "⠳⠂⠕"] # 0x21E2 (Rightwards dashed arrow)
+ - "⇣": [t: "⠳⠂⠩"] # 0x21E3 (Downwards dashed arrow)
+ - "⟵": [t: "⠳⠪"] # 0x27F5 (Long leftwards arrow)
+ - "⟶": [t: "⠳⠕"] # 0x27F6 (Long rightwards arrow)
+ - "⥂": [t: "⠸⠶"] # 0x2942 (Rightwards arrow above short leftwards arrow (equilibrium, trend to the right))
+ - "⥄": [t: "⠈⠸⠶"] # 0x2944 (Short rightwards arrow above leftwards arrow (equilibrium, trend to the left))
+
+# Mappings for some new Unicode chemistry arrows/symbols
+# These need to be verified -- 0x1f8d1, 0x1f8d2, and 0x1f8d3 conflict with GTM 16 (uses short arrow when really should be long)
+ - "": [t: "⠳⠒⠒⠒⠕⠻⠳⠒⠒⠒⠪"] # 0x1F8D0 LONG RIGHTWARDS ARROW OVER LONG LEFTWARDS ARROW
+ - "": [t: "⠳⠪⠕"] # 0x1f8d1 (Long rightwards harpoon over leftwards harpoon (equilibrium))
+ - "": [t: "⠸⠶"] # 0x1f8d2 (Long rightwards harpoon over leftwards harpoon (equilibrium, trend to the right))
+ - "": [t: "⠈⠸⠶"] # 0x1f8d3 (Long rightwards harpoon over leftwards harpoon (equilibrium, trend to the left))
+# - "": [t: "⠳⠒⠒⠒⠈⠗⠕⠻⠳⠒⠒⠒⠠⠗⠪"] # 0x1F8D1 LONG RIGHTWARDS HARPOON OVER LONG LEFTWARDS HARPOON
+# - "": [t: "⠳⠒⠒⠒⠈⠗⠕⠻⠳⠒⠠⠗⠪"] # 0x1F8D2 LONG RIGHTWARDS HARPOON ABOVESHORT LEFTWARDS HARPOON
+# - "": [t: "⠳⠒⠈⠗⠕⠻⠳⠒⠒⠒⠠⠗⠪"] # 0x1F8D3 SHORT RIGHTWARDS HARPOON ABOVELONG LEFTWARDS HARPOON
+ - "": [t: "⠳⠒⠒⠒⠈⠗⠪⠻⠳⠒⠠⠗⠕"] # 0x1F8D4 LONG LEFTWARDS HARPOON ABOVESHORT RIGHTWARDS HARPOON
+ - "": [t: "⠳⠒⠈⠗⠪⠻⠳⠒⠒⠒⠠⠗⠕"] # 0x1F8D5 SHORT LEFTWARDS HARPOON ABOVELONG RIGHTWARDS HARPOON
+ - "": [t: "⠳⠒⠒⠒⠕⠯⠠⠭"] # 0x1F8D6 LONG RIGHTWARDS ARROW WITH THROUGH X
+ - "": [t: "⠐⠠⠤⠯⠫⠿"] # 0x1F8D7 LONG RIGHTWARDS ARROW WITH DOUBLE SLASH
+
+ - "△": [T: "⠫⠼⠉"] # 0x25B3 (Triangle)
+ - "□": [T: "⠫⠼⠙"] # 0x25A1 (Square)
+ - "▤": [T: "⠨⠫⠼⠙"] # 0x25A4 (Square with horizontal fill)
+ - "▥": [T: "⠨⠫⠼⠙"] # 0x25A5 (Square with vertical fill)
+ - "▦": [T: "⠨⠫⠼⠙"] # 0x25A6 (Square with orthogonal crosshatch fill)
+ - "▧": [T: "⠨⠫⠼⠙"] # 0x25A7 (Square with upper left to lower right fill)
+ - "▨": [T: "⠨⠫⠼⠙"] # 0x25A8 (Square with upper right to lower left fill)
+ - "▩": [T: "⠨⠫⠼⠙"] # 0x25A9 (Square with diagonal crosshatch fill)
+ - "○": [t: "⠫⠿"] # 0x25CB (Circle)
+ - "◍": [T: "⠨⠫⠿"] # 0x25CD (Circle with vertical fill)
+ - "▱": [T: "⠫⠈⠼⠙"] # 0x25B1 (Parallelogram)
+ - "▲": [T: "⠸⠫⠼⠉"] # 0x25B2 (Filled triangle)
+ - "■": [T: "⠸⠫⠼⠙"] # 0x25A0 (Filled square)
+ - "≜": [T: "⠸⠙⠐⠶"] # 0x225C (Delta equal to)
+ - "≝": [t: "⠣⠙⠑⠋⠜⠻⠐⠶"] # 0x225D (Equal to by definition)
+ - "⊕": [t: "⠫⠿⠪⠐⠖t"] # 0x2295 (Circled plus)
+ - "⊖": [t: "⠫⠿⠪⠐⠤t"] # 0x2296 (Circled minus)
+ - "⊗": [t: "⠐⠦t"] # 0x2297 (Circled times)
+ - "⊛": [t: "⠐⠦t"] # 0x229B (Circled asterisk operator)
+ - "⊞": [t: "⠫⠼⠙⠪⠐⠖t"] # 0x229E (Squared plus)
+ - "⊟": [t: "⠫⠼⠙⠪⠐⠤t"] # 0x229F (Squared minus)
+ - "⊠": [t: "⠫⠼⠙⠪⠐⠦t"] # 0x22A0 (Squared times)
+ - "˙": [t: "⠲"] # 0x02D9 ( Dot Above)
+ - "¨": [t: "⠲⠲"] # 0x00A8 ( Diaeresis/Double Dot Above)
+ - "©": [t: "⠘⠉"] # 0xa9 (Copyright)
+
+
+ - "\"": [t: "b⠠b⠶"]
+ - "'": [t: "b⠄"]
+ - "“": [t: "o⠘o⠦"]
+ - "”": [t: "c⠘c⠴"]
+ - "‘": [t: "o⠠o⠦"]
+ - "’": [t: "c⠠c⠴"]
+ - "«": [t: "o⠸o⠦"]
+ - "»": [t: "c⠸c⠴"]
+
+ - " ": # 0x20 (Space)
+ - test:
+ if: "self::m:mn"
+ then: [t: "N⠐"]
+ else: [t: "W"]
+ - " ": # 0xa0 (Non-breaking Space)
+ - test:
+ - if: "self::m:mn"
+ then: [t: "N⠐"]
+ - else_if: "following-sibling::*[1][@class='MathML-unit' or BaseNode(.)[@class='MathML-unit']]"
+ then: [t: "𝐖"]
+ else: [t: "W"]
+ - ",": # 0x2c (Comma)
+ - test:
+ if: "self::m:mn"
+ then: [t: "N⠂"]
+ else: [t: ",W"]
+ - ".": # 0x2e (Period)
+ - test:
+ if: "self::m:mn"
+ then: [T: "N⠄"]
+ else: [t: "."]
+ - ":": # 0x003A (Colon)
+ # Sometimes a colon is meant to be a ratio/mathord and sometimes a map/punct.
+ # The latter has a space after it.
+ # If in an mrow, guess it is infix and checks the operator. This is pretty weak!
+ # Field extensions "[K:F]" and trilinear coordinates "a:b:c" don't want extra space
+ # Time doesn't want an extra space -- the am/pm get wrapped in an mrow with the minutes after the colon
+ - test:
+ if:
+ - "ancestor::*[2][IsBracketed(., '{', '}')] or " # field extension
+ - "preceding-sibling::*[2][.=':'] or following-sibling::*[2][.=':'] or" # trilinear form
+ # ratios tend to have similar left and right sides
+ - "name(preceding-sibling::*[1]) = name(following-sibling::*[1]) or"
+ # am/pm test
+ - "(name(preceding-sibling::*[1]) = 'mn' and "
+ - " following-sibling::*[1][self::m:mrow and count(*)=3 and *[1][self::m:mn] and "
+ - " *[3][translate(., 'APM\u00A0', 'apm') = 'am' or translate(., 'APM\u00A0', 'apm') = 'pm']"
+ - " ])"
+ then: [t: "⠒"]
+ else: [t: "⠒W"]
+
+ - "-": # 0x2d (Minus sign or hyphen)
+ - test:
+ if: "self::m:mo"
+ then: [t: "⠐⠤"]
+ else: [t: "⠤"]
+
+ - "": [t: ""] # 0x2061 (invisible function apply)
+ #- test:
+ #if:
+ #- "preceding-sibling::*[1][self::m:mi and substring(., string-length(.), 1)!=' '] and " # avoid scripted function names and one that end with spaces
+ #- "following-sibling::*[1][self::m:mi and translate(., 'abcdefghijklmnopqrstuvwxyz', '') = '']" # GTM 9.3.2
+ #then: [t: "W"]
+ #else: [t: ""]
+
+ - "": [t: ""] # 0x2062 (invisible times)
+ #- test:
+ #if: # GTM 9.3.3 (not very clear in rule, but the function name has to start with a lower case latin char ['no indicators'])
+ #- "parent::m:mrow and "
+ #- "preceding-sibling::*[1]["
+ #- " (self::m:mi and translate(., 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', '') = '') or "
+ #- " (self::m:mrow and translate(*[last()], 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', '') = '')] and"
+ #- " following::*[1][self::m:mrow and count(*)=3 and " # look for function apply
+ #- " *[2][.=''] and *[1][self::m:mi and translate(., 'abcdefghijklmnopqrstuvwxyz', '') = '']]"
+ #then: [t: "W"]
+ #else: [t: ""]
+ - "": [t: ""] # 0x2063 (invisible separator)
+ - "": [t: ""] # 0x2064 (invisible plus)
+ - "0": [t: "N⠚"] # 0x30
+ - "1": [t: "N⠁"] # 0x31
+ - "2": [t: "N⠃"] # 0x32
+ - "3": [t: "N⠉"] # 0x33
+ - "4": [t: "N⠙"] # 0x34
+ - "5": [t: "N⠑"] # 0x35
+ - "6": [t: "N⠋"] # 0x36
+ - "7": [t: "N⠛"] # 0x37
+ - "8": [t: "N⠓"] # 0x38
+ - "9": [t: "N⠊"] # 0x39
+
+ # we stick the drop numbers into the private use area for consistency
+ - "\ue000": [t: "N⠴"] # 0
+ - "\ue001": [t: "N⠂"] # 1
+ - "\ue002": [t: "N⠆"] # 2
+ - "\ue003": [t: "N⠒"] # 3
+ - "\ue004": [t: "N⠲"] # 4
+ - "\ue005": [t: "N⠢"] # 5
+ - "\ue006": [t: "N⠖"] # 6
+ - "\ue007": [t: "N⠶"] # 7
+ - "\ue008": [t: "N⠦"] # 8
+ - "\ue009": [t: "N⠔"] # 9
+
+ - "a": [t: "L⠁"] # 0x61
+ - "b": [t: "L⠃"] # 0x62
+ - "c": [t: "L⠉"] # 0x63
+ - "d": [t: "L⠙"] # 0x64
+ - "e": [t: "L⠑"] # 0x65
+ - "f": [t: "L⠋"] # 0x66
+ - "g": [t: "L⠛"] # 0x67
+ - "h": [t: "L⠓"] # 0x68
+ - "i": [t: "L⠊"] # 0x69
+ - "j": [t: "L⠚"] # 0x6a
+ - "k": [t: "L⠅"] # 0x6b
+ - "l": [t: "L⠇"] # 0x6c
+ - "m": [t: "L⠍"] # 0x6d
+ - "n": [t: "L⠝"] # 0x6e
+ - "o": [t: "L⠕"] # 0x6f
+ - "p": [t: "L⠏"] # 0x70
+ - "q": [t: "L⠟"] # 0x71
+ - "r": [t: "L⠗"] # 0x72
+ - "s": [t: "L⠎"] # 0x73
+ - "t": [t: "L⠞"] # 0x74
+ - "u": [t: "L⠥"] # 0x75
+ - "v": [t: "L⠧"] # 0x76
+ - "w": [t: "L⠺"] # 0x77
+ - "x": [t: "L⠭"] # 0x78
+ - "y": [t: "L⠽"] # 0x79
+ - "z": [t: "L⠵"] # 0x7a
+
+ - "đ": [t: "L⠮"]
+ - "á": [t: "L⠔L⠁"]
+ - "à": [t: "L⠰L⠁"]
+ - "ả": [t: "L⠢L⠁"]
+ - "ã": [t: "L⠤L⠁"]
+ - "ạ": [t: "L⠠L⠁"]
+ - "â": [t: "L⠡"]
+ - "ấ": [t: "L⠔L⠡"]
+ - "ầ": [t: "L⠰L⠡"]
+ - "ẩ": [t: "L⠢L⠡"]
+ - "ẫ": [t: "L⠤L⠡"]
+ - "ậ": [t: "L⠠L⠡"]
+ - "ă": [t: "L⠜"]
+ - "ắ": [t: "L⠔L⠜"]
+ - "ằ": [t: "L⠰L⠜"]
+ - "ẳ": [t: "L⠢L⠜"]
+ - "ẵ": [t: "L⠤L⠜"]
+ - "ặ": [t: "L⠠L⠜"]
+ - "é": [t: "L⠔L⠑"]
+ - "è": [t: "L⠰L⠑"]
+ - "ẻ": [t: "L⠢L⠑"]
+ - "ẽ": [t: "L⠤L⠑"]
+ - "ẹ": [t: "L⠠L⠑"]
+ - "ê": [t: "L⠣"]
+ - "ế": [t: "L⠔L⠣"]
+ - "ề": [t: "L⠰L⠣"]
+ - "ể": [t: "L⠢L⠣"]
+ - "ễ": [t: "L⠤L⠣"]
+ - "ệ": [t: "L⠠L⠣"]
+ - "í": [t: "L⠔L⠊"]
+ - "ì": [t: "L⠰L⠊"]
+ - "ỉ": [t: "L⠢L⠊"]
+ - "ĩ": [t: "L⠤L⠊"]
+ - "ị": [t: "L⠠L⠊"]
+ - "ó": [t: "L⠔L⠕"]
+ - "ò": [t: "L⠰L⠕"]
+ - "ỏ": [t: "L⠢L⠕"]
+ - "õ": [t: "L⠤L⠕"]
+ - "ọ": [t: "L⠠L⠕"]
+ - "ô": [t: "L⠹"]
+ - "ố": [t: "L⠔L⠹"]
+ - "ồ": [t: "L⠰L⠹"]
+ - "ổ": [t: "L⠢L⠹"]
+ - "ỗ": [t: "L⠤L⠹"]
+ - "ộ": [t: "L⠠L⠹"]
+ - "ơ": [t: "L⠪"]
+ - "ớ": [t: "L⠔L⠪"]
+ - "ờ": [t: "L⠰L⠪"]
+ - "ở": [t: "L⠢L⠪"]
+ - "ỡ": [t: "L⠤L⠪"]
+ - "ợ": [t: "L⠠L⠪"]
+ - "ú": [t: "L⠔L⠥"]
+ - "ù": [t: "L⠰L⠥"]
+ - "ủ": [t: "L⠢L⠥"]
+ - "ũ": [t: "L⠤L⠥"]
+ - "ụ": [t: "L⠠L⠥"]
+ - "ư": [t: "L⠳"]
+ - "ứ": [t: "L⠔L⠳"]
+ - "ừ": [t: "L⠰L⠳"]
+ - "ử": [t: "L⠢L⠳"]
+ - "ữ": [t: "L⠤L⠳"]
+ - "ự": [t: "L⠠L⠳"]
+ - "ý": [t: "L⠔L⠽"]
+ - "ỳ": [t: "L⠰L⠽"]
+ - "ỷ": [t: "L⠢L⠽"]
+ - "ỹ": [t: "L⠤L⠽"]
+ - "ỵ": [t: "L⠠L⠽"]
+
+ - "Đ": [t: "CL⠮"]
+ - "Á": [t: "CL⠔𝑐L⠁"]
+ - "À": [t: "CL⠰𝑐L⠁"]
+ - "Ả": [t: "CL⠢𝑐L⠁"]
+ - "Ã": [t: "CL⠤𝑐L⠁"]
+ - "Ạ": [t: "CL⠠𝑐L⠁"]
+ - "Â": [t: "CL⠡"]
+ - "Ấ": [t: "CL⠔𝑐L⠡"]
+ - "Ầ": [t: "CL⠰𝑐L⠡"]
+ - "Ẩ": [t: "CL⠢𝑐L⠡"]
+ - "Ẫ": [t: "CL⠤𝑐L⠡"]
+ - "Ậ": [t: "CL⠠𝑐L⠡"]
+ - "Ă": [t: "CL⠜"]
+ - "Ắ": [t: "CL⠔𝑐L⠜"]
+ - "Ằ": [t: "CL⠰𝑐L⠜"]
+ - "Ẳ": [t: "CL⠢𝑐L⠜"]
+ - "Ẵ": [t: "CL⠤𝑐L⠜"]
+ - "Ặ": [t: "CL⠠𝑐L⠜"]
+ - "É": [t: "CL⠔𝑐L⠑"]
+ - "È": [t: "CL⠰𝑐L⠑"]
+ - "Ẻ": [t: "CL⠢𝑐L⠑"]
+ - "Ẽ": [t: "CL⠤𝑐L⠑"]
+ - "Ẹ": [t: "CL⠠𝑐L⠑"]
+ - "Ê": [t: "CL⠣"]
+ - "Ế": [t: "CL⠔𝑐L⠣"]
+ - "Ề": [t: "CL⠰𝑐L⠣"]
+ - "Ể": [t: "CL⠢𝑐L⠣"]
+ - "Ễ": [t: "CL⠤𝑐L⠣"]
+ - "Ệ": [t: "CL⠠𝑐L⠣"]
+ - "Í": [t: "CL⠔𝑐L⠊"]
+ - "Ì": [t: "CL⠰𝑐L⠊"]
+ - "Ỉ": [t: "CL⠢𝑐L⠊"]
+ - "Ĩ": [t: "CL⠤𝑐L⠊"]
+ - "Ị": [t: "CL⠠𝑐L⠊"]
+ - "Ó": [t: "CL⠔𝑐L⠕"]
+ - "Ò": [t: "CL⠰𝑐L⠕"]
+ - "Ỏ": [t: "CL⠢𝑐L⠕"]
+ - "Õ": [t: "CL⠤𝑐L⠕"]
+ - "Ọ": [t: "CL⠠𝑐L⠕"]
+ - "Ô": [t: "CL⠹"]
+ - "Ố": [t: "CL⠔𝑐L⠹"]
+ - "Ồ": [t: "CL⠰𝑐L⠹"]
+ - "Ổ": [t: "CL⠢𝑐L⠹"]
+ - "Ỗ": [t: "CL⠤𝑐L⠹"]
+ - "Ộ": [t: "CL⠠𝑐L⠹"]
+ - "Ơ": [t: "CL⠪"]
+ - "Ớ": [t: "CL⠔𝑐L⠪"]
+ - "Ờ": [t: "CL⠰𝑐L⠪"]
+ - "Ở": [t: "CL⠢𝑐L⠪"]
+ - "Ỡ": [t: "CL⠤𝑐L⠪"]
+ - "Ợ": [t: "CL⠠𝑐L⠪"]
+ - "Ú": [t: "CL⠔𝑐L⠥"]
+ - "Ù": [t: "CL⠰𝑐L⠥"]
+ - "Ủ": [t: "CL⠢𝑐L⠥"]
+ - "Ũ": [t: "CL⠤𝑐L⠥"]
+ - "Ụ": [t: "CL⠠𝑐L⠥"]
+ - "Ư": [t: "CL⠳"]
+ - "Ứ": [t: "CL⠔𝑐L⠳"]
+ - "Ừ": [t: "CL⠰𝑐L⠳"]
+ - "Ử": [t: "CL⠢𝑐L⠳"]
+ - "Ữ": [t: "CL⠤𝑐L⠳"]
+ - "Ự": [t: "CL⠠𝑐L⠳"]
+ - "Ý": [t: "CL⠔𝑐L⠽"]
+ - "Ỳ": [t: "CL⠰𝑐L⠽"]
+ - "Ỷ": [t: "CL⠢𝑐L⠽"]
+ - "Ỹ": [t: "CL⠤𝑐L⠽"]
+ - "Ỵ": [t: "CL⠠𝑐L⠽"]
+
+ # Latin capitals: C + cells from lowercase a-z via spell/translate.
+ - "A-Z": # 0x41 - 0x5a
+ - tc: "C"
+ - spell: "translate('.', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "α": [t: "GL⠁"] # 0x3b1
+ - "β": [t: "GL⠃"] # 0x3b2
+ - "γ": [t: "GL⠛"] # 0x3b3
+ - "δ": [t: "GL⠙"] # 0x3b4
+ - "ε": [t: "GL⠑"] # 0x3b5
+ - "ζ": [t: "GL⠵"] # 0x3b6
+ - "η": [t: "GL⠱"] # 0x3b7
+ - "θ": [t: "GL⠹"] # 0x3b8
+ - "ι": [t: "GL⠊"] # 0x3b9
+ - "κ": [t: "GL⠅"] # 0x3ba
+ - "λ": [t: "GL⠇"] # 0x3bb
+ - "μ": [t: "GL⠍"] # 0x3bc
+ - "ν": [t: "GL⠝"] # 0x3bd
+ - "ξ": [t: "GL⠭"] # 0x3be
+ - "ο": [t: "GL⠕"] # 0x3bf
+ - "π": [t: "GL⠏"] # 0x3c0
+ - "ρ": [t: "GL⠗"] # 0x3c1
+ - "ς": [t: "GL⠎"] # 0x3c2
+ - "σ": [t: "GL⠎"] # 0x3c3
+ - "τ": [t: "GL⠞"] # 0x3c4
+ - "υ": [t: "GL⠥"] # 0x3c5
+ - "φ": [T: "GL⠋"] # 0x3c6
+ - "ϕ": [T: "GL⠋"] # 0x3c6
+ - "χ": [T: "GL⠯"] # 0x3c7
+ - "ψ": [t: "GL⠽"] # 0x3c8
+ - "ω": [t: "GL⠺"] # 0x3c9
+
+ - "Α": [t: "CGL⠁"] # 0x391
+ - "Β": [t: "CGL⠃"] # 0x392
+ - "Γ": [t: "CGL⠛"] # 0x393
+ - "Δ": [t: "CGL⠙"] # 0x394
+ - "Ε": [t: "CGL⠑"] # 0x395
+ - "Ζ": [t: "CGL⠵"] # 0x396
+ - "Η": [t: "CGL⠱ "] # 0x397
+ - "Θ": [t: "CGL⠹"] # 0x398
+ - "Ι": [t: "CGL⠊"] # 0x399
+ - "Κ": [t: "CGL⠅"] # 0x39a
+ - "Λ": [t: "CGL⠇"] # 0x39b
+ - "Μ": [t: "CGL⠍"] # 0x39c
+ - "Ν": [t: "CGL⠝"] # 0x39d
+ - "Ξ": [t: "CGL⠭"] # 0x39e
+ - "Ο": [t: "CGL⠕"] # 0x39f
+ - "Π": [t: "CGL⠏"] # 0x3a0
+ - "Ρ": [t: "CGL⠗"] # 0x3a1
+ - "": [t: "CGL⠎"] # 0x3a2
+ - "Σ": [t: "CGL⠎"] # 0x3a3
+ - "Τ": [t: "CGL⠞"] # 0x3a4
+ - "Υ": [t: "CGL⠥"] # 0x3a5
+ - "Φ": [t: "CGL⠋"] # 0x3a6
+ - "Χ": [t: "CGL⠯"] # 0x3a7
+ - "Ψ": [t: "CGL⠽"] # 0x3a8
+ - "Ω": [T: "CGL⠺"] # 0x3a9
+
+ - "µ": [t: "GL⠍"] # 0x00B5 (Micro (Greek mu))
+ - "Ω": [t: "CGL⠺"] # 0x2126 (Ohm sign (capital Greek omega))
+ - "∆": [t: "CGL⠙"] # 0x2206 (Increment (capital Greek delta))
+ - "∏": [t: "CGL⠏"] # 0x220F (Product (capital Greek pi))
+ - "∑": [t: "CGL⠎"] # 0x2211 (Sum (capital Greek sigma))
+
+
+# Not yet defined symbols
+ - "‰": [T: "⠼⠚⠴⠴"]
+ - "≊": [T: "⠐⠢⠢⠶"]
+ - "⋮": [T: "⠣⠴⠜"] # 0x22ee (vertical ellipsis used to indicate dividable)
+ - "⧵": [T: "⠸⠡"]
+ - "∕": [T: "⠐⠲"]
+ - "⊘": [T: "⠐⠲"]
+ - "⁄": [T: "⠐⠲"]
+ - "℃": [T: "⠔⠚⠀⠨⠉"]
+ - "℉": [T: "⠔⠚⠀⠨⠋"]
diff --git a/Rules/Intent/general.yaml b/Rules/Intent/general.yaml
index 15bd1dc7a..54303de79 100644
--- a/Rules/Intent/general.yaml
+++ b/Rules/Intent/general.yaml
@@ -81,6 +81,20 @@
children: [x: "*[2]"]
+
+-
+ # We want to say "ratio of x to y" instead of "x ratio y" (which is ambiguous)
+ name: ratio
+ tag: mrow
+ match: "count(*)=3 and *[2][self::m:mo][.='∶']"
+ replace:
+ - intent:
+ name: "ratio"
+ attrs: "data-intent-property='concat(data-intent-property, \":function:\")'"
+ children:
+ - x: "*[1]"
+ - x: "*[3]"
+
-
# (a,b) has many interpretations; (a, b] (etc) have fewer interpretations.
# as an interval, it represents a set and hence a clue that it is an interval is that a set operator comes
diff --git a/Rules/Languages/de/ClearSpeak_Rules.yaml b/Rules/Languages/de/ClearSpeak_Rules.yaml
index c1dd81eb5..eed98a687 100644
--- a/Rules/Languages/de/ClearSpeak_Rules.yaml
+++ b/Rules/Languages/de/ClearSpeak_Rules.yaml
@@ -90,7 +90,7 @@
if: "*[2][self::m:mi][string-length(.)=1]"
then:
- x: "*[2]"
- - pronounce: [text: "-th", ipa: "θ", sapi5: "th", eloquence: "T"]
+ - pronounce: [text: "-te", ipa: "te", sapi5: "te", eloquence: "T"]
else: [x: "*[2]"]
- T: "wurzel"
- test:
@@ -108,7 +108,7 @@
then: [pause: short]
else: [pause: long]
-# The 'negative' rule interacts with the msqrt/mroot rules as those might pick off this case ("the negative square root of x")
+# Prefix signs interact with the msqrt/mroot rules as those might pick off this case.
- name: negative_and_positive
tag: [plus, minus]
match: "count(*)=1 and contains(@data-intent-property, ':prefix:')"
@@ -122,8 +122,8 @@
- bookmark: "@id"
- test:
if: "self::m:minus"
- then: [T: "negative"]
- else: [T: "positive"]
+ then: [T: "minus"]
+ else: [T: "plus"]
- x: "*[1]"
# Fraction rules
diff --git a/Rules/Languages/de/SimpleSpeak_Rules.yaml b/Rules/Languages/de/SimpleSpeak_Rules.yaml
index 4d48fd27e..f5afa4120 100644
--- a/Rules/Languages/de/SimpleSpeak_Rules.yaml
+++ b/Rules/Languages/de/SimpleSpeak_Rules.yaml
@@ -66,7 +66,7 @@
if: "*[2][self::m:mi][string-length(.)=1]"
then:
- x: "*[2]"
- - pronounce: [text: "-th", ipa: "θ", sapi5: "th", eloquence: "T"]
+ - pronounce: [text: "-te", ipa: "te", sapi5: "te", eloquence: "T"]
else: [x: "*[2]"]
- T: "wurzel" # phrase(the square 'root' of)
- test:
diff --git a/Rules/Languages/de/definitions.yaml b/Rules/Languages/de/definitions.yaml
index 427eec726..4e1cce7f7 100644
--- a/Rules/Languages/de/definitions.yaml
+++ b/Rules/Languages/de/definitions.yaml
@@ -1,48 +1,117 @@
---
- include: "../../definitions.yaml"
-# If an "intent" is used, the 'terse:medium:verbose' speech for the intent name is given here for a prefix||infix||postfix||function fixity
-# If only one ":" is used, it the first part is used for 'terse' and the second part is used for 'medium' and 'verbose'
-# If no ":"s are used, the same speech is used for all forms
-# If bracketing words make sense, they are separated with ";"s
-# Intent mappings must specify whether they are "prefix", "infix", "postfix", or "function" with an "=" sign
-# If there are multiple fixities (e.g., see transpose), they are separated with "||
-# for readability, spaces can be used around any of the delimiter characters
-# Note: if there are multiple fixities, the first one is used if the fixity is not given in the intent
+# IntentMappings Syntax:
+#
+# This section defines how each "intent" is spoken for various grammatical forms (fixities such as "prefix", "infix", "postfix", and "function"),
+# along with supporting different verbosity levels.
+# The syntax is a little bit complicated, but allows a declarative syntax so you don't have to write as many rules.
+#
+# For each intent, you specify spoken forms for one or more fixities using the syntax below.
+#
+# - Each mapping has the form:
+# "": "= || = || ...",
+# Every alternative must name a fixity and use "="; the fixity requested when speaking selects one.
+#
+# - Separate multiple fixities with "||". Spaces are allowed around any delimiter for readability.
+# - Within a speech string, "|" selects the verbosity form:
+# - one "|" (two forms): the first is 'terse', the second is used for 'medium' and 'verbose'
+# - two "|" (three forms): 'terse', 'medium', 'verbose', in that order
+# - no "|": the same spoken form is used for all verbosity levels
+#
+# - Use semicolons ";" to divide opening; main; closing bracketing words within the name part,
+# where such words make sense (a name with no ";" is just the main phrase).
+# - If an intent has multiple fixities but a definition does not specify one, the first fixity listed is chosen by default.
+#
+# Functions and argument glue (the part after the name):
+# - ":" separates the name/bracketing phrase from the argument-glue options that follow it.
+# - Arity template (two or more ":" options, or one option with ','-separated glue words): the
+# number of glue words implies the arity, and the final argument is preceded by "of".
+# Example: "sum: over: from,to"
+# - 1 arg: "sum of x"
+# - 2 args: "sum over i of x"
+# - 3 args: "sum from i to n of x"
+# If no option matches the argument count, the arguments are separated with "comma".
+# - Binary separator (exactly one ":" option, no commas in it): after "of", that word joins the two args.
+# Example: "quotient": "function=integer part: divided by" → "integer part of x divided by y"
+# If there are not exactly two args, the arguments fall back to "comma".
+# - Paired "ratio-style" (" : | : | ..."): used when every "|"-separated
+# piece is a single "name : glue" pair. Verbosity selects one pair, whose glue is the binary
+# separator described above. Example: "ratio": "function=ratio : to | the ratio : to | the ratio : to"
+#
+# Conceptual grammar (with precedence):
+#
+# IntentMappingsEntry ::= ":" # ":" is the YAML key/value separator
+#
+# ::= ( "||" )*
+#
+# ::= "="
+#
+# ::= "prefix" | "infix" | "postfix" | "function" | "nofix" | "silent"
+#
+# ::= |
+#
+# # Standard form: a name/bracketing part, then ":"-separated argument-glue options.
+# ::= ( ":" )*
+#
+# ::= [ ";" ";" ] # 1 part: name; 3 parts: opening; main; closing
+#
+# ::= [ "|" [ "|" ] ] # terse | medium | verbose
+#
+# ::= # a single glue word, or ","-separated arity words
+#
+# # Paired "ratio-style" form: recognized only when every "|" piece is a single "name : glue" pair.
+# ::= ( "|" )+
+#
+# ::= ":" # the glue contains no ":"
+#
+# ::= text
+#
+# Precedence depends on the form:
+# - Standard: split on ":" first (name vs. argument-glue options), then split each piece on "|"
+# for terse|medium|verbose, and split only the name part on ";" for opening; main; closing.
+# - Paired: split on "|" first into "name : glue" pairs, then verbosity selects one pair.
+#
+# Example:
+# "absolute-value": "function= ; absolute value| the absolute value| the absolute value; end absolute value"
+# "sum": "function=sum: over: from,to"
+# "quotient": "function=integer part: divided by"
+# "ratio": "function=ratio : to | the ratio : to | the ratio : to" # verbosity of name:glue pairs
+#
- IntentMappings: {
- "indexed-by": "infix= ; sub; ende sub: ende sub: ende subskript",
+ "indexed-by": "infix= ; sub; ende sub| ende sub| ende subskript",
"modified-variable": "silent= ",
- "say-super": "infix=super: hochstellung: hochstellung",
+ "say-super": "infix=super| hochstellung| hochstellung",
"skip-super": "silent=",
- "absolute-value": "function= ; absoluter wert: der absolute wert: der absolute wert; ende absoluter wert",
+ "absolute-value": "function= ; absoluter wert| der absolute wert| der absolute wert; ende absoluter wert",
"binomial": "infix=binomial; wählen; ende binomial",
"dimension-product": "infix=mal",
- "greatest-common-divisor": "function=gcd: der gcd: der größte gemeinsame teiler",
+ "greatest-common-divisor": "function=gcd| der gcd| der größte gemeinsame teiler",
"imaginary-part": "function=imaginärer teil, der imaginäre teil, der imaginäre teil",
- "least-common-multiple": "function=lcm:der lcm:das kleinste gemeinsame vielfache",
- "limit": "prefix=grenzwert bei: der grenzwert bei: der grenzwert bei",
- "lim-sup": "prefix=lim sup bei: der obere grenzwert bei: der obere grenzwert bei",
- "lim-inf": "prefix=lim inf bei: der untere grenzwert bei : der untere grenzwert bei",
- "logarithm-with-base": "prefix=logarithmus basis: der logarithmus basis: der logarithmus basis",
- "natural-logarithm": "function=ln: natürlicher logarithmus: natürlicher logarithmus",
- "minus": "infix=minus || prefix=negativ",
- "plus": "infix=plus || prefix=positiv",
+ "least-common-multiple": "function=lcm|der lcm|das kleinste gemeinsame vielfache",
+ "limit": "prefix=grenzwert bei| der grenzwert bei| der grenzwert bei",
+ "lim-sup": "prefix=lim sup bei| der obere grenzwert bei| der obere grenzwert bei",
+ "lim-inf": "prefix=lim inf bei| der untere grenzwert bei | der untere grenzwert bei",
+ "logarithm-with-base": "prefix=logarithmus basis| der logarithmus basis| der logarithmus basis",
+ "natural-logarithm": "function=ln| natürlicher logarithmus| natürlicher logarithmus",
+ "minus": "infix=minus || prefix=minus",
+ "plus": "infix=plus || prefix=plus",
"real-part": "function=der reale teil",
"transpose": "postfix=transponiert || function=die Transponierte",
- "magnitude": "function=; Norm: Norm: Norm; Ende Norm",
- "norm": "function=; norm: norm: norm; ende norm",
- "trace": "function=; spur : spur: die spur; ende spur",
- "dimension": "function=; dimension : dimension: die dimension; ende dimension",
- "homomorphism": "function= ; homomorphismus : homomorphismus: der homomorphismus; ende homomorphismus",
- "kernel": "function= ; kern : kern: der kern; ende kern",
+ "magnitude": "function=; Norm| Norm| Norm; Ende Norm",
+ "norm": "function=; norm| norm| norm; ende norm",
+ "trace": "function=; spur | spur| die spur; ende spur",
+ "dimension": "function=; dimension | dimension| die dimension; ende dimension",
+ "homomorphism": "function= ; homomorphismus | homomorphismus| der homomorphismus; ende homomorphismus",
+ "kernel": "function= ; kern | kern| der kern; ende kern",
"vector": "function= ; vektor || prefix=vektor",
- "cross-product": "infix=kreuz: kreuzprodukt: kreuzprodukt",
- "dot-product": "infix=punkt: punktprodukt: punkt:punktprodukt",
- "divergence": "function= ; div: divergenz: divergenz; ende divergenz",
+ "cross-product": "infix=kreuz| kreuzprodukt| kreuzprodukt",
+ "dot-product": "infix=punkt| punktprodukt| punkt|punktprodukt",
+ "divergence": "function= ; div| divergenz| divergenz; ende divergenz",
"curl": "function= ; rotation; ende rotation",
- "gradient": "function= ; grad: gradient: gradient; ende gradient",
+ "gradient": "function= ; grad| gradient| gradient; ende gradient",
"laplacian": "function=laplace",
- "chemistry-concentration": "function= ; konzentration: konzentration von: die konzentration von; ende konzentration"
+ "chemistry-concentration": "function= ; konzentration| konzentration von| die konzentration von; ende konzentration"
}
- NavigationParts: {
@@ -96,7 +165,7 @@
"pc": "parsec", "Å": "ångström", "Å": "ångström", "fm": "fermi",
"ha": "hektar", "dB": "dezibel", "amu": "atommasse-einheit", "atm": "atmosphäre",
"bar": "bar", "cal": "kalorie", "Ci": "curie", "grad": "gon", "M": "mol/liter",
- "R": "röntgen", "rpm": "umdrehungen pro minute", "℧": "mho", "dyn": "dyn", "erg": "erg",
+ "R": "röntgen", "rpm": "Umdrehung pro Minute", "℧": "mho", "dyn": "dyn", "erg": "erg",
"Kib": "kibi-bit", "Mib": "mebi-bit", "Gib": "gibi-bit", "Tib": "tebi-bit", "Pib": "pebi-bit",
"Eib": "exbi-bit", "Zib": "zebi-bit", "Yib": "yobi-bit", "KiB": "kibi-byte", "MiB": "mebi-byte",
"GiB": "gibi-byte", "TiB": "tebi-byte", "PiB": "pebi-byte", "EiB": "exbi-byte",
@@ -204,7 +273,7 @@
"kibi-byte": "kibi-byte", "mebi-byte": "mebi-byte", "gibi-byte": "gibi-byte",
"tebi-byte": "tebi-byte", "pebi-byte": "pebi-byte", "exbi-byte": "exbi-byte",
"zebi-byte": "zebi-byte", "yobi-byte": "yobi-byte",
- "umdrehungen pro minute": "umdrehungen pro minute"
+ "Umdrehung pro Minute": "Umdrehungen pro Minute"
}
diff --git a/Rules/Languages/de/unicode.yaml b/Rules/Languages/de/unicode.yaml
index f8b0ec641..2a093e90b 100644
--- a/Rules/Languages/de/unicode.yaml
+++ b/Rules/Languages/de/unicode.yaml
@@ -1,476 +1,476 @@
----
- # Note to translators:
- # most languages don't have two ways to pronounce 'a' -- if not need, remove the rules and change "B-Z" to "A-Z"
- # some languages say the word for "uppercase" after the letter. Make sure to change that where appropriate by moving some code around
- - "a-z":
- - test:
- if: "$TTS='none'"
- then: [ T: "." ] # (en: '.', google translation)
- else: [ spell: "'.'" ]
-
-# Capital letters are a little tricky: users can pick their favorite word (something that was requested) and
- # screen readers have options to use pitch changes or beeps instead of or in addition to say "cap"
- # Also, if a user can see the screen, they probably don't need to hear "cap", but if they specified an override, they must want to hear the override.
-
- - "A-Z":
- - 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: "groß"] # (en: 'cap', google translation)
- else: [x: "$SpeechOverrides_CapitalLetters"]
- - pitch:
- value: "$CapitalLetters_Pitch"
- # note: processing of ranges converts '.' into the character, so it needs to be in quotes below
- replace: [spell: "translate('.', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"]
-
- - "0-9": [T: "."] # (en: '.', google: 'A')
-
- - "!": # 0x21
- - test:
- if: "ancestor-or-self::*[contains(@data-intent-property, ':structure:')]"
- then_test:
- if: "$Verbosity = ' '"
- then: [T: "knall"] # 0x21 (en: 'bang', google translation)
- else: [T: "ausrufezeichen"] # 0x21 (en: 'exclamation point')
- else: [T: "fakultät"] # 0x21 (en: 'factorial')
-
- - "\"": [T: "anführungszeichen"] # 0x22 (en: 'quotation mark')
- - "#": [T: "nummernzeichen"] # 0x23 (en: 'number')
- - "$": [T: "dollar"] # 0x24 (en: 'dollars')
- - "%": [T: "prozent"] # 0x25 (en: 'percent')
- - "&": [T: "kaufmännisches und"] # 0x26 (en: 'ampersand')
- - "'": [T: "hochkomma"] # 0x27 (en: 'apostrophe', MathPlayer: 'Hochkomma', google: 'apostroph')
- - "(": # 0x28
- - test:
- if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
- then_test:
- if: "$Verbosity='Terse'"
- then: [T: "klammer auf"] # 0x28 (en: 'open', google translation) #unklar
- else: [T: "klammer auf"] # 0x28 (en: 'open paren')
- else: [T: "klammer auf"] # 0x28 (en: 'left paren')
- - ")": # 0x29
- - test:
- if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
- then_test:
- if: "$Verbosity='Terse'"
- then: [T: "klammer zu"] # 0x29 (en: 'close', google translation) #unklar
- else: [T: "klammer zu"] # 0x29 (en: 'close paren')
- else: [T: "klammer zu"] # 0x29 (en: 'right paren')
-
- - "*": # 0x2a
- test:
- if: "parent::*[name(.)='msup' or name(.)='msubsup' or name(.)='skip-super']"
- then: [T: "stern"] # 0x2a (en: 'star', google translation)
- else: [T: "mal"] # 0x2a
- - "+": [T: "plus"] # 0x2b
- - ",": # 0x2c
- # the following deals with the interaction of "," with "…" which sometimes wants the ',' to be silent
- # that this test is here and not with "…" is not ideal, but seems simplest
- test:
- if:
- - "$SpeechStyle != 'ClearSpeak' or $ClearSpeak_Ellipses = 'Auto' or "
- # must be ClearSpeak and $ClearSpeak_Ellipses = 'AndSoOn'
- # speak "comma" when not adjacent to '…'
- - "( following-sibling::*[1][text()!= '…'] and preceding-sibling::*[1][text()!='…'] ) or "
- # except if expression starts with '…'
- - "../*[1][text()='…'] "
- then: [T: "komma"] # (en: 'comma', google translation)
- # else silent
-
- - "-": [T: "minus"] # 0x2d
- - ".": # 0x2e
- - test:
- if: "parent::*[1][self::m:mn]"
- then: [T: "punkt"] # (en: 'point', google translation)
- else: [T: "punkt"] # (en: 'dot', google: 'punkt')
- - "/": [T: "schrägstrich"] # 0x2f (en: 'divided by')
- - ":": [T: "doppelpunkt"] # 0x3a (en: 'colon')
- - ";": [T: "strichpunkt"] # 0x3b (en: 'semicolon')
- - "<": # 0x3c
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "ist"] # (en: 'is', google translation)
- - T: "kleiner als" # (en: 'less than')
- - "=": # 0x3d
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "ist gleich"] # (en: 'is equal to', google translation)
- else: [T: "ist gleich"] # (en: 'equals')
-
- - ">": # 0x3e
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "ist"] # (en: 'is', google translation)
- - T: "größer als" # (en: 'greater than')
- - "?": [T: "fragezeichen"] # 0x3f (en: 'question mark', MathPlayer: 'Frgezeichen', google: 'fragezeichen')
- - "@": [T: "ät-zeichen"] # 0x40 (en: 'at sign')
- - "[": # 0x5b
- - test:
- if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
- then: [T: "offene eckige klammer"] # (en: 'open bracket', google translation) #unklar
- else: [T: "eckige klammer auf"] # (en: 'left bracket', MathPlayer: 'eckig Klammer auf', google: 'linke klammer')
- - "\\": [T: "eckige klammer auf"] # 0x5c (en: 'back slash', MathPlayer: 'eckig Klammer auf', google: 'rückenstrich')
- - "]": # 0x5d
- - test:
- if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
- then: [T: "schließende eckige klammer"] # (en: 'close bracket', google translation) #unklar
- else: [T: "eckige klammer zu"] # (en: 'right bracket')
- - "^": [T: "zirkumflex"] # 0x5e (en: 'hat')
- - "_": [T: "unterstrich"] # 0x5f (en: 'under bar', MathPlayer: 'under bar', google: 'unter bar')
- - "`": [T: "gravis akzent"] # 0x60 (en: 'grave', MathPlayer: 'grave accent', google: 'grab')
- - "{": # 0x7b
- - test:
- if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
- then: [T: "offene geschweifte klammer"] # (en: 'open brace', google translation)
- else: [T: "geschweifte klammer auf"] # (en: 'left brace')
- - "|": # 0x7c
- # note: for ClearSpeak and SimpleSpeak, "|" inside of sets is handled at the mrow level, same for 'sets'
- - test:
- - if: "$SpeechStyle != 'ClearSpeak' or not(preceding-sibling::*) or not(following-sibling::*)"
- then: [T: "senkrechter strich"] # (en: 'vertical line', google translation)
- - else_if: "$ClearSpeak_VerticalLine = 'SuchThat'"
- then: [T: "so dass"] # (en: 'such that', google translation)
- - else_if: "$ClearSpeak_VerticalLine = 'Given'"
- then: [T: "gegeben"] # (en: 'given', google translation)
- - else: [T: "teilt"] # (en: 'divides')
-
- - "}": # 0x7d
- - test:
- if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
- then: [T: "schließende geschweifte klammer"] # (en: 'close brace', google translation)
- else: [T: "geschweifte klammer zu"] # (en: 'right brace')
-
- - "~": [T: "tilde"] # 0x7e
- - " ": # 0xa0
- - test:
- if: "@data-empty-in-2D and ../../../../*[name(.)!='equations']"
- then: [T: "leer"] # want to say something for fraction (etc) with empty child (en: 'empty', google translation)
- else: [T: ""]
-
- - "¬": [T: "nicht"] # 0xac (en: 'not')
- - "°": [T: "grad"] # 0xb0 (en: 'degrees')
- - "±": [T: "plus minus"] # 0xb1 (en: 'plus or minus')
- - "´": [T: "akut akzent"] # 0xb4 (en: 'acute', MathPlayer: 'acute accent', google: 'akut')
- - "·": # 0xB7
- - test:
- if: "$SpeechStyle != 'ClearSpeak' or $ClearSpeak_MultSymbolDot = 'Auto'"
- then: [T: "mal"] # (en: 'times', google translation)
- else: [T: "mal"] # (en: 'dot', MathPlayer: 'Punkt mittig', google: 'punkt')
- - "×": # 0xd7
- - test:
- if: "$SpeechStyle != 'ClearSpeak' or $ClearSpeak_MultSymbolX = 'Auto'"
- then: [T: "mal"] # (en: 'times', google translation)
- else_test:
- if: $ClearSpeak_MultSymbolX = 'By'
- then: [T: "von"] # (en: 'by', google translation)
- else: [T: "mal"] # (en: 'cross', MathPlayer: 'times', google: 'kreuzen') #unklar
- - "÷": [T: "geteilt durch"] # 0xf7 (en: 'divided by', MathPlayer: 'divides')
- - "̀": [T: "accent grave"] # 0x300 (en: 'grave accent embellishment', google: 'grabakzentverzierung')
- - "́": [T: "accent aigu"] # 0x301 (en: 'acute accent embellishment', google: 'akute akzentverzierung')
- - "̂": [T: "zirkumflex"] # 0x302 (en: 'circumflex accent embellishment', google: 'zirma akzentverzierung')
- - "̃": [T: "tilde"] # 0x303 (google: 'tilde verzierung')
- - "̄": [T: "makron"] # 0x304 (en: 'macron embellishment', google: 'makron -verzierung')
- - "̅": [T: "überstrich"] # 0x305 (google: 'überbärerverzierung')
- - "̆": [T: "brevis"] # 0x306 (en: 'breve', google: 'breve')
- - "̇": [T: "punkt darüber"] # 0x307 (google: 'punkt über verzierung')
-
- # Note: ClearSpeak has pref TriangleSymbol for "Δ", but that is wrong
- - "Α-Ω":
- - 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: "großbuchstabe"] # (en: 'cap', google translation) #großbuchstaben?
- else: [x: "$SpeechOverrides_CapitalLetters"]
- - pitch:
- value: "$CapitalLetters_Pitch"
- # note: processing of ranges converts '.' into the character, so it needs to be in quotes below
- replace: [spell: "translate('.', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ', 'αβγδεζηθικλμνξοπρςστυφχψω')"]
-
- - "α": [T: "alpha"] # 0x3b1
- - "β": [T: "beta"] # 0x3b2
- - "γ": [T: "gamma"] # 0x3b3
- - "δ": [T: "delta"] # 0x3b4
- - "ε": [T: "epsilon"] # 0x3b5
- - "ζ": [T: "zeta"] # 0x3b6
- - "η": [T: "eta"] # 0x3b7
- - "θ": [T: "theta"] # 0x3b8
- - "ι": [T: "iota"] # 0x3b9 (google: 'jota')
- - "κ": [T: "kappa"] # 0x3ba
- - "λ": [T: "lambda"] # 0x3bb (en: 'lambda', google: 'lambda')
- - "μ": [T: "mü"] # 0x3bc
- - "ν": [T: "nü"] # 0x3bd
- - "ξ": [T: "xi"] # 0x3be (en: 'zai', google: 'zai')
- - "ο": [T: "omicron"] # 0x3bf
- - "π": [T: "pi"] # 0x3c0
- - "ρ": [T: "rho"] # 0x3c1
- - "ς": [T: "sigma am wortende"] # 0x3c2
- - "σ": [T: "sigma"] # 0x3c3
- - "τ": [T: "tau"] # 0x3c4
- - "υ": [T: "üpsilon"] # 0x3c5 #ypsilon
- - "φ": [T: "phi"] # 0x3c6
- - "χ": [T: "chi"] # 0x3c7
- - "ψ": [T: "psi"] # 0x3c8
- - "ω": [T: "omega"] # 0x3c9
- - "ϕ": [T: "phi"] # 0x3d5 (en: 'phi', google: 'phi')
- - "ϖ": [T: "pi"] # 0x3d6 (en: 'pi', google: 'pi')
- - "ϵ": [T: "epsilon"] # 0x3f5
- - "϶": [T: "umgekehrtes epsilon"] # 0x3f6 (en: 'reversed epsilon', MathPlayer: 'reversed epsilon', google: 'umgekehrter epsilon')
-
- - "": # 0x2061
- - test:
- if: "$Verbosity!='Terse' and not(preceding-sibling::*[1][IsInDefinition(., 'GeometryShapes')]) and
- not(@data-changed='added' and ancestor-or-self::*[contains(@data-intent-property, ':structure:')])"
- then: [T: "von"] # (en: 'of', google translation)
- - "": [T: ""] # 0x2062
- - "": [T: ""] # 0x2063
- - "": [T: "und"] # 0x2064 (en: 'and', google: 'und')
- - "ℂℕℚℝℤ": # here we rely on this running through the table again to speak "cap xxx"
- - T: "drei Strich" # (en: 'double-struck', MathPlayer: 'drei-strich', google: 'doppelter takt')
- - spell: "translate('.', 'ℂℕℚℝℤ', 'CNQRZ')"
-
- - "℃": [T: "grad celsius"] # 0x2103 (google: 'grad celsius')
- - "ℋℛℓ": # 0x210b #klären
- - T: "schreibschrift" # (en: 'script', google: 'skript')
- - spell: "translate('.', 'ℋℛℓ', 'HRl')"
- - "ℜ": # 0x211c
- - T: "frakturschrift groß r" # (en: 'fraktur', google: 'fraktur')
- - spell: "'R'"
-
- - "ⅆⅇⅈⅉ": # 0x2146-9
- - T: "doppelstrich kursiv" # (en: 'double-struck italic', MathPlayer: 'angstroms', google: 'doppelt übertroffene kursivschrift')
- - spell: "translate('.', 'ⅆⅇⅈⅉ', 'deij')"
-
- - "∥": # 0x2225
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "ist"] # (en: 'is', google translation)
- - T: "parallel zu" # (en: 'parallel to')
- - "∦": # 0x2226
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "ist"] # (en: 'is', google translation)
- - T: "nicht parallel zu" # (en: 'not parallel to')
- - "≤": # 0x2264
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "ist"] # (en: 'is', google translation)
- - T: "kleiner gleich"
- - "≥": # 0x2265
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "ist"] # (en: 'is', google translation)
- - T: "größer gleich" # (en: 'greater than or equal to')
-
- # --- restored complex short definitions (prefer over unicode-full) ---
- - "…": # 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][text()='…']"
- then: [T: "punkt punkt punkt"] # (en: 'dot dot dot', google translation)
- else_test: # must have $ClearSpeak_Ellipses = 'AndSoOn'
- if: "count(following-sibling::*) = 0"
- then: [T: "und so weiter"] # (en: 'and so on', google translation)
- else: [T: "punkt punkt punkt"] # (en: 'and so on up to', MathPlayer: 'dot dot dot', google: 'und so weiter bis') #horizontale Ellipsis
- - "→": # 0x2192
- - test:
- if: "ancestor::*[2][self::m:limit]"
- then: [T: "gegen"] # (en: 'approaches', google translation)
- else: [T: "pfeil nach rechts"] # (en: 'right arrow', MathPlayer: 'rightwards arrow', google: 'rechter pfeil')
- - "∂": # 0x2202
- - test:
- if: "$Verbosity='Terse'"
- then: [T: "teilweise"] # (en: 'partial', google translation)
- else: [T: "partielle ableitung"] # (en: 'partial derivative', google: 'partielle ableitung')
- - "∆": # 0x2206
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: ""] # (en: 'the', google translation)
- - T: "delta" # (en: 'laplacian of', MathPlayer: 'increment', google: 'laplace von') #unklar, sehr kontextabhängig
- - "∇": # 0x2207
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "der"] # (en: 'the', google translation)
- - T: "nabla-operator" # (en: 'gradient of', google: 'gradient von') #gradient nur einer der drei möglichen differentialoperatoren
- - "∈": # 0x2208
- - test:
- if: "$SpeechStyle != 'ClearSpeak'"
- then: [T: "ein element von"] # (en: 'an element of', google translation)
- # 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
- then_test:
+---
+ # Note to translators:
+ # most languages don't have two ways to pronounce 'a' -- if not need, remove the rules and change "B-Z" to "A-Z"
+ # some languages say the word for "uppercase" after the letter. Make sure to change that where appropriate by moving some code around
+ - "a-z":
+ - test:
+ if: "$TTS='none'"
+ then: [ T: "." ] # (en: '.', google translation)
+ else: [ spell: "'.'" ]
+
+# Capital letters are a little tricky: users can pick their favorite word (something that was requested) and
+ # screen readers have options to use pitch changes or beeps instead of or in addition to say "cap"
+ # Also, if a user can see the screen, they probably don't need to hear "cap", but if they specified an override, they must want to hear the override.
+
+ - "A-Z":
+ - 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: "groß"] # (en: 'cap', google translation)
+ else: [x: "$SpeechOverrides_CapitalLetters"]
+ - pitch:
+ value: "$CapitalLetters_Pitch"
+ # note: processing of ranges converts '.' into the character, so it needs to be in quotes below
+ replace: [spell: "translate('.', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"]
+
+ - "0-9": [T: "."] # (en: '.', google: 'A')
+
+ - "!": # 0x21
+ - test:
+ if: "ancestor-or-self::*[contains(@data-intent-property, ':structure:')]"
+ then_test:
+ if: "$Verbosity = ' '"
+ then: [T: "knall"] # 0x21 (en: 'bang', google translation)
+ else: [T: "ausrufezeichen"] # 0x21 (en: 'exclamation point')
+ else: [T: "fakultät"] # 0x21 (en: 'factorial')
+
+ - "\"": [T: "anführungszeichen"] # 0x22 (en: 'quotation mark')
+ - "#": [T: "nummernzeichen"] # 0x23 (en: 'number')
+ - "$": [T: "dollar"] # 0x24 (en: 'dollars')
+ - "%": [T: "prozent"] # 0x25 (en: 'percent')
+ - "&": [T: "kaufmännisches und"] # 0x26 (en: 'ampersand')
+ - "'": [T: "hochkomma"] # 0x27 (en: 'apostrophe', MathPlayer: 'Hochkomma', google: 'apostroph')
+ - "(": # 0x28
+ - test:
+ if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
+ then_test:
+ if: "$Verbosity='Terse'"
+ then: [T: "klammer auf"] # 0x28 (en: 'open', google translation) #unklar
+ else: [T: "klammer auf"] # 0x28 (en: 'open paren')
+ else: [T: "klammer auf"] # 0x28 (en: 'left paren')
+ - ")": # 0x29
+ - test:
+ if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
+ then_test:
+ if: "$Verbosity='Terse'"
+ then: [T: "klammer zu"] # 0x29 (en: 'close', google translation) #unklar
+ else: [T: "klammer zu"] # 0x29 (en: 'close paren')
+ else: [T: "klammer zu"] # 0x29 (en: 'right paren')
+
+ - "*": # 0x2a
+ test:
+ if: "parent::*[name(.)='msup' or name(.)='msubsup' or name(.)='skip-super']"
+ then: [T: "stern"] # 0x2a (en: 'star', google translation)
+ else: [T: "mal"] # 0x2a
+ - "+": [T: "plus"] # 0x2b
+ - ",": # 0x2c
+ # the following deals with the interaction of "," with "…" which sometimes wants the ',' to be silent
+ # that this test is here and not with "…" is not ideal, but seems simplest
+ test:
+ if:
+ - "$SpeechStyle != 'ClearSpeak' or $ClearSpeak_Ellipses = 'Auto' or "
+ # must be ClearSpeak and $ClearSpeak_Ellipses = 'AndSoOn'
+ # speak "comma" when not adjacent to '…'
+ - "( following-sibling::*[1][text()!= '…'] and preceding-sibling::*[1][text()!='…'] ) or "
+ # except if expression starts with '…'
+ - "../*[1][text()='…'] "
+ then: [T: "komma"] # (en: 'comma', google translation)
+ # else silent
+
+ - "-": [T: "minus"] # 0x2d
+ - ".": # 0x2e
+ - test:
+ if: "parent::*[1][self::m:mn]"
+ then: [T: "punkt"] # (en: 'point', google translation)
+ else: [T: "punkt"] # (en: 'dot', google: 'punkt')
+ - "/": [T: "schrägstrich"] # 0x2f (en: 'divided by')
+ - ":": [T: "doppelpunkt"] # 0x3a (en: 'colon')
+ - ";": [T: "strichpunkt"] # 0x3b (en: 'semicolon')
+ - "<": # 0x3c
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "ist"] # (en: 'is', google translation)
+ - T: "kleiner als" # (en: 'less than')
+ - "=": # 0x3d
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "ist gleich"] # (en: 'is equal to', google translation)
+ else: [T: "ist gleich"] # (en: 'equals')
+
+ - ">": # 0x3e
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "ist"] # (en: 'is', google translation)
+ - T: "größer als" # (en: 'greater than')
+ - "?": [T: "fragezeichen"] # 0x3f (en: 'question mark', MathPlayer: 'Frgezeichen', google: 'fragezeichen')
+ - "@": [T: "ät-zeichen"] # 0x40 (en: 'at sign')
+ - "[": # 0x5b
+ - test:
+ if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
+ then: [T: "offene eckige klammer"] # (en: 'open bracket', google translation) #unklar
+ else: [T: "eckige klammer auf"] # (en: 'left bracket', MathPlayer: 'eckig Klammer auf', google: 'linke klammer')
+ - "\\": [T: "eckige klammer auf"] # 0x5c (en: 'back slash', MathPlayer: 'eckig Klammer auf', google: 'rückenstrich')
+ - "]": # 0x5d
+ - test:
+ if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
+ then: [T: "schließende eckige klammer"] # (en: 'close bracket', google translation) #unklar
+ else: [T: "eckige klammer zu"] # (en: 'right bracket')
+ - "^": [T: "zirkumflex"] # 0x5e (en: 'hat')
+ - "_": [T: "unterstrich"] # 0x5f (en: 'under bar', MathPlayer: 'under bar', google: 'unter bar')
+ - "`": [T: "gravis akzent"] # 0x60 (en: 'grave', MathPlayer: 'grave accent', google: 'grab')
+ - "{": # 0x7b
+ - test:
+ if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
+ then: [T: "offene geschweifte klammer"] # (en: 'open brace', google translation)
+ else: [T: "geschweifte klammer auf"] # (en: 'left brace')
+ - "|": # 0x7c
+ # note: for ClearSpeak and SimpleSpeak, "|" inside of sets is handled at the mrow level, same for 'sets'
+ - test:
+ - if: "$SpeechStyle != 'ClearSpeak' or not(preceding-sibling::*) or not(following-sibling::*)"
+ then: [T: "senkrechter strich"] # (en: 'vertical line', google translation)
+ - else_if: "$ClearSpeak_VerticalLine = 'SuchThat'"
+ then: [T: "so dass"] # (en: 'such that', google translation)
+ - else_if: "$ClearSpeak_VerticalLine = 'Given'"
+ then: [T: "gegeben"] # (en: 'given', google translation)
+ - else: [T: "teilt"] # (en: 'divides')
+
+ - "}": # 0x7d
+ - test:
+ if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
+ then: [T: "schließende geschweifte klammer"] # (en: 'close brace', google translation)
+ else: [T: "geschweifte klammer zu"] # (en: 'right brace')
+
+ - "~": [T: "tilde"] # 0x7e
+ - " ": # 0xa0
+ - test:
+ if: "@data-empty-in-2D and ../../../../*[name(.)!='equations']"
+ then: [T: "leer"] # want to say something for fraction (etc) with empty child (en: 'empty', google translation)
+ else: [T: ""]
+
+ - "¬": [T: "nicht"] # 0xac (en: 'not')
+ - "°": [T: "grad"] # 0xb0 (en: 'degrees')
+ - "±": [T: "plus minus"] # 0xb1 (en: 'plus or minus')
+ - "´": [T: "akut akzent"] # 0xb4 (en: 'acute', MathPlayer: 'acute accent', google: 'akut')
+ - "·": # 0xB7
+ - test:
+ if: "$SpeechStyle != 'ClearSpeak' or $ClearSpeak_MultSymbolDot = 'Auto'"
+ then: [T: "mal"] # (en: 'times', google translation)
+ else: [T: "mal"] # (en: 'dot', MathPlayer: 'Punkt mittig', google: 'punkt')
+ - "×": # 0xd7
+ - test:
+ if: "$SpeechStyle != 'ClearSpeak' or $ClearSpeak_MultSymbolX = 'Auto'"
+ then: [T: "mal"] # (en: 'times', google translation)
+ else_test:
+ if: $ClearSpeak_MultSymbolX = 'By'
+ then: [T: "von"] # (en: 'by', google translation)
+ else: [T: "mal"] # (en: 'cross', MathPlayer: 'times', google: 'kreuzen') #unklar
+ - "÷": [T: "geteilt durch"] # 0xf7 (en: 'divided by', MathPlayer: 'divides')
+ - "̀": [T: "accent grave"] # 0x300 (en: 'grave accent embellishment', google: 'grabakzentverzierung')
+ - "́": [T: "accent aigu"] # 0x301 (en: 'acute accent embellishment', google: 'akute akzentverzierung')
+ - "̂": [T: "zirkumflex"] # 0x302 (en: 'circumflex accent embellishment', google: 'zirma akzentverzierung')
+ - "̃": [T: "tilde"] # 0x303 (google: 'tilde verzierung')
+ - "̄": [T: "makron"] # 0x304 (en: 'macron embellishment', google: 'makron -verzierung')
+ - "̅": [T: "überstrich"] # 0x305 (google: 'überbärerverzierung')
+ - "̆": [T: "brevis"] # 0x306 (en: 'breve', google: 'breve')
+ - "̇": [T: "punkt darüber"] # 0x307 (google: 'punkt über verzierung')
+
+ # Note: ClearSpeak has pref TriangleSymbol for "Δ", but that is wrong
+ - "Α-Ω":
+ - 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: "großbuchstabe"] # (en: 'cap', google translation) #großbuchstaben?
+ else: [x: "$SpeechOverrides_CapitalLetters"]
+ - pitch:
+ value: "$CapitalLetters_Pitch"
+ # note: processing of ranges converts '.' into the character, so it needs to be in quotes below
+ replace: [spell: "translate('.', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ', 'αβγδεζηθικλμνξοπρςστυφχψω')"]
+
+ - "α": [T: "alpha"] # 0x3b1
+ - "β": [T: "beta"] # 0x3b2
+ - "γ": [T: "gamma"] # 0x3b3
+ - "δ": [T: "delta"] # 0x3b4
+ - "ε": [T: "epsilon"] # 0x3b5
+ - "ζ": [T: "zeta"] # 0x3b6
+ - "η": [T: "eta"] # 0x3b7
+ - "θ": [T: "theta"] # 0x3b8
+ - "ι": [T: "iota"] # 0x3b9 (google: 'jota')
+ - "κ": [T: "kappa"] # 0x3ba
+ - "λ": [T: "lambda"] # 0x3bb (en: 'lambda', google: 'lambda')
+ - "μ": [T: "mü"] # 0x3bc
+ - "ν": [T: "nü"] # 0x3bd
+ - "ξ": [T: "xi"] # 0x3be (en: 'zai', google: 'zai')
+ - "ο": [T: "omicron"] # 0x3bf
+ - "π": [T: "pi"] # 0x3c0
+ - "ρ": [T: "rho"] # 0x3c1
+ - "ς": [T: "sigma am wortende"] # 0x3c2
+ - "σ": [T: "sigma"] # 0x3c3
+ - "τ": [T: "tau"] # 0x3c4
+ - "υ": [T: "üpsilon"] # 0x3c5 #ypsilon
+ - "φ": [T: "phi"] # 0x3c6
+ - "χ": [T: "chi"] # 0x3c7
+ - "ψ": [T: "psi"] # 0x3c8
+ - "ω": [T: "omega"] # 0x3c9
+ - "ϕ": [T: "phi"] # 0x3d5 (en: 'phi', google: 'phi')
+ - "ϖ": [T: "pi"] # 0x3d6 (en: 'pi', google: 'pi')
+ - "ϵ": [T: "epsilon"] # 0x3f5
+ - "϶": [T: "umgekehrtes epsilon"] # 0x3f6 (en: 'reversed epsilon', MathPlayer: 'reversed epsilon', google: 'umgekehrter epsilon')
+
+ - "": # 0x2061
+ - test:
+ if: "$Verbosity!='Terse' and not(preceding-sibling::*[1][IsInDefinition(., 'GeometryShapes')]) and
+ not(@data-changed='added' and ancestor-or-self::*[contains(@data-intent-property, ':structure:')])"
+ then: [T: "von"] # (en: 'of', google translation)
+ - "": [T: ""] # 0x2062
+ - "": [T: ""] # 0x2063
+ - "": [T: "und"] # 0x2064 (en: 'and', google: 'und')
+ - "ℂℕℚℝℤ": # here we rely on this running through the table again to speak "cap xxx"
+ - T: "drei Strich" # (en: 'double-struck', MathPlayer: 'drei-strich', google: 'doppelter takt')
+ - spell: "translate('.', 'ℂℕℚℝℤ', 'CNQRZ')"
+
+ - "℃": [T: "grad celsius"] # 0x2103 (google: 'grad celsius')
+ - "ℋℛℓ": # 0x210b #klären
+ - T: "schreibschrift" # (en: 'script', google: 'skript')
+ - spell: "translate('.', 'ℋℛℓ', 'HRl')"
+ - "ℜ": # 0x211c
+ - T: "frakturschrift groß r" # (en: 'fraktur', google: 'fraktur')
+ - spell: "'R'"
+
+ - "ⅆⅇⅈⅉ": # 0x2146-9
+ - T: "doppelstrich kursiv" # (en: 'double-struck italic', MathPlayer: 'angstroms', google: 'doppelt übertroffene kursivschrift')
+ - spell: "translate('.', 'ⅆⅇⅈⅉ', 'deij')"
+
+ - "∥": # 0x2225
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "ist"] # (en: 'is', google translation)
+ - T: "parallel zu" # (en: 'parallel to')
+ - "∦": # 0x2226
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "ist"] # (en: 'is', google translation)
+ - T: "nicht parallel zu" # (en: 'not parallel to')
+ - "≤": # 0x2264
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "ist"] # (en: 'is', google translation)
+ - T: "kleiner gleich"
+ - "≥": # 0x2265
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "ist"] # (en: 'is', google translation)
+ - T: "größer gleich" # (en: 'greater than or equal to')
+
+ # --- restored complex short definitions (prefer over unicode-full) ---
+ - "…": # 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][text()='…']"
+ then: [T: "punkt punkt punkt"] # (en: 'dot dot dot', google translation)
+ else_test: # must have $ClearSpeak_Ellipses = 'AndSoOn'
+ if: "count(following-sibling::*) = 0"
+ then: [T: "und so weiter"] # (en: 'and so on', google translation)
+ else: [T: "punkt punkt punkt"] # (en: 'and so on up to', MathPlayer: 'dot dot dot', google: 'und so weiter bis') #horizontale Ellipsis
+ - "→": # 0x2192
+ - test:
+ if: "ancestor::*[2][self::m:limit]"
+ then: [T: "gegen"] # (en: 'approaches', google translation)
+ else: [T: "pfeil nach rechts"] # (en: 'right arrow', MathPlayer: 'rightwards arrow', google: 'rechter pfeil')
+ - "∂": # 0x2202
+ - test:
+ if: "$Verbosity='Terse'"
+ then: [T: "teilweise"] # (en: 'partial', google translation)
+ else: [T: "partielle ableitung"] # (en: 'partial derivative', google: 'partielle ableitung')
+ - "∆": # 0x2206
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: ""] # (en: 'the', google translation)
+ - T: "delta" # (en: 'laplacian of', MathPlayer: 'increment', google: 'laplace von') #unklar, sehr kontextabhängig
+ - "∇": # 0x2207
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "der"] # (en: 'the', google translation)
+ - T: "nabla-operator" # (en: 'gradient of', google: 'gradient von') #gradient nur einer der drei möglichen differentialoperatoren
+ - "∈": # 0x2208
+ - test:
+ if: "$SpeechStyle != 'ClearSpeak'"
+ then: [T: "ein element von"] # (en: 'an element of', google translation)
+ # 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
+ then_test:
- if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'In'
then: [T: "in"]
- else_if: $ClearSpeak_SetMemberSymbol = 'Member'
- then: [T: "element von"] # (en: 'member of', google translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
- then: [T: "element von"] # (en: 'element of', google translation)
- - else: [T: "element von"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'belonging to')
- else_test:
- - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'Member'
- then: [T: "ist ein element von"] # (en: 'is a member of', google translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
- then: [T: "ist ein element von"] # (en: 'is an element of', google translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'In'
- then: [T: "ist in"] # (en: 'is in', google translation)
- - else: [T: "element von"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'belongs to')
- - "∉": # 0x2209
- # rule is identical to 0x2208
- - test:
- if: "$SpeechStyle != 'ClearSpeak'"
- then: [T: "ist kein element von"] # (en: 'is not an element of', google translation)
- # 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
- then_test:
+ then: [T: "element von"] # (en: 'member of', google translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
+ then: [T: "element von"] # (en: 'element of', google translation)
+ - else: [T: "element von"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'belonging to')
+ else_test:
+ - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'Member'
+ then: [T: "ist ein element von"] # (en: 'is a member of', google translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
+ then: [T: "ist ein element von"] # (en: 'is an element of', google translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'In'
+ then: [T: "ist in"] # (en: 'is in', google translation)
+ - else: [T: "element von"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'belongs to')
+ - "∉": # 0x2209
+ # rule is identical to 0x2208
+ - test:
+ if: "$SpeechStyle != 'ClearSpeak'"
+ then: [T: "ist kein element von"] # (en: 'is not an element of', google translation)
+ # 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
+ then_test:
- if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'In'
then: [T: "nicht in"]
- else_if: $ClearSpeak_SetMemberSymbol = 'Member'
- then: [T: "nicht element von"] # (en: 'not member of', google translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
- then: [T: "nicht element von"] # (en: 'not element of', google translation)
- - else: [T: "nicht element von"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'not belonging to')
- else_test:
- - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'Member'
- then: [T: "ist kein element von"] # (en: 'is not a member of', google translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
- then: [T: "ist kein element von"] # (en: 'is not an element of', google translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'In'
- then: [T: "ist nicht in"] # (en: 'is not in', google translation)
- - else: [T: "nicht element von"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'does not belong to')
- - "∊": # 0x220a
- - test:
- if: "$SpeechStyle != 'ClearSpeak'"
- then: [T: "ist ein element von"] # (en: 'is an element of', google translation)
- # 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
- then_test:
+ then: [T: "nicht element von"] # (en: 'not member of', google translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
+ then: [T: "nicht element von"] # (en: 'not element of', google translation)
+ - else: [T: "nicht element von"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'not belonging to')
+ else_test:
+ - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'Member'
+ then: [T: "ist kein element von"] # (en: 'is not a member of', google translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
+ then: [T: "ist kein element von"] # (en: 'is not an element of', google translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'In'
+ then: [T: "ist nicht in"] # (en: 'is not in', google translation)
+ - else: [T: "nicht element von"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'does not belong to')
+ - "∊": # 0x220a
+ - test:
+ if: "$SpeechStyle != 'ClearSpeak'"
+ then: [T: "ist ein element von"] # (en: 'is an element of', google translation)
+ # 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
+ then_test:
- if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'In'
then: [T: "in"]
- else_if: $ClearSpeak_SetMemberSymbol = 'Member'
- then: [T: "element von"] # (en: 'member of', google translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
- then: [T: "element von"] # (en: 'element of', google translation)
- - else: [T: "element von"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'belonging to')
- else_test:
- - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'Member'
- then: [T: "ist ein element von"] # (en: 'is a member of', google translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
- then: [T: "ist ein element von"] # (en: 'is an element of', google translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'In'
- then: [T: "ist in"] # (en: 'is in', google translation)
- - else: [T: "element von"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'belongs to')
- - "∝": # 0x221d
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "ist"] # (en: 'is', google translation)
- - T: "proportional zu" # (en: 'proportional to')
- - "∶": # 0x2236
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "ist"] # (en: 'is', google translation) #unklar
- - T: "zu" # (en: 'to')
- - "∾": # 0x223e
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "ist"] # (en: 'is', google translation)
- - T: "umgekehrtes stummes s" # (en: 'most positive', MathPlayer: 'inverted lazy s', google: 'am positivsten')
- - "≠": # 0x2260
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "ist"] # (en: 'is', google translation)
- - T: "ungleich" # (en: 'not equal to')
- - "≡": # 0x2261
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "ist"] # (en: 'is', google translation)
- - T: "identisch mit" # (en: 'identical to', SRE: 'kongruent mit')
- - "⊂": # 0x2282
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "ist eine"] # (en: 'is a', google translation)
- - T: "teilmenge von" # (en: 'subset of', MathPlayer: 'Teilmenge von', google: 'untergruppe von')
- - "⊃": # 0x2283
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "ist eine"] # (en: 'is a', google translation)
- - T: "obermenge von" # (en: 'superset of', MathPlayer: 'Obermenge von', google: 'superset von')
- - "⊄": # 0x2284
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "ist"] # (en: 'is', google translation)
- - T: "keine teilmenge von" # (en: 'not a subset of', MathPlayer: 'nicht Teilmenge von', google: 'keine teilmenge von')
- - "⊅": # 0x2285
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "ist"] # (en: 'is', google translation)
- - T: "keine obermenge von" # (en: 'not a superset of', MathPlayer: 'nicht Obermenge von', google: 'kein superset von')
- - "⊆": # 0x2286
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "ist eine"] # (en: 'is a', google translation)
+ then: [T: "element von"] # (en: 'member of', google translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
+ then: [T: "element von"] # (en: 'element of', google translation)
+ - else: [T: "element von"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'belonging to')
+ else_test:
+ - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'Member'
+ then: [T: "ist ein element von"] # (en: 'is a member of', google translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
+ then: [T: "ist ein element von"] # (en: 'is an element of', google translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'In'
+ then: [T: "ist in"] # (en: 'is in', google translation)
+ - else: [T: "element von"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'belongs to')
+ - "∝": # 0x221d
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "ist"] # (en: 'is', google translation)
+ - T: "proportional zu" # (en: 'proportional to')
+ - "∶": # 0x2236
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "ist"] # (en: 'is', google translation) #unklar
+ - T: "zu" # (en: 'to')
+ - "∾": # 0x223e
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "ist"] # (en: 'is', google translation)
+ - T: "umgekehrtes stummes s" # (en: 'most positive', MathPlayer: 'inverted lazy s', google: 'am positivsten')
+ - "≠": # 0x2260
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "ist"] # (en: 'is', google translation)
+ - T: "ungleich" # (en: 'not equal to')
+ - "≡": # 0x2261
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "ist"] # (en: 'is', google translation)
+ - T: "identisch mit" # (en: 'identical to', SRE: 'kongruent mit')
+ - "⊂": # 0x2282
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "ist eine"] # (en: 'is a', google translation)
+ - T: "teilmenge von" # (en: 'subset of', MathPlayer: 'Teilmenge von', google: 'untergruppe von')
+ - "⊃": # 0x2283
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "ist eine"] # (en: 'is a', google translation)
+ - T: "obermenge von" # (en: 'superset of', MathPlayer: 'Obermenge von', google: 'superset von')
+ - "⊄": # 0x2284
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "ist"] # (en: 'is', google translation)
+ - T: "keine teilmenge von" # (en: 'not a subset of', MathPlayer: 'nicht Teilmenge von', google: 'keine teilmenge von')
+ - "⊅": # 0x2285
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "ist"] # (en: 'is', google translation)
+ - T: "keine obermenge von" # (en: 'not a superset of', MathPlayer: 'nicht Obermenge von', google: 'kein superset von')
+ - "⊆": # 0x2286
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "ist eine"] # (en: 'is a', google translation)
- T: "teilmenge von oder gleich" # (en: 'subset of or equal to', MathPlayer: 'Teilmenge von odre gleich', google: 'teilmenge von oder gleich')
- - "⊇": # 0x2287
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "ist eine"] # (en: 'is a', google translation)
+ - "⊇": # 0x2287
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "ist eine"] # (en: 'is a', google translation)
- T: "obermenge von oder gleich" # (en: 'superset of or equal to', MathPlayer: 'Obermenge von oder gleich', google: 'superset von oder gleich')
-
- # --- restored short definitions that differ from unicode-full ---
- - "–": [T: "halbgeviertstrich"] # 0x2013 (SRE: 'En Dash')
- - "—": [T: "geviertstrich"] # 0x2014 (SRE: 'EM Dash')
- - "―": [T: "horizontale linie"] # 0x2015 (en: 'horizontal bar', MathPlayer: 'horizontal bar', google: 'horizontale linie')
- - "‖": [T: "doppelte senkrechte linie"] # 0x2016 (en: 'double vertical line', MathPlayer: 'double vertical bar', google: 'doppelte vertikale linie')
- - "′": [T: "strich"] # 0x2032 (en: 'prime', MathPlayer: 'strich', google: 'prime')
- - "″": [T: "zwei strich"] # 0x2033 (en: 'double prime', MathPlayer: 'zwei-strich', google: 'double prime')
- - "‴": [T: "drei strich"] # 0x2034 (en: 'triple prime', MathPlayer: 'drei-strich', google: 'triple prime')
- - "℉": [T: "grad fahrenheit"] # 0x2109 (google: 'grad fahrenheit')
- - "ℎ": [T: "planck-konstante"] # 0x210e (en: 'planck constant', MathPlayer: 'planck constant', google: 'planck konstant')
- - "Ω": [T: "ohm"] # 0x2126 (en: 'ohms', MathPlayer: 'ohm sign', google: 'ohm')
- - "K": [T: "kelvin"] # 0x212a (en: 'kelvin', MathPlayer: 'degrees kelvin', google: 'kelvin')
- - "Å": [T: "angström"] # 0x212b (en: 'angstroms', MathPlayer: 'angstroms', google: 'angstrome')
- - "←": [T: "pfeil nach links"] # 0x2190 (en: 'leftwards arrow', MathPlayer: 'leftwards arrow', google: 'pfeil nach links')
- - "↑": [T: "pfeil nach oben"] # 0x2191 (en: 'upwards arrow', MathPlayer: 'upwards arrow', google: 'nach oben pfeil')
- - "↓": [T: "pfeil nach unten"] # 0x2193 (en: 'downwards arrow', MathPlayer: 'downwards arrow', google: 'nach unten pfeil')
- - "⇒": [T: "doppelpfeil nach rechts"] # 0x21d2 (en: 'rightwards double arrow', MathPlayer: 'rightwards double arrow', google: 'richtiger doppelpfeil')
- - "∏": [T: "produkt"] # 0x220f (en: 'product', MathPlayer: 'Product', google: 'produkt')
- - "∐": [T: "koprodukt"] # 0x2210 (en: 'co-product', MathPlayer: 'coproduct', google: 'ko-produkt')
- - "∑": [T: "summe"] # 0x2211 (en: 'sum')
- - "∗": [T: "mal"] # 0x2217 (en: 'times', MathPlayer: 'asterisk operator', google: 'mal')
- - "√": # 0x221a
- - T: "quadratwurzel" # (en: 'square root of', MathPlayer: 'radical', google: 'quadratwurzel von')
- - "∟": [T: "rechter winkel"] # 0x221f (en: 'right angle')
- - "∠": [T: "winkel"] # 0x2220 (en: 'angle')
- - "∡": [T: "gerichteter winkel"] # 0x2221 (en: 'measured angle', MathPlayer: 'measured angle', google: 'gemessener winkel')
- - "∩": [T: "schnitt mit"] # 0x2229 (en: 'intersection') #Problem: Schnittmenge wenn alleinstehend vor Bezeichnung, schnitt wenn zwischen 2 Mengen
- - "∪": [T: "vereinigt mit"] # 0x222a (en: 'union') #Problem: vereinigungsmenge wenn alleinstehend vor Bezeichnung, vereinigt mit wenn zwischen 2 Mengen
- - "∫": [T: "integral"] # 0x222b (en: 'integral')
- - "∬": [T: "doppelintegral"] # 0x222c (en: 'double integral')
- - "∭": [T: "dreifachintegral"] # 0x222d (en: 'triple integral', MathPlayer: 'Dreifaches Integral', google: 'dreifachintegral')
- - "∮": [T: "randintegral"] # 0x222e (en: 'contour integral', MathPlayer: 'Kontur-Integral', google: 'konturintegral')
- - "∷": [T: "proportional"] # 0x2237 (en: 'as')
- - "∼": [T: "tilde"] # 0x223c (en: 'varies with', MathPlayer: 'tilde operator', google: 'variiert mit')
- - "∽": [T: "umgekehrte tilde"] # 0x223d (en: 'reversed tilde', MathPlayer: 'reversed tilde', google: 'umgekehrte tilde')
- - "∿": [T: "sinuswelle"] # 0x223f (en: 'sine wave', MathPlayer: 'sine wave', google: 'sinus')
+
+ # --- restored short definitions that differ from unicode-full ---
+ - "–": [T: "halbgeviertstrich"] # 0x2013 (SRE: 'En Dash')
+ - "—": [T: "geviertstrich"] # 0x2014 (SRE: 'EM Dash')
+ - "―": [T: "horizontale linie"] # 0x2015 (en: 'horizontal bar', MathPlayer: 'horizontal bar', google: 'horizontale linie')
+ - "‖": [T: "doppelte senkrechte linie"] # 0x2016 (en: 'double vertical line', MathPlayer: 'double vertical bar', google: 'doppelte vertikale linie')
+ - "′": [T: "strich"] # 0x2032 (en: 'prime', MathPlayer: 'strich', google: 'prime')
+ - "″": [T: "zwei strich"] # 0x2033 (en: 'double prime', MathPlayer: 'zwei-strich', google: 'double prime')
+ - "‴": [T: "drei strich"] # 0x2034 (en: 'triple prime', MathPlayer: 'drei-strich', google: 'triple prime')
+ - "℉": [T: "grad fahrenheit"] # 0x2109 (google: 'grad fahrenheit')
+ - "ℎ": [T: "planck-konstante"] # 0x210e (en: 'planck constant', MathPlayer: 'planck constant', google: 'planck konstant')
+ - "Ω": [T: "ohm"] # 0x2126 (en: 'ohms', MathPlayer: 'ohm sign', google: 'ohm')
+ - "K": [T: "kelvin"] # 0x212a (en: 'kelvin', MathPlayer: 'degrees kelvin', google: 'kelvin')
+ - "Å": [T: "angström"] # 0x212b (en: 'angstroms', MathPlayer: 'angstroms', google: 'angstrome')
+ - "←": [T: "pfeil nach links"] # 0x2190 (en: 'leftwards arrow', MathPlayer: 'leftwards arrow', google: 'pfeil nach links')
+ - "↑": [T: "pfeil nach oben"] # 0x2191 (en: 'upwards arrow', MathPlayer: 'upwards arrow', google: 'nach oben pfeil')
+ - "↓": [T: "pfeil nach unten"] # 0x2193 (en: 'downwards arrow', MathPlayer: 'downwards arrow', google: 'nach unten pfeil')
+ - "⇒": [T: "doppelpfeil nach rechts"] # 0x21d2 (en: 'rightwards double arrow', MathPlayer: 'rightwards double arrow', google: 'richtiger doppelpfeil')
+ - "∏": [T: "produkt"] # 0x220f (en: 'product', MathPlayer: 'Product', google: 'produkt')
+ - "∐": [T: "koprodukt"] # 0x2210 (en: 'co-product', MathPlayer: 'coproduct', google: 'ko-produkt')
+ - "∑": [T: "summe"] # 0x2211 (en: 'sum')
+ - "∗": [T: "mal"] # 0x2217 (en: 'times', MathPlayer: 'asterisk operator', google: 'mal')
+ - "√": # 0x221a
+ - T: "quadratwurzel" # (en: 'square root of', MathPlayer: 'radical', google: 'quadratwurzel von')
+ - "∟": [T: "rechter winkel"] # 0x221f (en: 'right angle')
+ - "∠": [T: "winkel"] # 0x2220 (en: 'angle')
+ - "∡": [T: "gerichteter winkel"] # 0x2221 (en: 'measured angle', MathPlayer: 'measured angle', google: 'gemessener winkel')
+ - "∩": [T: "schnitt mit"] # 0x2229 (en: 'intersection') #Problem: Schnittmenge wenn alleinstehend vor Bezeichnung, schnitt wenn zwischen 2 Mengen
+ - "∪": [T: "vereinigt mit"] # 0x222a (en: 'union') #Problem: vereinigungsmenge wenn alleinstehend vor Bezeichnung, vereinigt mit wenn zwischen 2 Mengen
+ - "∫": [T: "integral"] # 0x222b (en: 'integral')
+ - "∬": [T: "doppelintegral"] # 0x222c (en: 'double integral')
+ - "∭": [T: "dreifachintegral"] # 0x222d (en: 'triple integral', MathPlayer: 'Dreifaches Integral', google: 'dreifachintegral')
+ - "∮": [T: "randintegral"] # 0x222e (en: 'contour integral', MathPlayer: 'Kontur-Integral', google: 'konturintegral')
+ - "∷": [T: "proportional"] # 0x2237 (en: 'as')
+ - "∼": [T: "tilde"] # 0x223c (en: 'varies with', MathPlayer: 'tilde operator', google: 'variiert mit')
+ - "∽": [T: "umgekehrte tilde"] # 0x223d (en: 'reversed tilde', MathPlayer: 'reversed tilde', google: 'umgekehrte tilde')
+ - "∿": [T: "sinuswelle"] # 0x223f (en: 'sine wave', MathPlayer: 'sine wave', google: 'sinus')
diff --git a/Rules/Languages/el/definitions.yaml b/Rules/Languages/el/definitions.yaml
index d507f0719..d00479d31 100644
--- a/Rules/Languages/el/definitions.yaml
+++ b/Rules/Languages/el/definitions.yaml
@@ -2,33 +2,102 @@
---
- include: "../../definitions.yaml"
-# If an "intent" is used, the 'terse:medium:verbose' speech for the intent name is given here for a prefix||infix||postfix||function fixity
-# If only one ":" is used, the first part is used for 'terse' and the second part is used for 'medium' and 'verbose'
-# If no ":"s are used, the same speech is used for all forms
-# If bracketing words make sense, they are separated with ";"s
-# Intent mappings must specify whether they are "prefix", "infix", "postfix", or "function" with an "=" sign
-# If there are multiple fixities (e.g., see transpose), they are separated with "||"
-# for readability, spaces can be used around any of the delimiter characters
-# Note: if there are multiple fixities, the first one is used if the fixity is not given in the intent
+# IntentMappings Syntax:
+#
+# This section defines how each "intent" is spoken for various grammatical forms (fixities such as "prefix", "infix", "postfix", and "function"),
+# along with supporting different verbosity levels.
+# The syntax is a little bit complicated, but allows a declarative syntax so you don't have to write as many rules.
+#
+# For each intent, you specify spoken forms for one or more fixities using the syntax below.
+#
+# - Each mapping has the form:
+# "": "= || = || ...",
+# Every alternative must name a fixity and use "="; the fixity requested when speaking selects one.
+#
+# - Separate multiple fixities with "||". Spaces are allowed around any delimiter for readability.
+# - Within a speech string, "|" selects the verbosity form:
+# - one "|" (two forms): the first is 'terse', the second is used for 'medium' and 'verbose'
+# - two "|" (three forms): 'terse', 'medium', 'verbose', in that order
+# - no "|": the same spoken form is used for all verbosity levels
+#
+# - Use semicolons ";" to divide opening; main; closing bracketing words within the name part,
+# where such words make sense (a name with no ";" is just the main phrase).
+# - If an intent has multiple fixities but a definition does not specify one, the first fixity listed is chosen by default.
+#
+# Functions and argument glue (the part after the name):
+# - ":" separates the name/bracketing phrase from the argument-glue options that follow it.
+# - Arity template (two or more ":" options, or one option with ','-separated glue words): the
+# number of glue words implies the arity, and the final argument is preceded by "of".
+# Example: "sum: over: from,to"
+# - 1 arg: "sum of x"
+# - 2 args: "sum over i of x"
+# - 3 args: "sum from i to n of x"
+# If no option matches the argument count, the arguments are separated with "comma".
+# - Binary separator (exactly one ":" option, no commas in it): after "of", that word joins the two args.
+# Example: "quotient": "function=integer part: divided by" → "integer part of x divided by y"
+# If there are not exactly two args, the arguments fall back to "comma".
+# - Paired "ratio-style" (" : | : | ..."): used when every "|"-separated
+# piece is a single "name : glue" pair. Verbosity selects one pair, whose glue is the binary
+# separator described above. Example: "ratio": "function=ratio : to | the ratio : to | the ratio : to"
+#
+# Conceptual grammar (with precedence):
+#
+# IntentMappingsEntry ::= ":" # ":" is the YAML key/value separator
+#
+# ::= ( "||" )*
+#
+# ::= "="
+#
+# ::= "prefix" | "infix" | "postfix" | "function" | "nofix" | "silent"
+#
+# ::= |
+#
+# # Standard form: a name/bracketing part, then ":"-separated argument-glue options.
+# ::= ( ":" )*
+#
+# ::= [ ";" ";" ] # 1 part: name; 3 parts: opening; main; closing
+#
+# ::= [ "|" [ "|" ] ] # terse | medium | verbose
+#
+# ::= # a single glue word, or ","-separated arity words
+#
+# # Paired "ratio-style" form: recognized only when every "|" piece is a single "name : glue" pair.
+# ::= ( "|" )+
+#
+# ::= ":" # the glue contains no ":"
+#
+# ::= text
+#
+# Precedence depends on the form:
+# - Standard: split on ":" first (name vs. argument-glue options), then split each piece on "|"
+# for terse|medium|verbose, and split only the name part on ";" for opening; main; closing.
+# - Paired: split on "|" first into "name : glue" pairs, then verbosity selects one pair.
+#
+# Example:
+# "absolute-value": "function= ; absolute value| the absolute value| the absolute value; end absolute value"
+# "sum": "function=sum: over: from,to"
+# "quotient": "function=integer part: divided by"
+# "ratio": "function=ratio : to | the ratio : to | the ratio : to" # verbosity of name:glue pairs
+#
- IntentMappings: {
- "indexed-by": "infix= ; δείκτης; τέλος δείκτη: τέλος δείκτη: τέλος δείκτη",
+ "indexed-by": "infix= ; δείκτης; τέλος δείκτη| τέλος δείκτη| τέλος δείκτη",
"modified-variable": "silent= ",
- "say-super": "infix= εις την: εκθέτης: εκθέτης", # used with 'mo' for superscripts (e.g, "<")
+ "say-super": "infix= εις την| εκθέτης| εκθέτης", # used with 'mo' for superscripts (e.g, "<")
"skip-super": "silent=", # used with 'mo' for superscripts (e.g, "*")
- "absolute-value": "function= ; απόλυτη τιμή: η απόλυτη τιμή: η απόλυτη τιμή; τέλος απόλυτης τιμής",
+ "absolute-value": "function= ; απόλυτη τιμή| η απόλυτη τιμή| η απόλυτη τιμή; τέλος απόλυτης τιμής",
"binomial": "infix=διωνυμικό; ανά; τέλος διωνυμικού", #theodora. ανἀ = chooce in english. check
"dimension-product": "infix=επί",
# "closed-interval": "other=closed-interval; from,to; end closed-interval",
- "greatest-common-divisor": "function=μκδ: ο μκδ: ο μέγιστος κοινός διαιρέτης", # theodora. check how μκδ and εκπ sounds
+ "greatest-common-divisor": "function=μκδ| ο μκδ| ο μέγιστος κοινός διαιρέτης", # theodora. check how μκδ and εκπ sounds
"imaginary-part": "function=φανταστικό μέρος, το φανταστικό μέρος, το φανταστικό μέρος",
- "least-common-multiple": "function=εκπ:το εκπ:το ελάχιστο κοινό πολλαπλάσιο",
+ "least-common-multiple": "function=εκπ|το εκπ|το ελάχιστο κοινό πολλαπλάσιο",
# "large-op": "infix=over || other=from,to",
- "limit": "prefix=όριο όταν: το όριο όταν: το όριο όταν",
- "lim-sup": "prefix=ανώτατο όριο όταν: το ανώτατο όριο όταν: το ανώτατο όριο όταν", #theodora. check "όταν " english: as
- "lim-inf": "prefix=κατώτατο όριο όταν: το κατώτατο όριο όταν : το κατώτατο όριο όταν",
- "logarithm-with-base": "prefix=ο λογάριθμος με βάση: ο λογάριθμος με βάση: ο λογάριθμος με βάση",
- "natural-logarithm": "function=l n: φυσικός λογάριθμος: φυσικός λογάριθμος",
+ "limit": "prefix=όριο όταν| το όριο όταν| το όριο όταν",
+ "lim-sup": "prefix=ανώτατο όριο όταν| το ανώτατο όριο όταν| το ανώτατο όριο όταν", #theodora. check "όταν " english: as
+ "lim-inf": "prefix=κατώτατο όριο όταν| το κατώτατο όριο όταν | το κατώτατο όριο όταν",
+ "logarithm-with-base": "prefix=ο λογάριθμος με βάση| ο λογάριθμος με βάση| ο λογάριθμος με βάση",
+ "natural-logarithm": "function=l n| φυσικός λογάριθμος| φυσικός λογάριθμος",
"minus": "infix=μείον || prefix=μείον",
"plus": "infix=συν || prefix=συν",
# check. prefix = negative prefix = positive in english. not always appropriate/unatural for greek
@@ -37,21 +106,21 @@
"transpose": "postfix=ανάστροφος || function=ανάστροφος",
"magnitude": "postfix=νόρμα || function=νόρμα", #theodora. added the magnitude, was read in english otherwise. Check if "διπλή κάθετος" is more appropriate
- "norm": "function=; νόρμα: νόρμα: νόρμα; τέλος νόρμας",
- "trace": "function=;ίχνος : ίχνος: το ίχνος; τέλος ίχνους",
- "dimension": "function=; διάσταση : διάσταση: η διάσταση; τέλος διάστασης",
- "homomorphism": "function= ; ομομορφισμός : ομομορφισμός: ο ομομορφισμός; τέλος ομομορφισμού",
- "kernel": "function= ; πυρήνας : πυρήνας: ο πυρήνας; τέλος πυρήνα",
+ "norm": "function=; νόρμα| νόρμα| νόρμα; τέλος νόρμας",
+ "trace": "function=;ίχνος | ίχνος| το ίχνος; τέλος ίχνους",
+ "dimension": "function=; διάσταση | διάσταση| η διάσταση; τέλος διάστασης",
+ "homomorphism": "function= ; ομομορφισμός | ομομορφισμός| ο ομομορφισμός; τέλος ομομορφισμού",
+ "kernel": "function= ; πυρήνας | πυρήνας| ο πυρήνας; τέλος πυρήνα",
"vector": "function= ; διάνυσμα || prefix=διάνυσμα",
"cross-product": "infix=διανυσματικό γινόμενο", # theodora. check το είχε έτσι "infix=cross: διανυσματικό γινόμενο: διανυσματικό γινόμενο",
- "dot-product": "infix=τελεία: εσωτερικό γινόμενο: τελεία: εσωτερικό γινόμενο", #theodora. check. είναι ολα εσωτερικό γινόμενο ή πιάνει κι άλλα οπότε θέλει πιο γενικό όρο;
+ "dot-product": "infix=τελεία| εσωτερικό γινόμενο| τελεία| εσωτερικό γινόμενο", #theodora. check. είναι ολα εσωτερικό γινόμενο ή πιάνει κι άλλα οπότε θέλει πιο γενικό όρο;
- "divergence": "function= ; απόκλιση: απόκλιση: απόκλιση; τέλος απόκλισης",
+ "divergence": "function= ; απόκλιση| απόκλιση| απόκλιση; τέλος απόκλισης",
"curl": "function= ; στροβιλισμός; τέλος στροβιλισμού",
- "gradient": "function= ; ανάδελτα: ανάδελτα: ανάδελτα; τέλος ανάδελτα",
+ "gradient": "function= ; ανάδελτα| ανάδελτα| ανάδελτα; τέλος ανάδελτα",
"laplacian": "function=λαπλασιανή", # speech engines don't do a good job with "laplacian"
- "chemistry-concentration": "function= ; συγκέντρωση: η συγκέντρωση του: η συγκέντρωση του; τέλος συγκέντρωσης",
+ "chemistry-concentration": "function= ; συγκέντρωση| η συγκέντρωση του| η συγκέντρωση του; τέλος συγκέντρωσης",
}
# Names of functions that in terse mode don't say "of" (or it's equivalent in other languages)
diff --git a/Rules/Languages/en/definitions.yaml b/Rules/Languages/en/definitions.yaml
index bd3931549..fc18be07f 100644
--- a/Rules/Languages/en/definitions.yaml
+++ b/Rules/Languages/en/definitions.yaml
@@ -11,60 +11,72 @@
#
# - Each mapping has the form:
# "": "= || = || ...",
-# or just
-# "": "",
-# where is used for all forms if fixity and '=' are omitted.
+# Every alternative must name a fixity and use "="; the fixity requested when speaking selects one.
#
-# - If an intent has multiple fixities, separate them with "||". Spaces are allowed around delimiters for readability.
-# - If only one ":" is present in **, it provides the 'terse' form, and the following string is used for both 'medium' and 'verbose'.
-# - If more than one ":" is present, the string is split into 'terse', 'medium', and 'verbose' forms, in that order (each separated by ":").
-# - If no ":" is present, the same spoken form is used for all styles.
+# - Separate multiple fixities with "||". Spaces are allowed around any delimiter for readability.
+# - Within a speech string, "|" selects the verbosity form:
+# - one "|" (two forms): the first is 'terse', the second is used for 'medium' and 'verbose'
+# - two "|" (three forms): 'terse', 'medium', 'verbose', in that order
+# - no "|": the same spoken form is used for all verbosity levels
#
-# - Use semicolons ";" to divide opening, main, and closing bracketing words within a speech string, where such words make sense.
+# - Use semicolons ";" to divide opening; main; closing bracketing words within the name part,
+# where such words make sense (a name with no ";" is just the main phrase).
# - If an intent has multiple fixities but a definition does not specify one, the first fixity listed is chosen by default.
#
-# Functions and argument glue:
-# - The "|" character delimits options describing how to glue arguments together when speaking function arguments.
-# - Arity templates (multiple "|" options, or one option with ','-separated glue words): glue-word count
-# implies arity; the final argument is preceded by "of". Example: "sum | over | from,to"
+# Functions and argument glue (the part after the name):
+# - ":" separates the name/bracketing phrase from the argument-glue options that follow it.
+# - Arity template (two or more ":" options, or one option with ','-separated glue words): the
+# number of glue words implies the arity, and the final argument is preceded by "of".
+# Example: "sum: over: from,to"
# - 1 arg: "sum of x"
# - 2 args: "sum over i of x"
# - 3 args: "sum from i to n of x"
-# If no option matches the argument count, separators fall back to "comma".
-# - Binary separator (exactly one "|" option, no commas in it): after "of", that word joins the two args.
-# Example: "quotient": "function=integer part | divided by" → "integer part of x divided by y"
-# If there are not exactly two args, separators fall back to "comma" (no real n-ary use of these words).
+# If no option matches the argument count, the arguments are separated with "comma".
+# - Binary separator (exactly one ":" option, no commas in it): after "of", that word joins the two args.
+# Example: "quotient": "function=integer part: divided by" → "integer part of x divided by y"
+# If there are not exactly two args, the arguments fall back to "comma".
+# - Paired "ratio-style" (" : | : | ..."): used when every "|"-separated
+# piece is a single "name : glue" pair. Verbosity selects one pair, whose glue is the binary
+# separator described above. Example: "ratio": "function=ratio : to | the ratio : to | the ratio : to"
#
-# BNF-like description:
+# Conceptual grammar (with precedence):
#
-# IntentMappingsEntry ::= ":"
+# IntentMappingsEntry ::= ":" # ":" is the YAML key/value separator
#
# ::= ( "||" )*
-# |
#
-# ::= "="
+# ::= "="
#
# ::= "prefix" | "infix" | "postfix" | "function" | "nofix" | "silent"
#
-# ::=
-# | "|" ( "|" )*
+# ::= |
#
-# ::= text
-# # May use ":" to separate terse:medium:verbose forms.
-# # May use ";" for bracketing (opening; main; closing).
+# # Standard form: a name/bracketing part, then ":"-separated argument-glue options.
+# ::= ( ":" )*
#
-# ::= text
-# # One option, no commas: binary separator after "of" (e.g. "divided by").
-# # One option with "," or several "|" options: arity templates
-# # (glue-word count = arg_count - 1; last arg preceded by "of").
-# # Unmatched arity (or binary glue with ≠2 args): fall back to "comma".
+# ::= [ ";" ";" ] # 1 part: name; 3 parts: opening; main; closing
#
-# ::= (applies to all fixities)
+# ::= [ "|" [ "|" ] ] # terse | medium | verbose
+#
+# ::= # a single glue word, or ","-separated arity words
+#
+# # Paired "ratio-style" form: recognized only when every "|" piece is a single "name : glue" pair.
+# ::= ( "|" )+
+#
+# ::= ":" # the glue contains no ":"
+#
+# ::= text
+#
+# Precedence depends on the form:
+# - Standard: split on ":" first (name vs. argument-glue options), then split each piece on "|"
+# for terse|medium|verbose, and split only the name part on ";" for opening; main; closing.
+# - Paired: split on "|" first into "name : glue" pairs, then verbosity selects one pair.
#
# Example:
-# "absolute-value": "function= ; absolute value: the absolute value: the absolute value; end absolute value"
-# "sum": "function=sum | over | from,to"
-# "quotient": "function=integer part | divided by"
+# "absolute-value": "function= ; absolute value| the absolute value| the absolute value; end absolute value"
+# "sum": "function=sum: over: from,to"
+# "quotient": "function=integer part: divided by"
+# "ratio": "function=ratio : to | the ratio : to | the ratio : to" # verbosity of name:glue pairs
#
- IntentMappings: {
"binomial": "infix=binomial; choose; end binomial",
@@ -79,9 +91,9 @@
"image":"function=image",
#"fraction":"function=fraction; over; end fraction", # NOTE: Fails
"mixed-fraction":"infix=and", # NOTE: in website says function, but follow infix speech pattern.
- "quotient":"function=integer part | divided by",
+ "quotient":"function=integer part: divided by",
"evaluated-at":"infix=evaluated at",
- "remainder":"function=the remainder | divided by",
+ "remainder":"function=the remainder: divided by",
"max":"function=max",
"min":"function=min",
@@ -89,14 +101,14 @@
"power":"infix=to the power",
"root":"function=root",
- "greatest-common-divisor": "function=gcd: the gcd: the greatest common divisor",
- "least-common-multiple":"function=lcm: the lcm: the least common multiple", # In webpage typo "lest common"
+ "greatest-common-divisor": "function=gcd| the gcd| the greatest common divisor",
+ "least-common-multiple":"function=lcm| the lcm| the least common multiple", # In webpage typo "lest common"
- "absolute-value": "function= ; absolute value: the absolute value: the absolute value; end absolute value",
+ "absolute-value": "function= ; absolute value| the absolute value| the absolute value; end absolute value",
"complex-conjugate":"function=complex conjugate",
"complex-arg":"function=arg",
"real-part": "function=the real part",
- "imaginary-part": "function=imaginary part: the imaginary part: the imaginary part",
+ "imaginary-part": "function=imaginary part| the imaginary part| the imaginary part",
"polar-coordinate":"function=polar coordinate",
"spherical-coordinate":"function=spherical coordinate",
@@ -113,34 +125,34 @@
# "derivative":"function=the derivative; with respect to", # Property ???
# "partial-derivative":"function=partial", ## Note, included with infix, but separately under calculus tab has ??? for functionality
- "limit": "prefix=limit as:the limit as",
+ "limit": "prefix=limit as|the limit as",
"tends-to":"infix=tends to",
"tends-to-from-above":"infix=tends to from above",
"tends-to-from-below":"infix=tends to from below",
### Sets
- "set": "function= ; set: the set",
- "set-difference":"function=set difference | and || infix=minus",
+ "set": "function= ; set| the set",
+ "set-difference":"function=set difference: and || infix=minus",
"complement":"function=complement",
"empty-set":"nofix=empty set",
"cardinality":"function=cardinality", # NOTE: does not have a defined speech template in website
"list":"function=list",
- "tuple": "function= ; tuple: the tuple",
+ "tuple": "function= ; tuple| the tuple",
### Sequence and Series
- "sum": "function=sum | over | from,to",
- "product": "function=product | over | from,to",
+ "sum": "function=sum: over: from,to",
+ "product": "function=product: over: from,to",
### Elementary classical functions
- "sine":"function=sin: sine",
- "cosine":"function=cos: cosine",
- "tangent":"function=tan: tangent",
- "secant":"function=seech: secant",
- "cosecant":"function=co-seech: cosecant",
- "cotangent":"function=co-tan: cotangent",
+ "sine":"function=sin | sine",
+ "cosine":"function=cos | cosine",
+ "tangent":"function=tan | tangent",
+ "secant":"function=seech | secant",
+ "cosecant":"function=co-seech | cosecant",
+ "cotangent":"function=co-tan | cotangent",
"arcsine":"function=arcsine",
"arccosine":"function=arccosine",
@@ -164,7 +176,7 @@
"arc-hyperbolic-cotangent":"function=arc coth",
"exponential":"function=exponential",
- "natural-logarithm": "function=l n: natural log: natural log",
+ "natural-logarithm": "function=l n| natural log| natural log",
"logarithm":"function=log", ##Check arity 2
@@ -175,7 +187,7 @@
"median":"function=median",
"mode":"function=mode",
- "conditional-probability":"function=probability | given",
+ "conditional-probability":"function=probability: given",
### Linear Algebra
@@ -184,7 +196,7 @@
"determinant":"function=determinant",
"adjugate":"function=adjugate",
"magnitude":"function=magnitude",
- "norm": "function=; norm: norm: norm; end norm",
+ "norm": "function=; norm| norm| norm; end norm",
"span":"function=span",
"unit-vector":"prefix=unit vector",
@@ -195,12 +207,12 @@
### Constants and Sets
- "set-of-integers":"nofix=ℤ: set of all integers",
- "set-of-reals":"nofix=ℝ: set of all real numbers",
- "set-of-rationals":"nofix=ℚ: set of all rational numbers",
- "set-of-natural-numbers":"nofix=ℕ: set of all natural numbers",
- "set-of-complex-numbers":"nofix=ℂ: set of all complex numbers",
- "set-of-primes":"nofix=ℙ: set of all prime numbers",
+ "set-of-integers":"nofix=ℤ| set of all integers",
+ "set-of-reals":"nofix=ℝ| set of all real numbers",
+ "set-of-rationals":"nofix=ℚ| set of all rational numbers",
+ "set-of-natural-numbers":"nofix=ℕ| set of all natural numbers",
+ "set-of-complex-numbers":"nofix=ℂ| set of all complex numbers",
+ "set-of-primes":"nofix=ℙ| set of all prime numbers",
### Geometry
@@ -221,9 +233,9 @@
### General Concepts
"fenced-group":"function=fenced-group", # appears both under general concepts and grouping
# NOTE: in site mentions "the pair x and y", due to being defined as function, needs the "of" keyword
- "ordered-pair": "function=the pair | and", # Needs to be tested
+ "ordered-pair": "function=the pair: and", # Needs to be tested
# Simple last arg: "x sub k". Complex: "… end sub" (terse/medium) / "end subscript" (verbose) via infix-intent.
- "indexed-by": "infix= ; sub; end sub: end sub: end subscript",
+ "indexed-by": "infix= ; sub; end sub| end sub| end subscript",
"highlight":"postfix=highlighted",
"least-common-denominator":"function=least common denominator",
@@ -245,8 +257,8 @@
### Other
## Default fixity function
"curl": "function=curl",
- "divergence": "function=div:divergence",
- "gradient": "function=del:gradient",
+ "divergence": "function=div|divergence",
+ "gradient": "function=del|gradient",
"laplacian": "function=laplacian",
## Default fixity prefix
@@ -271,7 +283,7 @@
"congruent": "infix=congruent to",
"cartesian-product": "infix=cartesian product",
"composed-with": "infix=composed with",
- "cross-product": "infix=cross: cross product: cross product",
+ "cross-product": "infix=cross| cross product| cross product",
"defined-as": "infix=defined as",
"divided-by": "infix=divided by",
"divides": "infix=divides",
@@ -315,7 +327,7 @@
"precedes": "infix=precedes",
"proportional": "infix=proportional to",
"range-separator": "infix=through",
- "ratio": "infix=ratio",
+ "ratio": "function=ratio : to | the ratio : to",
"similar": "infix=similar to",
"subset": "infix=subset of",
"subset-or-equal": "infix=subset or equal to",
@@ -335,11 +347,11 @@
"percent": "postfix=percent",
## Default fixity nofix
- "diameter":"nofix=d: diameter",
- "distance":"nofix=d; D: distance",
- "probability":"nofix=P: probability || function=probability",
- "radius":"nofix=r: radius",
- "volume":"nofix=V: volume || function=volume",
+ "diameter":"nofix=d| diameter",
+ "distance":"nofix=d; D| distance",
+ "probability":"nofix=P| probability || function=probability",
+ "radius":"nofix=r| radius",
+ "volume":"nofix=V| volume || function=volume",
"exponential-e":"nofix=e",
"imaginary-i":"nofix=i",
"differential-d":"nofix=d",
@@ -348,19 +360,19 @@
## Other : Not tested, don't appear in https://w3c.github.io/mathml-docs/intent-core-concepts/
"modified-variable": "silent= ",
- "say-super": "infix=super: superscript: superscript", # used with 'mo' for superscripts (e.g, "<")
+ "say-super": "infix=super| superscript| superscript", # used with 'mo' for superscripts (e.g, "<")
"skip-super": "silent=", # used with 'mo' for superscripts (e.g, "*")
# "large-op": "infix=over || other=from,to",
- "lim-sup": "prefix=lim sup as: the limit superior as: the limit superior as",
- "lim-inf": "prefix=lim inf as: the limit inferior as : the limit inferior as",
- "logarithm-with-base": "prefix=log base: the log base: the log base",
+ "lim-sup": "prefix=lim sup as| the limit superior as| the limit superior as",
+ "lim-inf": "prefix=lim inf as| the limit inferior as| the limit inferior as",
+ "logarithm-with-base": "prefix=log base| the log base| the log base",
# "pochhammer": "infix=permutations of", # arguments are in reverse order, so can't work here
- "trace": "function= ; trace : trace: the trace; end trace",
- "dimension": "function=; dimension : dimension: the dimension; end dimension",
- "homomorphism": "function= ; homomorphism : homomorphism: the homomorphism; end homomorphism",
- "kernel": "function= ; kernel : kernel: the kernel; end kernel",
+ "trace": "function= ; trace| trace| the trace; end trace",
+ "dimension": "function=; dimension| dimension| the dimension; end dimension",
+ "homomorphism": "function= ; homomorphism| homomorphism| the homomorphism; end homomorphism",
+ "kernel": "function= ; kernel| kernel| the kernel; end kernel",
- "chemistry-concentration": "function= ; concentration: concentration of: the concentration of; end concentration",
+ "chemistry-concentration": "function= ; concentration| concentration of| the concentration of; end concentration",
}
# The connector word to say for functional 'IntentMappings' (in English, "of")
@@ -370,7 +382,7 @@
# Names of functions that in terse mode don't say "of" (or it's equivalent in other languages)
- TerseFunctionNames: {
- "divergence", "del:gradient", "curl"
+ "divergence", "del|gradient", "curl"
}
- NavigationParts: {
diff --git a/Rules/Languages/en/unicode.yaml b/Rules/Languages/en/unicode.yaml
index 0a6b6b3b8..f9b39fb2e 100644
--- a/Rules/Languages/en/unicode.yaml
+++ b/Rules/Languages/en/unicode.yaml
@@ -1,534 +1,534 @@
----
- # Note to translators:
- # most languages don't have two ways to pronounce 'a' -- if not need, remove the rules and change "B-Z" to "A-Z"
- # some languages say the word for "uppercase" after the letter. Make sure to change that where appropriate by moving some code around
- - "a":
- - test:
- if: "$TTS='none'"
- then: [t: "eigh"] # long "a" sound in all speech engines I tested (espeak, MS SAPI, eloquence,
- else: [spell: "'a'"] # AWS Polly, ReadSpeaker, NaturalReader, google cloud, nuance, ibm watson)
- - "b-z":
- - test:
- if: "$TTS='none'"
- then: [t: "."]
- else: [spell: "'.'"]
-
- # Capital letters are a little tricky: users can pick their favorite word (something that was requested) and
- # screen readers have options to use pitch changes or beeps instead of or in addition to say "cap"
- # Also, if a user can see the screen, they probably don't need to hear "cap", but if they specified an override, they must want to hear the override.
-
- - "A":
- - 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: "cap"]
- else: [x: "$SpeechOverrides_CapitalLetters"]
- - pitch:
- value: "$CapitalLetters_Pitch"
- replace:
- - test:
- if: "$TTS='none'"
- then: [t: "eigh"]
- else: [spell: "'a'"]
-
- - "B-Z":
- - 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: "cap"]
- else: [x: "$SpeechOverrides_CapitalLetters"]
- - pitch:
- value: "$CapitalLetters_Pitch"
- # note: processing of ranges converts '.' into the character, so it needs to be in quotes below
- replace: [spell: "translate('.', 'BCDEFGHIJKLMNOPQRSTUVWXYZ', 'bcdefghijklmnopqrstuvwxyz')"]
-
- - "0-9": [t: "."]
-
- - " ": [t: " "] # 0x20
-
- - "!": # 0x21
- - test:
- if: "ancestor-or-self::*[contains(@data-intent-property, ':literal:')]"
- then_test:
- if: "$Verbosity = 'Terse'"
- then: [t: "bang"] # 0x21
- else: [t: "exclamation point"] # 0x21
- else: [t: "factorial"] # 0x21
-
- - "\"": [t: "quotation mark"] # 0x22
- - "#": [t: "number"] # 0x23
- - "$": [t: "dollars"] # 0x24
- - "%": [t: "percent"] # 0x25
- - "&": [t: "ampersand"] # 0x26
- - "'": [t: "apostrophe"] # 0x27
- - "(": # 0x28
- - test:
- if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
- then_test:
- if: "$Verbosity='Terse'"
- then: [t: "open"] # 0x28
- else: [t: "open paren"] # 0x28
- else: [t: "left paren"] # 0x28
- - ")": # 0x29
- - test:
- if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
- then_test:
- if: "$Verbosity='Terse'"
- then: [t: "close"] # 0x29
- else: [t: "close paren"] # 0x29
- else: [t: "right paren"] # 0x29
-
- - "*": # 0x2a
- test:
- if: "parent::*[name(.)='msup' or name(.)='msubsup' or name(.)='skip-super']"
- then: [t: "star"] # 0x2a
- else: [t: "times"] # 0x2a
- - "+": [t: "plus"] # 0x2b
- - ",": # 0x2c
- # the following deals with the interaction of "," with "…" which sometimes wants the ',' to be silent
- # that this test is here and not with "…" is not ideal, but seems simplest
- test:
- if:
- - "$SpeechStyle != 'ClearSpeak' or $ClearSpeak_Ellipses = 'Auto' or "
- # must be ClearSpeak and $ClearSpeak_Ellipses = 'AndSoOn'
- # speak "comma" when not adjacent to '…'
- - "( following-sibling::*[1][text()!= '…'] and preceding-sibling::*[1][text()!='…'] ) or "
- # except if expression starts with '…'
- - "../*[1][.='…'] "
- then:
- - T: "comma" # (en: 'comma', google translation)
- - test:
- if: "$Verbosity != Terse"
- then: [pause: short]
- # else silent
-
- - "-": [t: "minus"] # 0x2d
- - ".": # 0x2e
- - test:
- if: "parent::*[1][self::m:mn]"
- then: [t: "point"]
- else: [t: "dot"]
- - "/": # 0x2f
- - test:
- if: "ancestor-or-self::*[contains(@data-intent-property, ':literal:')]"
- then: [t: "slash"] # 0x2f
- else: [t: "divided by"] # 0x2f
-
- - ":": [t: "colon"] # 0x3a
- - ";": [t: "semicolon"] # 0x3b
- - "<": # 0x3c
- - test:
- if: "$Verbosity!='Terse'"
- then: [t: "is"]
- - t: "less than"
- - "=": # 0x3d
- - test:
- if: "$Verbosity!='Terse'"
- then: [t: "is equal to"]
- else: [t: "equals"]
-
- - ">": # 0x3e
- - test:
- if: "$Verbosity!='Terse'"
- then: [t: "is"]
- - t: "greater than"
- - "?": [t: "question mark"] # 0x3f
- - "@": [t: "at sign"] # 0x40
- - "[": # 0x5b
- - test:
- if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
- then: [t: "open bracket"]
- else: [t: "left bracket"]
- - "\\": [t: "back slash"] # 0x5c
- - "]": # 0x5d
- - test:
- if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
- then: [t: "close bracket"]
- else: [t: "right bracket"]
- - "^": # 0x5e
- - test:
- if: "parent::m:modified-variable or parent::m:mover"
- then: [t: "hat"]
- else: [t: "caret"]
- - "_": [t: "under bar"] # 0x5f
- - "`": [t: "grave"] # 0x60
- - "{": # 0x7b
- - test:
- if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
- then: [t: "open brace"]
- else: [t: "left brace"]
- - "|": # 0x7c
- # 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)
- replace:
- - test:
- - if: "ancestor-or-self::*[contains(@data-intent-property, ':literal:')]"
- then: [t: "vertical line"]
- - else_if: "$SpeechStyle != 'ClearSpeak'"
- then_test:
- - if: "$DefaultToGiven"
- then: [t: "given"]
- - else_if: "preceding-sibling::*[1][self::m:mn and not(contains(., $DecimalSeparators))] and
- following-sibling::*[1][self::m:mn and not(contains(., $DecimalSeparators))]"
- then: [t: "divides"]
- else: [t: "vertical line"]
- - else_if: "not(preceding-sibling::*) or not(following-sibling::*)"
- then: [t: "vertical line"]
- - else_if: "$ClearSpeak_VerticalLine = 'SuchThat'"
- then: [t: "such that"]
- - else_if: "$ClearSpeak_VerticalLine = 'Given' or $DefaultToGiven"
- then: [t: "given"]
- - else: [t: "divides"]
-
- - "}": # 0x7d
- - test:
- if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
- then: [t: "close brace"]
- else: [t: "right brace"]
-
- - "~": [t: "tilde"] # 0x7e
- - " ": # 0xa0
- - test:
- # could be mtext in mtd or mtext in an mrow that is a concatenation of mtd's. Is there a better solution?
- if: "@data-empty-in-2D and not(ancestor::*[self::m:piecewise or self::m:system-of-equations or self::m:lines])"
- then: [t: "empty"] # want to say something for fraction (etc) with empty child
- else: [t: ""]
-
- - "¬": [t: "not"] # 0xac
- - "°": [t: "degrees"] # 0xb0
- - "±": [t: "plus or minus"] # 0xb1
- - "´": [t: "acute"] # 0xb4
- - "·": # 0xB7
- - test:
- if: "ancestor-or-self::*[contains(@data-intent-property, ':literal:')] or not($SpeechStyle = 'ClearSpeak' and $ClearSpeak_MultSymbolDot = 'Auto')"
- then: [t: "dot"]
- else: [t: "times"]
- - "×": # 0xd7
- - test:
- if: "$SpeechStyle = 'ClearSpeak'"
- then_test:
- - if: "$ClearSpeak_MultSymbolX = 'Auto'"
- then: [t: "times"]
- - else_if: "$ClearSpeak_MultSymbolX = 'By'"
- then: [t: "by"]
- else: [t: "cross"]
- else_test:
- if: "ancestor-or-self::*[contains(@data-intent-property, ':literal:')]"
- then: [t: "cross"]
- else: [t: "times"]
-
- - "÷": [t: "divided by"] # 0xf7
- - "̀": [t: "grave accent embellishment"] # 0x300
- - "́": [t: "acute accent embellishment"] # 0x301
- - "̂": [t: "circumflex accent embellishment"] # 0x302
- - "̃": [t: "tilde embellishment"] # 0x303
- - "̄": [t: "macron embellishment"] # 0x304
- - "̅": [t: "overbar embellishment"] # 0x305
- - "̆": [t: "breve"] # 0x306
- - "̇": [t: "dot above embellishment"] # 0x307
-
- # Note: ClearSpeak has pref TriangleSymbol for "Δ", but that is wrong
- - "Α-Ω":
- - 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: "cap"]
- else: [x: "$SpeechOverrides_CapitalLetters"]
- - pitch:
- value: "$CapitalLetters_Pitch"
- # note: processing of ranges converts '.' into the character, so it needs to be in quotes below
- replace: [spell: "translate('.', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ', 'αβγδεζηθικλμνξοπρςστυφχψω')"]
-
- - "α": [t: "alpha"] # 0x3b1
- - "β": [t: "beta"] # 0x3b2
- - "γ": [t: "gamma"] # 0x3b3
- - "δ": [t: "delta"] # 0x3b4
- - "ε": [t: "epsilon"] # 0x3b5
- - "ζ": [t: "zeta"] # 0x3b6
- - "η": [t: "eta"] # 0x3b7
- - "θ": [t: "theta"] # 0x3b8
- - "ι": [t: "iota"] # 0x3b9
- - "κ": [t: "kappa"] # 0x3ba
- - "λ": [t: "lambda"] # 0x3bb
- - "μ": [t: "mu"] # 0x3bc
- - "ν": [t: "nu"] # 0x3bd
- - "ξ": [t: "zai"] # 0x3be
- - "ο": [t: "omicron"] # 0x3bf
- - "π": [t: "pi"] # 0x3c0
- - "ρ": [t: "rho"] # 0x3c1
- - "ς": [t: "final sigma"] # 0x3c2
- - "σ": [t: "sigma"] # 0x3c3
- - "τ": [t: "tau"] # 0x3c4
- - "υ": [t: "upsilon"] # 0x3c5
- - "φ": [t: "phi"] # 0x3c6
- - "χ": [t: "chi"] # 0x3c7
- - "ψ": [t: "psi"] # 0x3c8
- - "ω": [t: "omega"] # 0x3c9
- - "ϕ": [t: "phi"] # 0x3d5
- - "ϖ": [t: "pi"] # 0x3d6
- - "ϵ": [t: "epsilon"] # 0x3f5
- - "϶": [t: "reversed epsilon"] # 0x3f6
-
- - "": # 0x2061
- - test:
- # skip saying "of" when Terse and a trig function, when it is a shape (does this happen?), or we are in :literal mode
- if: "not(
- ( $Verbosity='Terse' or ($SpeechStyle = 'ClearSpeak' and IsNode(following-sibling::*[1],'simple')) and
- preceding-sibling::*[1][IfThenElse($SpeechStyle='ClearSpeak',
- IsInDefinition(., 'ClearSpeakTrigFunctionNames'),
- IsInDefinition(., 'TrigFunctionNames') )]
- ) or
- preceding-sibling::*[1][IsInDefinition(., 'GeometryShapes')] or
- (@data-changed='added' and ancestor-or-self::*[contains(@data-intent-property, ':literal:')])
- )"
- then: [t: "of"]
- - "": [t: ""] # 0x2062
- - "": [t: ""] # 0x2063
- - "": [t: "and"] # 0x2064
- - "ℂℕℚℝℤ": # here we rely on this running through the table again to speak "cap xxx"
- - t: "double-struck"
- - spell: "translate('.', 'ℂℕℚℝℤ', 'CNQRZ')"
-
- - "℃": [t: "degrees celsius"] # 0x2103
- - "ℋℛℓ": # 0x210b
- - t: "script"
- - spell: "translate('.', 'ℋℛℓ', 'HRl')"
- - "ℜ": # 0x211c
- - t: "fraktur"
- - spell: "'R'"
-
- - "ⅆⅇⅈⅉ": # 0x2146-9
- - t: "double-struck italic"
- - spell: "translate('.', 'ⅆⅇⅈⅉ', 'deij')"
-
- - "←": [t: "left arrow"] # 0x2190
- - "↑": [t: "up arrow"] # 0x2191
- - "→": # 0x2192
- - test:
- if: "ancestor::*[2][self::m:limit]"
- then: [t: "approaches"]
- else: [t: "right arrow"]
-
- - "↓": [t: "down arrow"] # 0x2193
- - "∈": # 0x2208
- - test:
- if: "$SpeechStyle != 'ClearSpeak'"
- then:
- - test:
- if: "$Verbosity!='Terse' and not(ancestor::*[self::m:set])" # "the set x is an element of ..." sounds bad"
- then: [t: "is"]
- - t: "an element of"
- # 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
- then_test:
- - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'In'
- then: [t: "in"]
- - else_if: $ClearSpeak_SetMemberSymbol = 'Member'
- then: [t: "member of"]
- - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
- then: [t: "element of"]
- - else: [t: "belonging to"] # $ClearSpeak_SetMemberSymbol = 'Belongs'
- else_test:
- - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'Member'
- then: [t: "is a member of"]
- - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
- then: [t: "is an element of"]
- - else_if: $ClearSpeak_SetMemberSymbol = 'In'
- then: [t: "is in"]
- - else: [t: "belongs to"] # $ClearSpeak_SetMemberSymbol = 'Belongs'
- - "∥": # 0x2225
- - test:
- if: "ancestor-or-self::*[contains(@data-intent-property, ':literal:')]"
- then: [t: "double vertical line"]
- else:
- - test:
- if: "$Verbosity!='Terse'"
- then: [t: "is"]
- - t: "parallel to"
- - "∦": # 0x2226
- - test:
- if: "$Verbosity!='Terse'"
- then: [t: "is"]
- - t: "not parallel to"
- - "≤": # 0x2264
- - test:
- if: "$Verbosity!='Terse'"
- then: [t: "is"]
- - t: "less than or equal to"
- - "≥": # 0x2265
- - test:
- if: "$Verbosity!='Terse'"
- then: [t: "is"]
- - t: "greater than or equal to"
-
- # --- restored complex short definitions (prefer over unicode-full) ---
- - "…": # 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: "dot dot dot"]
- else_test: # must have $ClearSpeak_Ellipses = 'AndSoOn'
- if: "count(following-sibling::*) = 0"
- then: [t: "and so on"]
- else: [t: "and so on up to"]
- - "∂": # 0x2202
- - test:
- if: "$Verbosity='Terse'"
- then: [t: "partial"]
- else: [t: "partial derivative"]
- - "∆": # 0x2206
- - test:
- if: "$Verbosity!='Terse'"
- then: [ot: "the"]
- - t: "laplacian of"
- - "∉": # 0x2209
- # rule is identical to 0x2208
- - test:
- if: "$SpeechStyle != 'ClearSpeak'"
- then:
- - test:
- if: "$Verbosity!='Terse'"
- then: [t: "is"]
- - t: "not an element of"
- # 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
- then_test:
- - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'In'
- then: [t: "not in"]
- - else_if: $ClearSpeak_SetMemberSymbol = 'Member'
- then: [t: "not member of"]
- - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
- then: [t: "not element of"]
- - else: [t: "not belonging to"] # $ClearSpeak_SetMemberSymbol = 'Belongs'
- else_test:
- - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'Member'
- then: [t: "is not a member of"]
- - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
- then: [t: "is not an element of"]
- - else_if: $ClearSpeak_SetMemberSymbol = 'In'
- then: [t: "is not in"]
- - else: [t: "does not belong to"] # $ClearSpeak_SetMemberSymbol = 'Belongs'
- - "∊": # 0x220a
- - test:
- if: "$SpeechStyle != 'ClearSpeak'"
- then:
- - test:
- if: "$Verbosity!='Terse' and not(ancestor::*[self::m:set])" # "the set x is an element of ..." sounds bad"
- then: [t: "is"]
- - t: "an element of"
- # 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
- then_test:
- - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'In'
- then: [t: "in"]
- - else_if: $ClearSpeak_SetMemberSymbol = 'Member'
- then: [t: "member of"]
- - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
- then: [t: "element of"]
- - else: [t: "belonging to"] # $ClearSpeak_SetMemberSymbol = 'Belongs'
- else_test:
- - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'Member'
- then: [t: "is a member of"]
- - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
- then: [t: "is an element of"]
- - else_if: $ClearSpeak_SetMemberSymbol = 'In'
- then: [t: "is in"]
- - else: [t: "belongs to"] # $ClearSpeak_SetMemberSymbol = 'Belongs'
- - "√": # 0x221a
- - test:
- if: "$Verbosity!='Terse'"
- then: [ot: "the"]
- - t: "square root of"
- - "∝": # 0x221d
- - test:
- if: "$Verbosity!='Terse'"
- then: [t: "is"]
- - t: "proportional to"
- - "∶": # 0x2236
- - test:
- if: "$Verbosity!='Terse'"
- then: [t: "is"]
- - t: "to"
- - "∾": # 0x223e
- - test:
- if: "$Verbosity!='Terse'"
- then: [t: "is"]
- - t: "most positive"
- - "≠": # 0x2260
- - test:
- if: "$Verbosity!='Terse'"
- then: [t: "is"]
- - t: "not equal to"
- - "≡": # 0x2261
- - test:
- if: "$Verbosity!='Terse'"
- then: [t: "is"]
- - t: "identical to"
- - "⊂": # 0x2282
- - test:
- if: "$Verbosity!='Terse'"
- then: [t: "is a"]
- - t: "subset of"
- - "⊃": # 0x2283
- - test:
- if: "$Verbosity!='Terse'"
- then: [t: "is a"]
- - t: "superset of"
- - "⊄": # 0x2284
- - test:
- if: "$Verbosity!='Terse'"
- then: [t: "is"]
- - t: "not a subset of"
- - "⊅": # 0x2285
- - test:
- if: "$Verbosity!='Terse'"
- then: [t: "is"]
- - t: "not a superset of"
- - "⊆": # 0x2286
- - test:
- if: "$Verbosity!='Terse'"
- then: [t: "is a"]
- - t: "subset of or equal to"
- - "⊇": # 0x2287
- - test:
- if: "$Verbosity!='Terse'"
- then: [t: "is a"]
- - t: "superset of or equal to"
-
- # --- restored short definitions that differ from unicode-full ---
- - "⇒": [t: "right double arrow"] # 0x21d2
- - "∐": [t: "co-product"] # 0x2210
+---
+ # Note to translators:
+ # most languages don't have two ways to pronounce 'a' -- if not need, remove the rules and change "B-Z" to "A-Z"
+ # some languages say the word for "uppercase" after the letter. Make sure to change that where appropriate by moving some code around
+ - "a":
+ - test:
+ if: "$TTS='none'"
+ then: [t: "eigh"] # long "a" sound in all speech engines I tested (espeak, MS SAPI, eloquence,
+ else: [spell: "'a'"] # AWS Polly, ReadSpeaker, NaturalReader, google cloud, nuance, ibm watson)
+ - "b-z":
+ - test:
+ if: "$TTS='none'"
+ then: [t: "."]
+ else: [spell: "'.'"]
+
+ # Capital letters are a little tricky: users can pick their favorite word (something that was requested) and
+ # screen readers have options to use pitch changes or beeps instead of or in addition to say "cap"
+ # Also, if a user can see the screen, they probably don't need to hear "cap", but if they specified an override, they must want to hear the override.
+
+ - "A":
+ - 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: "cap"]
+ else: [x: "$SpeechOverrides_CapitalLetters"]
+ - pitch:
+ value: "$CapitalLetters_Pitch"
+ replace:
+ - test:
+ if: "$TTS='none'"
+ then: [t: "eigh"]
+ else: [spell: "'a'"]
+
+ - "B-Z":
+ - 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: "cap"]
+ else: [x: "$SpeechOverrides_CapitalLetters"]
+ - pitch:
+ value: "$CapitalLetters_Pitch"
+ # note: processing of ranges converts '.' into the character, so it needs to be in quotes below
+ replace: [spell: "translate('.', 'BCDEFGHIJKLMNOPQRSTUVWXYZ', 'bcdefghijklmnopqrstuvwxyz')"]
+
+ - "0-9": [t: "."]
+
+ - " ": [t: " "] # 0x20
+
+ - "!": # 0x21
+ - test:
+ if: "ancestor-or-self::*[contains(@data-intent-property, ':literal:')]"
+ then_test:
+ if: "$Verbosity = 'Terse'"
+ then: [t: "bang"] # 0x21
+ else: [t: "exclamation point"] # 0x21
+ else: [t: "factorial"] # 0x21
+
+ - "\"": [t: "quotation mark"] # 0x22
+ - "#": [t: "number"] # 0x23
+ - "$": [t: "dollars"] # 0x24
+ - "%": [t: "percent"] # 0x25
+ - "&": [t: "ampersand"] # 0x26
+ - "'": [t: "apostrophe"] # 0x27
+ - "(": # 0x28
+ - test:
+ if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
+ then_test:
+ if: "$Verbosity='Terse'"
+ then: [t: "open"] # 0x28
+ else: [t: "open paren"] # 0x28
+ else: [t: "left paren"] # 0x28
+ - ")": # 0x29
+ - test:
+ if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
+ then_test:
+ if: "$Verbosity='Terse'"
+ then: [t: "close"] # 0x29
+ else: [t: "close paren"] # 0x29
+ else: [t: "right paren"] # 0x29
+
+ - "*": # 0x2a
+ test:
+ if: "parent::*[name(.)='msup' or name(.)='msubsup' or name(.)='skip-super']"
+ then: [t: "star"] # 0x2a
+ else: [t: "times"] # 0x2a
+ - "+": [t: "plus"] # 0x2b
+ - ",": # 0x2c
+ # the following deals with the interaction of "," with "…" which sometimes wants the ',' to be silent
+ # that this test is here and not with "…" is not ideal, but seems simplest
+ test:
+ if:
+ - "$SpeechStyle != 'ClearSpeak' or $ClearSpeak_Ellipses = 'Auto' or "
+ # must be ClearSpeak and $ClearSpeak_Ellipses = 'AndSoOn'
+ # speak "comma" when not adjacent to '…'
+ - "( following-sibling::*[1][text()!= '…'] and preceding-sibling::*[1][text()!='…'] ) or "
+ # except if expression starts with '…'
+ - "../*[1][.='…'] "
+ then:
+ - T: "comma" # (en: 'comma', google translation)
+ - test:
+ if: "$Verbosity != Terse"
+ then: [pause: short]
+ # else silent
+
+ - "-": [t: "minus"] # 0x2d
+ - ".": # 0x2e
+ - test:
+ if: "parent::*[1][self::m:mn]"
+ then: [t: "point"]
+ else: [t: "dot"]
+ - "/": # 0x2f
+ - test:
+ if: "ancestor-or-self::*[contains(@data-intent-property, ':literal:')]"
+ then: [t: "slash"] # 0x2f
+ else: [t: "divided by"] # 0x2f
+
+ - ":": [t: "colon"] # 0x3a
+ - ";": [t: "semicolon"] # 0x3b
+ - "<": # 0x3c
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [t: "is"]
+ - t: "less than"
+ - "=": # 0x3d
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [t: "is equal to"]
+ else: [t: "equals"]
+
+ - ">": # 0x3e
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [t: "is"]
+ - t: "greater than"
+ - "?": [t: "question mark"] # 0x3f
+ - "@": [t: "at sign"] # 0x40
+ - "[": # 0x5b
+ - test:
+ if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
+ then: [t: "open bracket"]
+ else: [t: "left bracket"]
+ - "\\": [t: "back slash"] # 0x5c
+ - "]": # 0x5d
+ - test:
+ if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
+ then: [t: "close bracket"]
+ else: [t: "right bracket"]
+ - "^": # 0x5e
+ - test:
+ if: "parent::m:modified-variable or parent::m:mover"
+ then: [t: "hat"]
+ else: [t: "caret"]
+ - "_": [t: "under bar"] # 0x5f
+ - "`": [t: "grave"] # 0x60
+ - "{": # 0x7b
+ - test:
+ if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
+ then: [t: "open brace"]
+ else: [t: "left brace"]
+ - "|": # 0x7c
+ # 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)
+ replace:
+ - test:
+ - if: "ancestor-or-self::*[contains(@data-intent-property, ':literal:')]"
+ then: [t: "vertical line"]
+ - else_if: "$SpeechStyle != 'ClearSpeak'"
+ then_test:
+ - if: "$DefaultToGiven"
+ then: [t: "given"]
+ - else_if: "preceding-sibling::*[1][self::m:mn and not(contains(., $DecimalSeparators))] and
+ following-sibling::*[1][self::m:mn and not(contains(., $DecimalSeparators))]"
+ then: [t: "divides"]
+ else: [t: "vertical line"]
+ - else_if: "not(preceding-sibling::*) or not(following-sibling::*)"
+ then: [t: "vertical line"]
+ - else_if: "$ClearSpeak_VerticalLine = 'SuchThat'"
+ then: [t: "such that"]
+ - else_if: "$ClearSpeak_VerticalLine = 'Given' or $DefaultToGiven"
+ then: [t: "given"]
+ - else: [t: "divides"]
+
+ - "}": # 0x7d
+ - test:
+ if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
+ then: [t: "close brace"]
+ else: [t: "right brace"]
+
+ - "~": [t: "tilde"] # 0x7e
+ - " ": # 0xa0
+ - test:
+ # could be mtext in mtd or mtext in an mrow that is a concatenation of mtd's. Is there a better solution?
+ if: "@data-empty-in-2D and not(ancestor::*[self::m:piecewise or self::m:system-of-equations or self::m:lines])"
+ then: [t: "empty"] # want to say something for fraction (etc) with empty child
+ else: [t: ""]
+
+ - "¬": [t: "not"] # 0xac
+ - "°": [t: "degrees"] # 0xb0
+ - "±": [t: "plus or minus"] # 0xb1
+ - "´": [t: "acute"] # 0xb4
+ - "·": # 0xB7
+ - test:
+ if: "ancestor-or-self::*[contains(@data-intent-property, ':literal:')] or not($SpeechStyle = 'ClearSpeak' and $ClearSpeak_MultSymbolDot = 'Auto')"
+ then: [t: "dot"]
+ else: [t: "times"]
+ - "×": # 0xd7
+ - test:
+ if: "$SpeechStyle = 'ClearSpeak'"
+ then_test:
+ - if: "$ClearSpeak_MultSymbolX = 'Auto'"
+ then: [t: "times"]
+ - else_if: "$ClearSpeak_MultSymbolX = 'By'"
+ then: [t: "by"]
+ else: [t: "cross"]
+ else_test:
+ if: "ancestor-or-self::*[contains(@data-intent-property, ':literal:')]"
+ then: [t: "cross"]
+ else: [t: "times"]
+
+ - "÷": [t: "divided by"] # 0xf7
+ - "̀": [t: "grave accent embellishment"] # 0x300
+ - "́": [t: "acute accent embellishment"] # 0x301
+ - "̂": [t: "circumflex accent embellishment"] # 0x302
+ - "̃": [t: "tilde embellishment"] # 0x303
+ - "̄": [t: "macron embellishment"] # 0x304
+ - "̅": [t: "overbar embellishment"] # 0x305
+ - "̆": [t: "breve"] # 0x306
+ - "̇": [t: "dot above embellishment"] # 0x307
+
+ # Note: ClearSpeak has pref TriangleSymbol for "Δ", but that is wrong
+ - "Α-Ω":
+ - 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: "cap"]
+ else: [x: "$SpeechOverrides_CapitalLetters"]
+ - pitch:
+ value: "$CapitalLetters_Pitch"
+ # note: processing of ranges converts '.' into the character, so it needs to be in quotes below
+ replace: [spell: "translate('.', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ', 'αβγδεζηθικλμνξοπρςστυφχψω')"]
+
+ - "α": [t: "alpha"] # 0x3b1
+ - "β": [t: "beta"] # 0x3b2
+ - "γ": [t: "gamma"] # 0x3b3
+ - "δ": [t: "delta"] # 0x3b4
+ - "ε": [t: "epsilon"] # 0x3b5
+ - "ζ": [t: "zeta"] # 0x3b6
+ - "η": [t: "eta"] # 0x3b7
+ - "θ": [t: "theta"] # 0x3b8
+ - "ι": [t: "iota"] # 0x3b9
+ - "κ": [t: "kappa"] # 0x3ba
+ - "λ": [t: "lambda"] # 0x3bb
+ - "μ": [t: "mu"] # 0x3bc
+ - "ν": [t: "nu"] # 0x3bd
+ - "ξ": [t: "zai"] # 0x3be
+ - "ο": [t: "omicron"] # 0x3bf
+ - "π": [t: "pi"] # 0x3c0
+ - "ρ": [t: "rho"] # 0x3c1
+ - "ς": [t: "final sigma"] # 0x3c2
+ - "σ": [t: "sigma"] # 0x3c3
+ - "τ": [t: "tau"] # 0x3c4
+ - "υ": [t: "upsilon"] # 0x3c5
+ - "φ": [t: "phi"] # 0x3c6
+ - "χ": [t: "chi"] # 0x3c7
+ - "ψ": [t: "psi"] # 0x3c8
+ - "ω": [t: "omega"] # 0x3c9
+ - "ϕ": [t: "phi"] # 0x3d5
+ - "ϖ": [t: "pi"] # 0x3d6
+ - "ϵ": [t: "epsilon"] # 0x3f5
+ - "϶": [t: "reversed epsilon"] # 0x3f6
+
+ - "": # 0x2061
+ - test:
+ # skip saying "of" when Terse and a trig function, when it is a shape (does this happen?), or we are in :literal mode
+ if: "not(
+ ( $Verbosity='Terse' or ($SpeechStyle = 'ClearSpeak' and IsNode(following-sibling::*[1],'simple')) and
+ preceding-sibling::*[1][IfThenElse($SpeechStyle='ClearSpeak',
+ IsInDefinition(., 'ClearSpeakTrigFunctionNames'),
+ IsInDefinition(., 'TrigFunctionNames') )]
+ ) or
+ preceding-sibling::*[1][IsInDefinition(., 'GeometryShapes')] or
+ (@data-changed='added' and ancestor-or-self::*[contains(@data-intent-property, ':literal:')])
+ )"
+ then: [t: "of"]
+ - "": [t: ""] # 0x2062
+ - "": [t: ""] # 0x2063
+ - "": [t: "and"] # 0x2064
+ - "ℂℕℚℝℤ": # here we rely on this running through the table again to speak "cap xxx"
+ - t: "double-struck"
+ - spell: "translate('.', 'ℂℕℚℝℤ', 'CNQRZ')"
+
+ - "℃": [t: "degrees celsius"] # 0x2103
+ - "ℋℛℓ": # 0x210b
+ - t: "script"
+ - spell: "translate('.', 'ℋℛℓ', 'HRl')"
+ - "ℜ": # 0x211c
+ - t: "fraktur"
+ - spell: "'R'"
+
+ - "ⅆⅇⅈⅉ": # 0x2146-9
+ - t: "double-struck italic"
+ - spell: "translate('.', 'ⅆⅇⅈⅉ', 'deij')"
+
+ - "←": [t: "left arrow"] # 0x2190
+ - "↑": [t: "up arrow"] # 0x2191
+ - "→": # 0x2192
+ - test:
+ if: "ancestor::*[2][self::m:limit]"
+ then: [t: "approaches"]
+ else: [t: "right arrow"]
+
+ - "↓": [t: "down arrow"] # 0x2193
+ - "∈": # 0x2208
+ - test:
+ if: "$SpeechStyle != 'ClearSpeak'"
+ then:
+ - test:
+ if: "$Verbosity!='Terse' and not(ancestor::*[self::m:set])" # "the set x is an element of ..." sounds bad"
+ then: [t: "is"]
+ - t: "an element of"
+ # 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
+ then_test:
+ - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'In'
+ then: [t: "in"]
+ - else_if: $ClearSpeak_SetMemberSymbol = 'Member'
+ then: [t: "member of"]
+ - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
+ then: [t: "element of"]
+ - else: [t: "belonging to"] # $ClearSpeak_SetMemberSymbol = 'Belongs'
+ else_test:
+ - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'Member'
+ then: [t: "is a member of"]
+ - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
+ then: [t: "is an element of"]
+ - else_if: $ClearSpeak_SetMemberSymbol = 'In'
+ then: [t: "is in"]
+ - else: [t: "belongs to"] # $ClearSpeak_SetMemberSymbol = 'Belongs'
+ - "∥": # 0x2225
+ - test:
+ if: "ancestor-or-self::*[contains(@data-intent-property, ':literal:')]"
+ then: [t: "double vertical line"]
+ else:
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [t: "is"]
+ - t: "parallel to"
+ - "∦": # 0x2226
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [t: "is"]
+ - t: "not parallel to"
+ - "≤": # 0x2264
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [t: "is"]
+ - t: "less than or equal to"
+ - "≥": # 0x2265
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [t: "is"]
+ - t: "greater than or equal to"
+
+ # --- restored complex short definitions (prefer over unicode-full) ---
+ - "…": # 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: "dot dot dot"]
+ else_test: # must have $ClearSpeak_Ellipses = 'AndSoOn'
+ if: "count(following-sibling::*) = 0"
+ then: [t: "and so on"]
+ else: [t: "and so on up to"]
+ - "∂": # 0x2202
+ - test:
+ if: "$Verbosity='Terse'"
+ then: [t: "partial"]
+ else: [t: "partial derivative"]
+ - "∆": # 0x2206
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [ot: "the"]
+ - t: "laplacian of"
+ - "∉": # 0x2209
+ # rule is identical to 0x2208
+ - test:
+ if: "$SpeechStyle != 'ClearSpeak'"
+ then:
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [t: "is"]
+ - t: "not an element of"
+ # 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
+ then_test:
+ - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'In'
+ then: [t: "not in"]
+ - else_if: $ClearSpeak_SetMemberSymbol = 'Member'
+ then: [t: "not member of"]
+ - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
+ then: [t: "not element of"]
+ - else: [t: "not belonging to"] # $ClearSpeak_SetMemberSymbol = 'Belongs'
+ else_test:
+ - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'Member'
+ then: [t: "is not a member of"]
+ - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
+ then: [t: "is not an element of"]
+ - else_if: $ClearSpeak_SetMemberSymbol = 'In'
+ then: [t: "is not in"]
+ - else: [t: "does not belong to"] # $ClearSpeak_SetMemberSymbol = 'Belongs'
+ - "∊": # 0x220a
+ - test:
+ if: "$SpeechStyle != 'ClearSpeak'"
+ then:
+ - test:
+ if: "$Verbosity!='Terse' and not(ancestor::*[self::m:set])" # "the set x is an element of ..." sounds bad"
+ then: [t: "is"]
+ - t: "an element of"
+ # 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
+ then_test:
+ - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'In'
+ then: [t: "in"]
+ - else_if: $ClearSpeak_SetMemberSymbol = 'Member'
+ then: [t: "member of"]
+ - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
+ then: [t: "element of"]
+ - else: [t: "belonging to"] # $ClearSpeak_SetMemberSymbol = 'Belongs'
+ else_test:
+ - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'Member'
+ then: [t: "is a member of"]
+ - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
+ then: [t: "is an element of"]
+ - else_if: $ClearSpeak_SetMemberSymbol = 'In'
+ then: [t: "is in"]
+ - else: [t: "belongs to"] # $ClearSpeak_SetMemberSymbol = 'Belongs'
+ - "√": # 0x221a
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [ot: "the"]
+ - t: "square root of"
+ - "∝": # 0x221d
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [t: "is"]
+ - t: "proportional to"
+ - "∶": # 0x2236
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [t: "is"]
+ - t: "to"
+ - "∾": # 0x223e
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [t: "is"]
+ - t: "most positive"
+ - "≠": # 0x2260
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [t: "is"]
+ - t: "not equal to"
+ - "≡": # 0x2261
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [t: "is"]
+ - t: "identical to"
+ - "⊂": # 0x2282
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [t: "is a"]
+ - t: "subset of"
+ - "⊃": # 0x2283
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [t: "is a"]
+ - t: "superset of"
+ - "⊄": # 0x2284
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [t: "is"]
+ - t: "not a subset of"
+ - "⊅": # 0x2285
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [t: "is"]
+ - t: "not a superset of"
+ - "⊆": # 0x2286
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [t: "is a"]
+ - t: "subset of or equal to"
+ - "⊇": # 0x2287
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [t: "is a"]
+ - t: "superset of or equal to"
+
+ # --- restored short definitions that differ from unicode-full ---
+ - "⇒": [t: "right double arrow"] # 0x21d2
+ - "∐": [t: "co-product"] # 0x2210
diff --git a/Rules/Languages/es/definitions.yaml b/Rules/Languages/es/definitions.yaml
index 47267348e..795892f5c 100644
--- a/Rules/Languages/es/definitions.yaml
+++ b/Rules/Languages/es/definitions.yaml
@@ -7,45 +7,114 @@
# - name: [] "...", "..." "..." ]
-# If an "intent" is used, the 'terse:medium:verbose' speech for the intent name is given here for a prefix||infix||postfix||function fixity
-# If only one ":" is used, it the first part is used for 'terse' and the second part is used for 'medium' and 'verbose'
-# If no ":"s are used, the same speech is used for all forms
-# If bracketing words make sense, they are separated with ";"s
-# Intent mappings must specify whether they are "prefix", "infix", "postfix", or "function" with an "=" sign
-# If there are multiple fixities (e.g., see transpose), they are separated with "||
-# for readability, spaces can be used around any of the delimiter characters
-# Note: if there are multiple fixities, the first one is used if the fixity is not given in the intent
+# IntentMappings Syntax:
+#
+# This section defines how each "intent" is spoken for various grammatical forms (fixities such as "prefix", "infix", "postfix", and "function"),
+# along with supporting different verbosity levels.
+# The syntax is a little bit complicated, but allows a declarative syntax so you don't have to write as many rules.
+#
+# For each intent, you specify spoken forms for one or more fixities using the syntax below.
+#
+# - Each mapping has the form:
+# "": "= || = || ...",
+# Every alternative must name a fixity and use "="; the fixity requested when speaking selects one.
+#
+# - Separate multiple fixities with "||". Spaces are allowed around any delimiter for readability.
+# - Within a speech string, "|" selects the verbosity form:
+# - one "|" (two forms): the first is 'terse', the second is used for 'medium' and 'verbose'
+# - two "|" (three forms): 'terse', 'medium', 'verbose', in that order
+# - no "|": the same spoken form is used for all verbosity levels
+#
+# - Use semicolons ";" to divide opening; main; closing bracketing words within the name part,
+# where such words make sense (a name with no ";" is just the main phrase).
+# - If an intent has multiple fixities but a definition does not specify one, the first fixity listed is chosen by default.
+#
+# Functions and argument glue (the part after the name):
+# - ":" separates the name/bracketing phrase from the argument-glue options that follow it.
+# - Arity template (two or more ":" options, or one option with ','-separated glue words): the
+# number of glue words implies the arity, and the final argument is preceded by "of".
+# Example: "sum: over: from,to"
+# - 1 arg: "sum of x"
+# - 2 args: "sum over i of x"
+# - 3 args: "sum from i to n of x"
+# If no option matches the argument count, the arguments are separated with "comma".
+# - Binary separator (exactly one ":" option, no commas in it): after "of", that word joins the two args.
+# Example: "quotient": "function=integer part: divided by" → "integer part of x divided by y"
+# If there are not exactly two args, the arguments fall back to "comma".
+# - Paired "ratio-style" (" : | : | ..."): used when every "|"-separated
+# piece is a single "name : glue" pair. Verbosity selects one pair, whose glue is the binary
+# separator described above. Example: "ratio": "function=ratio : to | the ratio : to | the ratio : to"
+#
+# Conceptual grammar (with precedence):
+#
+# IntentMappingsEntry ::= ":" # ":" is the YAML key/value separator
+#
+# ::= ( "||" )*
+#
+# ::= "="
+#
+# ::= "prefix" | "infix" | "postfix" | "function" | "nofix" | "silent"
+#
+# ::= |
+#
+# # Standard form: a name/bracketing part, then ":"-separated argument-glue options.
+# ::= ( ":" )*
+#
+# ::= [ ";" ";" ] # 1 part: name; 3 parts: opening; main; closing
+#
+# ::= [ "|" [ "|" ] ] # terse | medium | verbose
+#
+# ::= # a single glue word, or ","-separated arity words
+#
+# # Paired "ratio-style" form: recognized only when every "|" piece is a single "name : glue" pair.
+# ::= ( "|" )+
+#
+# ::= ":" # the glue contains no ":"
+#
+# ::= text
+#
+# Precedence depends on the form:
+# - Standard: split on ":" first (name vs. argument-glue options), then split each piece on "|"
+# for terse|medium|verbose, and split only the name part on ";" for opening; main; closing.
+# - Paired: split on "|" first into "name : glue" pairs, then verbosity selects one pair.
+#
+# Example:
+# "absolute-value": "function= ; absolute value| the absolute value| the absolute value; end absolute value"
+# "sum": "function=sum: over: from,to"
+# "quotient": "function=integer part: divided by"
+# "ratio": "function=ratio : to | the ratio : to | the ratio : to" # verbosity of name:glue pairs
+#
- IntentMappings: {
"indexed-by": "infix= ; subíndice; final del subíndice",
"modified-variable": "silent= ",
"say-super": "infix=superíndice", # used with 'mo' for superscripts (e.g, "<")
"skip-super": "silent=", # used with 'mo' for superscripts (e.g, "*")
- "absolute-value": "function= ; valor absoluto: el valor absoluto de: el valor absoluto de; final del valor absoluto",
+ "absolute-value": "function= ; valor absoluto| el valor absoluto de| el valor absoluto de; final del valor absoluto",
"binomial": "infix=binomial; elegir; end binomial",
"limit": "prefix=límite cuando",
- "lim-sup": "prefix=lim sup as: the limit superior as: the limit superior as",
- "lim-inf": "prefix=lim inf as: the limit inferior as : the limit inferior as",
- "logarithm-with-base": "prefix=log base: el log base: el log base",
+ "lim-sup": "prefix=lim sup as| the limit superior as| the limit superior as",
+ "lim-inf": "prefix=lim inf as| the limit inferior as | the limit inferior as",
+ "logarithm-with-base": "prefix=log base| el log base| el log base",
"minus": "infix=menos || prefix=negativo",
"plus": "infix=más || prefix=positivo",
"transpose": "postfix=intercambiar || function=intercambiar",
- "norm": "function=; regla: regla: la regla; fin de la regla",
- "trace": "function=;traza : traza de: la traza de; fin de la traza",
- "dimension": "function=; dimensión : dimensión de: la dimensión de; fin de la dimensión",
- "homomorphism": "function= ; homomorfismo : homomorfismo de: el homomorfismo de; find de el homomorfismo",
- "kernel": "function= ; núcleo : núcleo de: el núcleo de; fin de el núcleo",
+ "norm": "function=; regla| regla| la regla; fin de la regla",
+ "trace": "function=;traza | traza de| la traza de; fin de la traza",
+ "dimension": "function=; dimensión | dimensión de| la dimensión de; fin de la dimensión",
+ "homomorphism": "function= ; homomorfismo | homomorfismo de| el homomorfismo de; find de el homomorfismo",
+ "kernel": "function= ; núcleo | núcleo de| el núcleo de; fin de el núcleo",
"vector": "function= ; vector || prefix=vector",
- "cross-product": "infix=cross: cross product: cross product",
- "dot-product": "infix=dot: dot product: dot:dot product",
+ "cross-product": "infix=cross| cross product| cross product",
+ "dot-product": "infix=dot| dot product| dot|dot product",
- "divergence": "function= ; div: divergence: divergence; end divergence",
+ "divergence": "function= ; div| divergence| divergence; end divergence",
"curl": "function= ; curl; end curl",
- "gradient": "function= ; grad: gradient: gradient; end gradient",
+ "gradient": "function= ; grad| gradient| gradient; end gradient",
"laplacian": "function=lahplahsian", # speech engines don't do a good job with "laplacian"
- "chemistry-concentration": "function= ; concentración: concentración de: la concentración de; fin de la concentración",
+ "chemistry-concentration": "function= ; concentración| concentración de| la concentración de; fin de la concentración",
}
- NavigationParts: {
diff --git a/Rules/Languages/es/unicode-full.yaml b/Rules/Languages/es/unicode-full.yaml
index 603fc3a85..23d453e29 100644
--- a/Rules/Languages/es/unicode-full.yaml
+++ b/Rules/Languages/es/unicode-full.yaml
@@ -1,3401 +1,3401 @@
----
-
- - "¤": [T: "moneda"] # 0xa4 (en: 'currency sign')
- - "¥": [T: "yen"] # 0xa5
- - "¦": [T: "barra vertical partida"] # 0xa6 (en: 'broken bar')
- - "§": [T: "sección"] # 0xa7 (en: 'section')
- - "¨": [T: "diéresis"] # 0xa8 (en: 'double dot')
- - "©": [T: "copyright"] # 0xa9
- - "ª": [T: "ordinal femenino"] # 0xaa (en: 'feminine ordinal indicator')
- - "«": [T: "abrir comillas angulare"] # 0xab (en: 'left-pointing double angle quote mark', MathPlayer: 'abre comillas angulares', google: 'marca de cotización de doble ángulo de punta izquierda')
- - "¯": # 0xaf
- - test:
- if: "ancestor::m:modified-variable and preceding-sibling::*[1][self::m:mi]"
- then: [T: "barra"] # (google translation)
- else: [T: "barra"] # (en: 'line')
- - "²": [T: "al cuadrado"] # 0xb2 (en: 'two', MathPlayer: 'super 2', google: 'dos')
- - "³": [T: "al cubo"] # 0xb3 (en: 'three', MathPlayer: 'super 3', google: 'tres')
- - "µ": [T: "micro"] # 0xb5
- - "¹": [T: "super 1"] # 0xb9 (en: 'one', google: 'uno')
- - "º": [T: "ordinal masculino"] # 0xb9 (en: 'masculine ordinal indicator')
- - "ʰ": [T: "modificador pequeño h"] # 0x2b0 (en: 'modifier small h', google translation)
- - "ʱ": [T: "modificador pequeño h con gancho"] # 0x2b1 (en: 'modifier small h with hook', google translation)
- - "ʲ": [T: "modificador pequeño j"] # 0x2b2 (en: 'modifier small j', google translation)
- - "ʳ": [T: "modificador pequeño r"] # 0x2b3 (en: 'modifier small r', google translation)
- - "ʴ": [T: "modificador pequeño girado r"] # 0x2b4 (en: 'modifier small turned r', google translation)
- - "ʵ": [T: "modificador pequeño girado r con gancho"] # 0x2b5 (en: 'modifier small turned r with hook', google translation)
- - "ʶ": # 0x2b6
- - T: "modificador pequeño invertido" # (en: 'modifier small inverted', google translation)
- - spell: "translate('R', 'R', 'R')"
-
- - "ʷ": [T: "modificador pequeño w"] # 0x2b7 (en: 'modifier small w', google translation)
- - "ʸ": [T: "modificador pequeño y"] # 0x2b8 (en: 'modifier small y', google translation)
- - "ʹ": [T: "prima"] # 0x2b9 (en: 'modifier prime', google: 'modificador prime')
- - "ʺ": [T: "dos prima"] # 0x2ba (en: 'modifier double prime', google: 'modificador doble prime')
- - "ʻ": [T: "modificador girado por coma"] # 0x2bb (en: 'modifier turned comma', google translation)
- - "ʼ": [T: "apóstrofo modificador"] # 0x2bc (en: 'modifier apostrophe', google translation)
- - "ʽ": [T: "modificador de coma invertida"] # 0x2bd (en: 'modifier reversed comma', google translation)
- - "ʾ": [T: "semianillo a la derecha"] # 0x2be (en: 'modifier right half ring', google: 'modificador de medio anillo derecho')
- - "ʿ": [T: "semianillo a la izquierda"] # 0x2bf (en: 'modifier left half ring', google: 'modificador de medio anillo izquierdo')
- - "ˀ": [T: "modificador de parada glótica"] # 0x2c0 (en: 'modifier glottal stop', google translation)
- - "ˁ": [T: "modificador invertido de parada glótica"] # 0x2c1 (en: 'modifier reversed glottal stop', google translation)
- - "˂": [T: "modificador de punta de flecha izquierda"] # 0x2c2 (en: 'modifier left arrowhead', google translation)
- - "˃": [T: "modificador de punta de flecha derecha"] # 0x2c3 (en: 'modifier right arrowhead', google translation)
- - "˄": [T: "modificador de punta de flecha hacia arriba"] # 0x2c4 (en: 'modifier up arrowhead', google translation)
- - "˅": [T: "modificador de punta de flecha hacia abajo"] # 0x2c5 (en: 'modifier down arrowhead', google translation)
- - "ˆ": [T: "circunflejo"] # 0x2c6 (en: 'modifier circumflex accent', google: 'acento circunflejo modificador')
- - "ˇ": [T: "carón"] # 0x2c7 (en: 'caron', google: 'caron')
- - "ˈ": [T: "línea vertical modificador"] # 0x2c8 (en: 'modifier vertical line', google translation)
- - "ˉ": [T: "modificador macron"] # 0x2c9 (en: 'modifier macron', google translation)
- - "ˊ": [T: "modificador acento agudo"] # 0x2ca (en: 'modifier acute accent', google translation)
- - "ˋ": [T: "modificador acento grave"] # 0x2cb (en: 'modifier grave accent', google translation)
- - "ˌ": [T: "modificador línea baja vertical"] # 0x2cc (en: 'modifier low vertical line', google translation)
- - "ˍ": [T: "modificador bajo macron"] # 0x2cd (en: 'modifier low macron', google translation)
- - "ˎ": [T: "modificador acento acento grave bajo"] # 0x2ce (en: 'modifier low grave accent', google translation)
- - "ˏ": [T: "modificador acento bajo agudo"] # 0x2cf (en: 'modifier low acute accent', google translation)
- - "ː": [T: "modificador de colon triangular"] # 0x2d0 (en: 'modifier triangular colon', google translation)
- - "ˑ": [T: "modificador de medio colon triangular"] # 0x2d1 (en: 'modifier half triangular colon', google translation)
- - "˒": [T: "modificador centrado en la mitad del anillo rerecho"] # 0x2d2 (en: 'modifier centered right half ring', google translation)
- - "˓": [T: "modificador centrado en la mitad del anillo izquierdo"] # 0x2d3 (en: 'modifier centered left half ring', google translation)
- - "˔": [T: "modificador de tadck superior"] # 0x2d4 (en: 'modifier up tadck', google translation)
- - "˕": [T: "modificador hacia abajo"] # 0x2d5 (en: 'modifier down tack', google translation)
- - "˖": [T: "modificador más signo"] # 0x2d6 (en: 'modifier plus sign', google translation)
- - "˗": [T: "medio anillo derecho por debajo de la ornamentación"] # 0x339 (en: 'right half ring below embellishment', google translation)
- - "̺": [T: "puente invertido debajo de la ornamentación"] # 0x33a (en: 'inverted bridge below embellishment', google translation)
- - "̻": [T: "cuadrado por debajo de la ornamentación"] # 0x33b (en: 'square below embellishment', google translation)
- - "̼": [T: "gaviota por debajo del adorno"] # 0x33c (en: 'seagull below embellishment', google translation)
- - "̽": [T: "x por encima del adorno"] # 0x33d (en: 'x above embellishment', google translation)
- - "̾": [T: "ornamentación de tilde vertical"] # 0x33e (en: 'vertical tilde embellishment', google translation)
- - "̿": [T: "ornamentación de doble superposición"] # 0x33f (en: 'double overline embellishment', google translation)
- - "̀": [T: "ornamentación de la señal de tono grave"] # 0x340 (en: 'grave tone mark embellishment', google translation)
- - "́": [T: "ornamentación de la señal de tono agudo"] # 0x341 (en: 'acute tone mark embellishment', google translation)
-
- - "ΪΫϏ": # 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: "mayúscula"] # (en: 'cap', google translation)
- else: [x: "$SpeechOverrides_CapitalLetters"]
- - pitch:
- value: "$CapitalLetters_Pitch"
- replace: [spell: "translate('.', 'ΪΫϏ', 'ιυϗ')"]
- - T: "con dialytika" # (en: 'with dialytika', google translation)
- - "ϊ": [T: "iota con dialytika"] # 0x3ca (en: 'iota with dialytika', google translation)
- - "ϋ": [T: "épsilon con dialytika"] # 0x3cb (en: 'upsilon with dialytika', google translation)
- - "ό": [T: "ómicron con tonos"] # 0x3cc (en: 'omicron with tonos', google translation)
- - "ύ": [T: "épsilon con tonos"] # 0x3cd (en: 'upsilon with tonos', google translation)
- - "ώ": [T: "omega con tonos"] # 0x3ce (en: 'omega with tonos', google translation)
- - "ϐ": [T: "símbolo beta"] # 0x3d0 (en: 'beta')
- - "ϑ": [T: "variante de theta"] # 0x3d1 (en: 'theta', google: 'theta')
- - "ϒ": [T: "ípsilon con gancho"] # 0x3d2 (en: 'upsilon with hook', google: 'upsilon con gancho')
- - "ϓ": [T: "épsilon con diéresis y gancho"] # 0x3d4 (en: 'upsilon with diaeresis and hook', google translation)
- - "ϗ": [T: "símbolo kai griego"] # 0x3d7 (en: 'kai')
- - "А-Я": # 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: "mayúscula"] # (en: 'cap', google translation)
- else: [x: "$SpeechOverrides_CapitalLetters"]
- - pitch:
- value: "$CapitalLetters_Pitch"
- replace: [spell: "translate('.', 'АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ', 'абвгдежзийклмнопрстуфхцчшщъыьэюя')"]
- - "а": [T: "a"] # 0x430 (google: 'а')
- - "б": [T: "be"] # 0x431 (google: 'ser')
- - "в": [T: "ve"] # 0x432 (google: 'veinte')
- - "г": [T: "ghe"] # 0x433
- - "д": [T: "de"] # 0x434 (google: 'delaware')
- - "е": [T: "ie"] # 0x435 (google: 'es decir')
- - "ж": [T: "zhe"] # 0x436
- - "з": [T: "i"] # 0x438 (google: 'и')
- - "й": [T: "i corta"] # 0x439 (en: 'short i', google: 'corto i')
- - "к": [T: "ka"] # 0x43a
- - "л": [T: "em"] # 0x43c
- - "н": [T: "o"] # 0x43e (google: 'о')
- - "п": [T: "pe"] # 0x43f (google: 'educación física')
- - "р": [T: "er"] # 0x440
- - "с": [T: "es"] # 0x441
- - "т": [T: "te"] # 0x442
- - "у": [T: "u"] # 0x443 (google: 'у')
- - "ф": [T: "ef"] # 0x444
- - "х": [T: "ha"] # 0x445 (google: 'ja')
- - "ц": [T: "tse"] # 0x446
- - "ч": [T: "che"] # 0x447
- - "ш": [T: "sha"] # 0x448
- - "щ": [T: "shcha"] # 0x449
- - "ъ": [T: "signo duro"] # 0x44a (en: 'hard sign')
- - "ы": [T: "yeru"] # 0x44b
- - "ь": [T: "signo suave"] # 0x44c (en: 'soft sign')
- - "э": [T: "e"] # 0x44d (google: 'э')
- - "ю": [T: "yu"] # 0x44e
- - "я": [T: "ya"] # 0x44f
- - "‐": [T: "menos"] # 0x2010 (en: 'hyphen')
- - "‑": [T: "guión indivisible"] # 0x2011 (en: 'hyphen', google: 'guión')
- - "‒": [T: "figura Dash"] # 0x2012 (en: 'figure dash', google: 'figura dash')
- - "―": [T: "barra horizontal"] # 0x2015 (en: 'horizontal bar')
- - "•": # 0x2022
- - test:
- if: "@data-chem-formula-op"
- then: [T: "punto"] # (en: 'dot', google translation)
- else: [T: "bala"] # (en: 'bullet')
-
- - "‰": [T: "tanto por millar"] # 0x2030 (en: 'per mille')
- - "‱": [T: "tanto por diez mil"] # 0x2031 (en: 'per ten thousand')
- - "′": [T: "prima"] # 0x2032 (en: 'prime')
- - "‸": [T: "signo de intercalación"] # 0x2038 (en: 'to the', google: 'hacia')
- - "‹": [T: "comillas izquierda"] # 0x2039 (en: 'single left pointing angle quote mark', MathPlayer: 'abre comillas', google: 'marque de cotización de ángulo de punta individual izquierdo')
- - "›": [T: "comillas derecha"] # 0x203a (en: 'single right pointing angle quote mark', MathPlayer: 'cierra comillas', google: 'marque de cita de ángulo de punta de la derecha única')
- - "‼": [T: "doble signo de exclamación"] # 0x203c (en: 'double factorial', google: 'doble factorial')
- - "⁄": [T: "barra de fracción"] # 0x2044 (en: 'divided by')
- - "⁅": [T: "corchete izquierdo"] # 0x2045 (en: 'left square bracket with quill')
- - "⁆": [T: "corchete derecho"] # 0x2046 (en: 'right square bracket with quill')
- - "⁗": [T: "cuatro prima"] # 0x2057 (en: 'quadruple prime', MathPlayer: 'cuarta', google: 'prime cuádruple')
- - "": [T: ""] # 0x2060
- - "": [T: ""] # 0x2063
- - "": [T: "más"] # 0x2064 (en: 'and', google: 'y')
- - "⁰": [T: "a la potencia de cero"] # 0x2070 (en: 'to the zeroth power', google translation)
- - "ⁱ": [T: "superíndice i"] # 0x2071 (en: 'to the eihth power', google: 'al poder eihth')
- - "⁴": [T: "a la cuarta potencia"] # 0x2074 (en: 'to the fourth power', google translation)
- - "⁵": [T: "a la quinta potencia"] # 0x2075 (en: 'to the fifth power', google translation)
- - "⁶": [T: "a la sexta potencia"] # 0x2076 (en: 'to the sixth power', google translation)
- - "⁷": [T: "a la séptima potencia"] # 0x2077 (en: 'to the seventh power', google translation)
- - "⁸": [T: "a la octava potencia"] # 0x2078 (en: 'to the eighth power', google translation)
- - "⁹": [T: "a la novena potencia"] # 0x2079 (en: 'to the ninth power', google translation)
- - "⁺": [T: "superíndice signo más"] # 0x207a (en: 'superscript plus sign', google: 'superscript plus sign')
- - "⁻": [T: "superíndice menos"] # 0x207b (en: 'superscript minus', google: 'superscript menos')
- - "⁼": [T: "superíndice signo igual"] # 0x207c (en: 'superscript equals sign', google: 'superscript es igual a signo')
- - "⁽": [T: "paréntesis izquierdo superíndice"] # 0x207d (en: 'superscript left parenthesis', google: 'superscript dejó paréntesis')
- - "⁾": [T: "paréntesis derecho superíndice"] # 0x207e (en: 'superscript right parenthesis', google: 'superscript dirección de entrega de paréntesis')
- - "ⁿ": [T: "superíndice n"] # 0x207f (en: 'to the ennth power', google: 'al poder de enth')
- - "₀": [T: "bajo cero"] # 0x2080 (en: 'sub zero', google translation)
- - "₁": [T: "sub uno"] # 0x2081 (en: 'sub one', google translation)
- - "₂": [T: "sub dos"] # 0x2082 (en: 'sub two', google translation)
- - "₃": [T: "sub tres"] # 0x2083 (en: 'sub three', google translation)
- - "₄": [T: "sub cuatro"] # 0x2084 (en: 'sub four', google translation)
- - "₅": [T: "sub cinco"] # 0x2085 (en: 'sub five', google translation)
- - "₆": [T: "sub seis"] # 0x2086 (en: 'sub six', google translation)
- - "₇": [T: "sub siete"] # 0x2087 (en: 'sub seven', google translation)
- - "₈": [T: "sub ocho"] # 0x2088 (en: 'sub eight', google translation)
- - "₉": [T: "sub nueve"] # 0x2089 (en: 'sub nine', google translation)
- - "₊": [T: "subíndice signo más"] # 0x208a (en: 'subscript plus sign', google: 'subscript plus sign')
- - "₋": [T: "subíndice menos"] # 0x208b (en: 'subscript minus sign', google: 'subíndico menos signo')
- - "₌": [T: "subíndice signo igual"] # 0x208c (en: 'subscript equals sign', google: 'el subíndice es igual al signo')
- - "₍": [T: "subíndice paréntesis derecho"] # 0x208e (en: 'subscript right parenthesis', google: 'subíndice de paréntesis derecha')
- - "ₐ": [T: "subíndice a"] # 0x2090 (en: 'sub A', google: 'sub a')
- - "ₑ": [T: "subíndice e"] # 0x2091 (en: 'sub E', google: 'sub e')
- - "ₒ": [T: "subíndice o"] # 0x2092 (en: 'sub O', google: 'sub o')
- - "ₓ": [T: "subíndice x"] # 0x2093 (en: 'sub X', google: 'sub x')
- - "ₕ": [T: "subíndice h"] # 0x2095 (en: 'sub H', google: 'sub h')
- - "ₖ": [T: "subíndice k"] # 0x2096 (en: 'sub K', google: 'sub k')
- - "ₗ": [T: "subíndice l"] # 0x2097 (en: 'sub L', google: 'sub l')
- - "ₘ": [T: "subíndice m"] # 0x2098 (en: 'sub M', google: 'sub m')
- - "ₙ": [T: "subíndice n"] # 0x2099 (en: 'sub N', google: 'sub n')
- - "ₚ": [T: "subíndice p"] # 0x209a (en: 'sub P', google: 'sub p')
- - "ₛ": [T: "subíndice s"] # 0x209b (en: 'sub S', google: 'sub s')
- - "ₜ": [T: "subíndice t"] # 0x209c (en: 'sub T', google: 'sub t')
- - "₠": [T: "unidades de corriente europeas"] # 0x20a0 (en: 'european currenty units', google translation)
- - "₡": [T: "dos puntos"] # 0x20a1 (en: 'colons', google: 'colons')
- - "₢": [T: "cruzeiro"] # 0x20a2 (en: 'cruzeiro', google: 'cruzeiro')
- - "₣": [T: "franco"] # 0x20a3 (en: 'franc')
- - "₤": [T: "lira"] # 0x20a4
- - "₥": [T: "molinos"] # 0x20a5 (en: 'mills')
- - "₦": [T: "naira"] # 0x20a6
- - "₧": [T: "peseta"] # 0x20a7
- - "₨": [T: "rupia"] # 0x20a8 (en: 'rupees', google: 'rupias')
- - "₩": [T: "won"] # 0x20a9 (google: 'ganado')
- - "₪": [T: "nuevo sheqel"] # 0x20aa (en: 'new sheqels', google: 'nuevo sheqels')
- - "₫": [T: "dong"] # 0x20ab (google: 'polla')
- - "€": [T: "euro"] # 0x20ac (en: 'euros', google: 'euros')
- - "₭": [T: "kip"] # 0x20ad (google: 'dormir')
- - "₮": [T: "tugrik"] # 0x20ae
- - "₯": [T: "dracma"] # 0x20af (en: 'drachma')
- - "₰": [T: "penique alemán"] # 0x20b0 (en: 'german pennies', google: 'centavos alemanes')
- - "₱": [T: "peso"] # 0x20b1 (en: 'pesos', google: 'pesos')
- - "₲": [T: "guaraníes"] # 0x20b2 (en: 'guaranis', google translation)
- - "₳": [T: "australs"] # 0x20b3 (google translation)
- - "₴": [T: "hryvnias"] # 0x20b4 (google translation)
- - "₵": [T: "cedis"] # 0x20b5 (google translation)
- - "₶": [T: "livre tournois"] # 0x20b6 (google translation)
- - "₷": [T: "spesmilos"] # 0x20b7 (google translation)
- - "₸": [T: "tenges"] # 0x20b8 (google translation)
- - "₹": [T: "rupias indias"] # 0x20b9 (en: 'indian rupees', google translation)
- - "₺": [T: "liras turcas"] # 0x20ba (en: 'turkish liras', google translation)
- - "⃐": [T: "arpón izquierdo por encima de la ornamentación"] # 0x20d0 (en: 'left harpoon above embellishment', google: 'arpón de izquierda por encima del adorno')
- - "⃑": [T: "arpón derecho por encima de la ornamentación"] # 0x20d1 (en: 'right harpoon above embellishment', google: 'arpón derecho por encima del adorno')
- - "⃒": [T: "línea vertical larga con ornamentación superpuesta"] # 0x20d2 (en: 'long vertical line overlay embellishment', google translation)
- - "⃓": [T: "línea vertical corta con ornamentación superpuesta"] # 0x20d3 (en: 'short vertical line overlay embellishment', google translation)
- - "⃔": [T: "flecha en sentido contrario a las agujas del reloj por encima de la ornamentación"] # 0x20d4 (en: 'anticlockwise arrow above embellishment', google translation)
- - "⃕": [T: "flecha en el sentido de las agujas del reloj por encima de la ornamentación"] # 0x20d5 (en: 'clockwise arrow above embellishment', google translation)
- - "⃖": [T: "flecha izquierda por encima de la ornamentación"] # 0x20d6 (en: 'left arrow above embellishment', google: 'flecha izquierda por encima del adorno')
- - "⃗": [T: "flecha derecha por encima de la ornamentación"] # 0x20d7 (en: 'right arrow above embellishment', google: 'flecha derecha por encima del adorno')
- - "⃘": [T: "ornamentación superpuesta al anillo"] # 0x20d8 (en: 'ring overlay embellishment', google translation)
- - "⃙": [T: "anillo en el sentido de las agujas del reloj con ornamentación superpuesta"] # 0x20d9 (en: 'clockwise ring overlay embellishment', google translation)
- - "⃚": [T: "anilo en sentido contrario a las agujas del reloj con ornamentación superpuesta"] # 0x20da (en: 'anticlockwise ring overlay embellishment', google translation)
- - "⃛": [T: "tres puntos"] # 0x20db (en: 'triple dot', google: 'triple punto')
- - "⃜": [T: "cuatro puntos "] # 0x20dc (en: 'quadruple dot', google: 'punto cuádruple')
- - "⃝": [T: "ornamentación de círculo envolvente"] # 0x20dd (en: 'enclosing circle embellishment', google translation)
- - "⃞": [T: "ornamentación de cuadrado envolvente"] # 0x20de (en: 'enclosing square embellishment', google translation)
- - "⃟": [T: "ornamentación de rombo envolvente"] # 0x20df (en: 'enclosing diamond embellishment', google translation)
- - "⃠": [T: "ornamentación con bara inversa de círculo envolvente"] # 0x20e0 (en: 'enclosing circle backslash embellishment', google translation)
- - "⃡": [T: "doble flecha por encima de la ornamentación"] # 0x20e1 (en: 'left right arrow above embellishment', google: 'flecha derecha izquierda por encima del adorno')
- - "⃢": [T: "ornamentación de pantalla envolvente"] # 0x20e2 (en: 'enclosing screen embellishment', google translation)
- - "⃣": [T: "ornamentación de clave envolvente"] # 0x20e3 (en: 'enclosing keycap embellishment', google translation)
- - "⃤": [T: "ornamentación de triángulo envolvente apuntando hacia arriba"] # 0x20e4 (en: 'enclosing upward pointing triangle embellishment', google translation)
- - "⃥": [T: "solidus invertido con ornamentación superpuesta"] # 0x20e5 (en: 'reverse solidus overlay embellishment', google translation)
- - "⃦": [T: "doble vértice con ornamentación de trazo"] # 0x20e6 (en: 'double verticle stroke embellishment', google translation)
- - "⃧": [T: "símbolo de anualidad con ornamentación"] # 0x20e7 (en: 'annuity symbol embellishment', google translation)
- - "⃨": [T: "triple punto bajo"] # 0x20e8 (en: 'triple underdot', google translation)
- - "⃩": [T: "amplio puente por encima de la ornamentación"] # 0x20e9 (en: 'wide bridge above embellishment', google translation)
- - "⃪": [T: "flecha izquierda con ornamentación superpuesta"] # 0x20ea (en: 'leftwards arrow overlay embellishment', google translation)
- - "⃫": [T: "largo y doble solidus con ornamentación superpuesta"] # 0x20eb (en: 'long double solidus overlay embellishment', google translation)
- - "⃬": [T: "arpón hacia la derecha con ornamentación apuntando hacia abajo"] # 0x20ec (en: 'rightwards harpoon with barb downwards embellishment', google translation)
- - "⃭": [T: "arpón hacia la izquierda con ornamentación apuntando hacia abajo"] # 0x20ed (en: 'leftwards harpoon with barb downwards embellishment', google translation)
- - "⃮": [T: "flecha izquierda por debajo de la ornamentación"] # 0x20ee (en: 'left arrow below embellishment', google translation)
- - "⃯": [T: "flecha derecha por debajo de la ornamentación"] # 0x20ef (en: 'right arrow below embellishment', google translation)
- - "⃰": [T: "asterisco por encima de la ornamentación"] # 0x20f0 (en: 'asterisk above embellishment', google translation)
- - "℄": [T: "símbolo de línea central"] # 0x2104 (en: 'center line symbol', google translation)
- - "℅": [T: "para"] # 0x2105 (en: 'care of', google: 'cuidado de')
- - "℆": [T: "cada una"] # 0x2106 (google: 'cadada una')
- - "ℇ": [T: "constante de euler"] # 0x2107 (en: 'euler's constant', google: 'la constante de euler')
- - "℈": [T: "escrúpulo"] # 0x2108 (en: 'scruples', google translation)
- - "ℊ": [T: "g cursiva"] # 0x210a (en: 'script g', google: 'guión g')
- - "ℌℑℨℭ": # 0x210c, 0x2111, 0x2128, 0x212d
- - T: "g cursiva" # (en: 'fraktur', google: 'fraktur')
- - spell: "translate('.', 'ℌℑℨℭ', 'HIZC')"
-
- - "ℍℙℾℿ": # 0x210d, 0x2119, 0x213e, 0x213f
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "doble tachadura"] # (en: 'double struck', google translation)
- - spell: "translate('.', 'ℍℙℾℿ', 'HPΓΠ')"
-
- - "ℏ": # 0x210f
- - test:
- if: "($Verbosity='Terse')"
- then: [T: "h bar"] # (google translation)
- else: [T: "h barra"] # (en: 'reduced planck constant')
-
- - "ℐℒ℘ℬℰℱℳ": # 0x2110, 0x2112, 0x2118, 0x2130, 0x2131, 0x2133
- - T: "h barra" # (en: 'script')
- - spell: "translate('.', 'ℐℒ℘ℬℰℱℳ', 'ILPBEFM')"
-
- - "℔": [T: "L B símbolo de barra"] # 0x2114 (en: 'pounds', google: 'libras')
- - "№": [T: "signo de número"] # 0x2116 (en: 'number')
- - "℥": [T: "onza"] # 0x2125 (en: 'ounces')
- - "Ω": [T: "ohmio"] # 0x2126 (en: 'ohms')
- - "℧": [T: "iota invertida"] # 0x2129 (en: 'turned iota', google: 'convertido en iota')
- - "Å": [T: "angstrom"] # 0x212b (en: 'angstroms')
- - "ℯ": [T: "e cursiva"] # 0x212f (en: 'script e', google: 'guión e')
-
- # coalesced some chars that use cap letters
- - "Ⅎ℺⅁⅂⅃⅄": # 0x2132, 0x213a, 0x2141, 0x2142, 0x2143, 0x2144
- - test:
- - if: "'.' = '℺'"
- then: [T: "rotado"] # (en: 'rotated', google translation)
- - else_if: "'.' = 'Ⅎ'"
- then: [T: "transformado"] # (en: 'turned', google translation)
- - else_if: "'.' = '⅃'"
- then: [T: "invertido sans-serif"] # (en: 'reversed sans-serif', google translation)
- else: [T: "e cursiva"] # (en: 'turned sans-serif', google: 'convertido en sans-serif')
- - spell: "translate('.', 'Ⅎ℺⅁⅂⅃⅄', 'FQGLLY')"
-
- - "ℴ": [T: "o cursiva"] # 0x2134 (en: 'script o', google: 'guión o')
- - "ℵ": [T: "alef"] # 0x2135 (en: 'first transfinite cardinal')
- - "ℶ": [T: "bet"] # 0x2136 (en: 'second transfinite cardinal')
- - "ℷ": [T: "guímel"] # 0x2137 (en: 'third transfinite cardinal')
- - "ℸ": [T: "dálet"] # 0x2138 (en: 'fourth transfinite cardinal')
- - "ℼ": [T: "pi en negrita de pizarra"] # 0x213c (en: 'double struck pi', google: 'double golpeado pi')
- - "ℽ": [T: "gamma en negrita de pizarra"] # 0x213d (en: 'double struck gamma', google: 'double golpeó a gamma')
- - "⅀": [T: "suma de n-ary en negrita"] # 0x2140 (en: 'double struck n-ary summation', google: 'suma de doble apolón n-ary')
- - "⅋": [T: "ampersand invertido"] # 0x214b (en: 'turned ampersand', google: 'convertido en ampersand')
- - "⅌": [T: "por"] # 0x214c (en: 'per', google: 'por')
- - "ⅎ": [T: "f invertida"] # 0x214e (en: 'turned F', google: 'girado f')
- - "⅐": [T: "un séptimo"] # 0x2150 (en: 'one seventh', google: 'un septimo')
- - "⅑": [T: "un noveno"] # 0x2151 (en: 'one ninth', google: 'un noveno')
- - "⅒": [T: "un dadoécimo"] # 0x2152 (en: 'one tenth', google: 'una décima parte')
- - "⅓": [T: "un tercio"] # 0x2153 (en: 'one third', SRE: 'Vulgar Fracción Un Tercero')
- - "⅔": [T: "dos tercios"] # 0x2154 (en: 'two thirds', SRE: 'Fracción vulgar dos tercios')
- - "⅕": [T: "un quinto"] # 0x2155 (en: 'one fifth', SRE: 'Vulgar Fraction One Fifth')
- - "⅖": [T: " franción comúndos quintos"] # 0x2156 (en: 'two fifths', MathPlayer: 'dos quintos', google: 'dos quintas partes')
- - "⅗": [T: " fracción común tres quintos"] # 0x2157 (en: 'three fifths', SRE: 'Fracción vulgar tres quintos')
- - "⅘": [T: " fracción común cuatro quintos"] # 0x2158 (en: 'four fifths', SRE: 'Fracción vulgar cuatro quintos')
- - "⅙": [T: "un sexto"] # 0x2159 (en: 'one sixth', SRE: 'Vulgar Fracción Un Sexto')
- - "⅚": [T: "cinco sextos"] # 0x215a (en: 'five sixths', SRE: 'Vulgar fracción cinco sextos')
- - "⅛": [T: "fracción común un octavo"] # 0x215b (en: 'one eighth', MathPlayer: 'un octavo', google: 'un ath')
- - "⅜": [T: "fracción común tres octavos"] # 0x215c (en: 'three eighths', MathPlayer: 'tres octavos', google: 'tres ats')
- - "⅝": [T: "fracción común cinco octavos"] # 0x215d (en: 'five eighths', MathPlayer: 'cinco octavos', google: 'cinco ats')
- - "⅞": [T: "fracción común siete octavos"] # 0x215e (en: 'seven eighths', MathPlayer: 'siete octavos', google: 'siete ats')
- - "⅟": [T: "Numerador de fracción uno"] # 0x215f (en: 'one over', google: 'uno sobre')
- - "Ⅰ": [T: "Ⅰ"] # 0x2160 (en: 'I', google translation)
- - "Ⅱ": [T: "T"] # 0x2161 (en: 'I I', google translation)
- - "Ⅲ": [T: "III"] # 0x2162 (en: 'I I I', google translation)
- - "Ⅳ": [T: "IV"] # 0x2163 (en: 'I V', google translation)
- - "Ⅴ": [T: "V"] # 0x2164 (en: 'V', google translation)
- - "Ⅵ": [T: "VI"] # 0x2165 (en: 'V I', google translation)
- - "Ⅶ": [T: "VII"] # 0x2166 (en: 'V I I', google translation)
- - "Ⅷ": [T: "VIII"] # 0x2167 (en: 'V I I I', google translation)
- - "Ⅸ": [T: "IX"] # 0x2168 (en: 'I X', google translation)
- - "Ⅹ": [T: "XI"] # 0x216a (en: 'X I', google translation)
- - "Ⅻ": [T: "XII"] # 0x216b (en: 'X I I', google translation)
- - "Ⅼ": [T: "Ⅼ"] # 0x216c (en: 'L', google translation)
- - "Ⅽ": [T: "Ⅽ"] # 0x216d (en: 'C', google translation)
- - "Ⅾ": [T: "Ⅾ"] # 0x216e (en: 'D', google translation)
- - "Ⅿ": [T: "Ⅿ"] # 0x216f (en: 'M', google translation)
- - "ⅰ": [T: "ⅰ"] # 0x2170 (en: 'I', google translation)
- - "ⅱ": [T: "I"] # 0x2171 (en: 'I I', google translation)
- - "ⅲ": [T: "III"] # 0x2172 (en: 'I I I', google translation)
- - "ⅳ": [T: "IV"] # 0x2173 (en: 'I V', google translation)
- - "ⅴ": [T: "ⅴ"] # 0x2174 (en: 'V', google translation)
- - "ⅵ": [T: "VI"] # 0x2175 (en: 'V I', google translation)
- - "ⅶ": [T: "VII"] # 0x2176 (en: 'V I I', google translation)
- - "ⅷ": [T: "VIII"] # 0x2177 (en: 'V I I I', google translation)
- - "ⅸ": [T: "IX"] # 0x2178 (en: 'I X', google translation)
- - "ⅹ": [T: "ⅹ"] # 0x2179 (en: 'X', google translation)
- - "ⅺ": [T: "XI"] # 0x217a (en: 'X I', google translation)
- - "ⅻ": [T: "XII"] # 0x217b (en: 'X I I', google translation)
- - "ⅼ": [T: "ⅼ"] # 0x217c (en: 'L', google translation)
- - "ⅽ": [T: "ⅽ"] # 0x217d (en: 'C', google translation)
- - "ⅾ": [T: "ⅾ"] # 0x217e (en: 'D', google translation)
- - "ⅿ": [T: "ⅿ"] # 0x217f (en: 'M', google translation)
- - "↉": [T: "fracción común cero tercios"] # 0x2189 (en: 'zero thirds', google: 'cero tercios')
- - "↔": [T: "flecha hacia izquierda y derecha"] # 0x2194 (en: 'left right arrow')
- - "↕": [T: "flecha hacia arriba y abajo"] # 0x2195 (en: 'up down arrow')
- - "↖": [T: "flecha hacia el noroeste"] # 0x2196 (en: 'north west arrow')
- - "↗": # 0x2197
- - test:
- if: "ancestor::*[2][self::m:limit]"
- then: [T: "enfoque desde abajo"] # (en: 'approaches from below', google translation)
- else: [T: "flecha hacia el nordeste"] # (en: 'north east arrow')
-
- - "↘": # 0x2198
- - test:
- if: "ancestor::*[2][self::m:limit]"
- then: [T: "enfoque desde arriba"] # (en: 'approaches from above', google translation)
- else: [T: "flecha hacia el sudeste"] # (en: 'south east arrow')
-
- - "↙": [T: "flecha hacia el sudoeste"] # 0x2199 (en: 'south west arrow')
- - "↚": [T: "flecha con trazo hacia la izquierda"] # 0x219a (en: 'leftwards arrow with stroke')
- - "↛": [T: "flecha con trazo hacia la derecha"] # 0x219b (en: 'rightwards arrow with stroke')
- - "↜": [T: "flecha izquierda ondulada"] # 0x219c (en: 'leftwards wave arrow')
- - "↝": [T: "flecha derecha ondulada"] # 0x219d (en: 'rightwards wave arrow')
- - "↞": [T: "flecha hacia la izquierda con doble punta"] # 0x219e (en: 'leftwards two headed arrow')
- - "↟": [T: "flecha hacia arriba con doble punta"] # 0x219f (en: 'upwards two headed arrow')
- - "↠": [T: "flecha hacia la derecha con doble punta"] # 0x21a0 (en: 'rightwards two headed arrow')
- - "↡": [T: "flecha hacia abajo con doble punta"] # 0x21a1 (en: 'downwards two headed arrow')
- - "↢": [T: "flecha hacia la izquierda con cola"] # 0x21a2 (en: 'leftwards arrow with tail')
- - "↣": [T: "flecha hacia la derecha con cola"] # 0x21a3 (en: 'rightwards arrow with tail')
- - "↤": [T: "flecha hacia la izquierda con barra"] # 0x21a4 (en: 'leftwards arrow from bar')
- - "↥": [T: "flecha hacia arriba con barra"] # 0x21a5 (en: 'upwards arrow from bar')
- - "↦": [T: "flecha derecha hacia arriba con barra"] # 0x21a6 (en: 'rightwards arrow from bar')
- - "↧": [T: "flecha hacia abajo con barra"] # 0x21a7 (en: 'downwards arrow from bar')
- - "↨": [T: "flecha hacia arriba y hacia abajo con base"] # 0x21a8 (en: 'up down arrow with base')
- - "↩": [T: "flecha hacia la izquierda con gancho"] # 0x21a9 (en: 'leftwards arrow with hook')
- - "↪": [T: "fflecha hacia la derecha con gancho"] # 0x21aa (en: 'rightwards arrow with hook')
- - "↫": [T: "flecha hacia la izquierda con bucle"] # 0x21ab (en: 'leftwards arrow with loop')
- - "↬": [T: "flecha hacia la derecha con bucle"] # 0x21ac (en: 'rightwards arrow with loop')
- - "↭": [T: "flecha ondulada hacia la izquierda y la derecha"] # 0x21ad (en: 'left right wave arrow')
- - "↮": [T: "flecha hacia la izquierda y derecha con trazo"] # 0x21ae (en: 'left right arrow with stroke')
- - "↯": [T: "flecha hacia abajo en zigzag"] # 0x21af (en: 'downwards zigzag arrow')
- - "↰": [T: "flecha hacia arriba con punta hacia la izquierda"] # 0x21b0 (en: 'upwards arrow with tip leftwards')
- - "↱": [T: "flecha hacia arriba con punta hacia la derecha"] # 0x21b1 (en: 'upwards arrow with tip rightwards')
- - "↲": [T: "flecha hacia abajo con punta hacia la izquierda"] # 0x21b2 (en: 'downwards arrow with tip leftwards')
- - "↳": [T: "flecha hacia abajo con punta hacia la derecha"] # 0x21b3 (en: 'downwards arrow with tip rightwards')
- - "↴": [T: "flecha hacia la derecha con intersección hacia abajo"] # 0x21b4 (en: 'rightwards arrow with corner downwards')
- - "↵": [T: "flecha hacia abajo con intersección hacia la izquierda"] # 0x21b5 (en: 'downwards arrow with corner leftwards')
- - "↶": [T: "flecha semicircular superior en sentido contrario a las agujas del reloj"] # 0x21b6 (en: 'anticlockwise top semicircle arrow')
- - "↷": [T: "flecha semicircular superior en sentido de las agujas del reloj"] # 0x21b7 (en: 'clockwise top semicircle arrow')
- - "↸": [T: "flecha noroeste hacia barra larga"] # 0x21b8 (en: 'north west arrow to long bar')
- - "↹": [T: "flecha izquierda hacia barra por encima de flecha derecha hacia barra"] # 0x21b9 (en: 'leftwards arrow to bar over rightwards arrow to bar')
- - "↺": [T: "flecha circular abierta en sentido contrario a las agujas del reloj"] # 0x21ba (en: 'anticlockwise open circle arrow')
- - "↻": [T: "flecha circular abierta en sentido de las agujas del reloj"] # 0x21bb (en: 'clockwise open circle arrow')
- - "↼": [T: "flecha izquierda con arpón en la parte superior"] # 0x21bc (en: 'left harpoon up')
- - "↽": [T: "flecha izquierda con arpón en la parte inferior"] # 0x21bd (en: 'left harpoon down')
- - "↾": [T: "arpón derecho hacia arriba"] # 0x21be (en: 'up harpoon right')
- - "↿": [T: "arpón izquierdo hacia arriba"] # 0x21bf (en: 'up harpoon left')
- - "⇀": [T: "arpón derecho hacia arriba"] # 0x21c0 (en: 'right harpoon up')
- - "⇁": [T: "arpón derecho hacia abajo"] # 0x21c1 (en: 'right harpoon down')
- - "⇂": [T: "arpón derecho hacia abajo"] # 0x21c2 (en: 'down harpoon right')
- - "⇃": [T: "arpón izquierdo hacia abajo"] # 0x21c3 (en: 'down harpoon left')
- - "⇄": [T: "flecha hacia la derecha por encima de flecha hacia la izquierda"] # 0x21c4 (en: 'rightwards arrow over leftwards arrow')
- - "⇅": [T: "flecha hacia arriba a la izquierda de flecha hacia abajo"] # 0x21c5 (en: 'upwards arrow leftwards of downwards arrow')
- - "⇆": [T: "flecha hacia la izquierda por encima de flecha hacia la derecha"] # 0x21c6 (en: 'leftwards arrow over rightwards arrow')
- - "⇇": [T: "dos flechas hacia la izquierda"] # 0x21c7 (en: 'leftwards paired arrows')
- - "⇈": [T: "dos flechas hacia arriba"] # 0x21c8 (en: 'upwards paired arrows')
- - "⇉": [T: "dos flechas hacia la derecha"] # 0x21c9 (en: 'rightwards paired arrows')
- - "⇊": [T: "dos flechas hacia abajo"] # 0x21ca (en: 'downwards paired arrows')
- - "⇋": [T: "arpón izquierdo por encima de arpón derecho"] # 0x21cb (en: 'left harpoon over right harpoon')
- - "⇌": [T: "arpón derecho por encima de arpón izquierdo"] # 0x21cc (en: 'right harpoon over left harpoon')
- - "⇍": [T: "flecha doble izquierda con trazo"] # 0x21cd (en: 'leftwards double arrow with stroke')
- - "⇎": [T: "flecha doble izquierda y derecha con trazo"] # 0x21ce (en: 'left right double arrow with stroke')
- - "⇏": [T: "flecha doble hacia la derecha con trazo"] # 0x21cf (en: 'rightwards double arrow with stroke')
- - "⇐": [T: "flecha doble hacia la izquierda"] # 0x21d0 (en: 'leftwards double arrow')
- - "⇑": [T: "flecha doble hacia arriba"] # 0x21d1 (en: 'upwards double arrow')
- - "⇓": [T: "flecha doble hacia abajo"] # 0x21d3 (en: 'downwards double arrow')
- - "⇔": [T: "flecha doble vertical"] # 0x21d5 (en: 'up down double arrow')
- - "⇖": [T: "flecha doble hacia noroeste"] # 0x21d6 (en: 'north west double arrow')
- - "⇗": [T: "flecha doble hacia nordeste"] # 0x21d7 (en: 'north east double arrow')
- - "⇘": [T: "flecha doble hacia sudeste"] # 0x21d8 (en: 'south east double arrow')
- - "⇙": [T: "flecha doble hacia sudoeste"] # 0x21d9 (en: 'south west double arrow')
- - "⇚": [T: "flecha triple hacia la izquierda"] # 0x21da (en: 'leftwards triple arrow')
- - "⇛": [T: "flecha triple hacia la derecha"] # 0x21db (en: 'rightwards triple arrow')
- - "⇜": [T: "flecha ondulada izquierda"] # 0x21dc (en: 'leftwards squiggle arrow')
- - "⇝": [T: "flecha ondulada hacia la derecha"] # 0x21dd (en: 'rightwards squiggle arrow')
- - "⇞": [T: "flecha hacia arriba con doble trazo"] # 0x21de (en: 'upwards arrow with double stroke')
- - "⇟": [T: "flecha hacia abajo con doble trazo"] # 0x21df (en: 'downwards arrow with double stroke')
- - "⇠": [T: "flecha de puntos hacia la izquierda"] # 0x21e0 (en: 'leftwards dashed arrow')
- - "⇡": [T: "flecha de puntos hacia arriba"] # 0x21e1 (en: 'upwards dashed arrow')
- - "⇢": [T: "flecha de puntos hacia la derecha"] # 0x21e2 (en: 'rightwards dashed arrow')
- - "⇣": [T: "flecha de puntos hacia abajo"] # 0x21e3 (en: 'downwards dashed arrow')
- - "⇤": [T: "flecha hacia la izquierda con barra"] # 0x21e4 (en: 'leftwards arrow to bar')
- - "⇥": [T: "flecha hacia la derecha con barra"] # 0x21e5 (en: 'rightwards arrow to bar')
- - "⇦": [T: "flecha blanca hacia la izquierda"] # 0x21e6 (en: 'leftwards white arrow')
- - "⇧": [T: "flecha blanca hacia arriba"] # 0x21e7 (en: 'upwards white arrow')
- - "⇨": [T: "flecha blanca hacia la derecha"] # 0x21e8 (en: 'rightwards white arrow')
- - "⇩": [T: "flecha blanca hacia abajo"] # 0x21e9 (en: 'downwards white arrow')
- - "⇪": [T: "flecha blanca hacia arriba partiendo de barra"] # 0x21ea (en: 'upwards white arrow from bar')
- - "⇫": [T: "flecha blanca hacia arriba sobre un pedestal con barra horizontal"] # 0x21eb
- - "⇬": [T: "flecha blanca hacia arriba sobre pedestal con barra horizontal"] # 0x21ec (en: 'upwards white arrow on pedestal with horizontal bar', google: 'arrow blanca hacia arriba en el pedestal con barra horizontal')
- - "⇭": [T: "flecha blanca hacia arriba sobre un pedestal con barra vertical"] # 0x21ed (en: 'upwards white arrow on pedestal with vertical bar', google: 'arrow blanca hacia arriba en el pedestal con barra vertical')
- - "⇮": [T: "flecha doble blanca hacia arriba"] # 0x21ee (en: 'upwards white double arrow', google: 'hacia arriba flecha doble blanca')
- - "⇯": [T: "flecha doble blanca hacia arriba sobre un pedestal"] # 0x21ef (en: 'upwards white double arrow on pedestal', google: 'arrow doble blanca hacia arriba en el pedestal')
- - "⇰": [T: "flecha blanca hacia la derecha partiendo de un muro"] # 0x21f0 (en: 'rightwards white arrow from wall', google: 'arrow blanca hacia la derecha desde la pared')
- - "⇱": [T: "flecha noroeste hacia la intersección"] # 0x21f1 (en: 'north west arrow to corner', google: 'north west arrow a la esquina')
- - "⇲": [T: "flecha sudeste hacia la intersección"] # 0x21f2 (en: 'south east arrow to corner', google: 'south east arrow a la esquina')
- - "⇳": [T: "flecha blanca vertical"] # 0x21f3 (en: 'up down white arrow', google: 'arrow white arrow')
- - "⇴": [T: "flecha derecha con círculo pequeño"] # 0x21f4 (en: 'right arrow with small circle')
- - "⇵": [T: "flecha superior hacia la derecha de flecha inferior"] # 0x21f5 (en: 'downwards arrow leftwards of upwards arrow')
- - "⇶": [T: "tres flechashacia la derecha"] # 0x21f6
- - ⇷": [T: "flecha hacia la izquierda con trazo vertical"] # 0x21f7 (en: 'leftwards arrow with vertical stroke')
- - "⇸": [T: "flecha hacia la derecha con trazo vertical"] # 0x21f8 (en: 'rightwards arrow with vertical stroke')
- - "⇹": [T: "flecha izquierda derecha con trazo vertical"] # 0x21f9 (en: 'left right arrow with vertical stroke', google: 'flecha derecha izquierda con carrera vertical')
- - "⇺": [T: "flecha hacia la izquierda con doble trazo vertical"] # 0x21fa (en: 'leftwards arrow with double vertical stroke', google: 'flecha hacia la izquierda con trazo vertical doble')
- - "⇻": [T: "flecha hacia la derecha con doble trazo vertical"] # 0x21fb (en: 'rightwards arrow with double vertical stroke', google: 'flecha hacia la derecha con trazo vertical doble')
- - "⇼": [T: "flecha izquierda derecha con doble trazo vertical"] # 0x21fc (en: 'left right arrow with double vertical stroke', google: 'flecha derecha izquierda con doble carrera vertical')
- - "⇽": [T: "flecha hacia la izquierda con punta abierta"] # 0x21fd (en: 'leftwards open headed arrow')
- - "⇾": [T: "flecha hacia la derecha con punta abierta"] # 0x21fe (en: 'rightwards open headed arrow')
- - "⇿": [T: "flecha izquierda derecha con punta abierta"] # 0x21ff (en: 'left right open headed arrow')
- - "∀": [T: "para todo"] # 0x2200 (en: 'for all')
- - "∁": # 0x2201
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "el"] # (en: 'the', google translation)
- - T: "complemento de" # (en: 'complement of')
- - "∃": [T: "existe"] # 0x2203 (en: 'there exists')
- - "∄": [T: "no existe"] # 0x2204 (en: 'there does not exist')
- - "∅": [T: "conjunto vacío"] # 0x2205 (en: 'empty set')
- - "∇": # 0x2207
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "el"] # (en: 'the', google translation)
- - T: "gradiente" # (en: 'gradient of', google: 'gradiente de')
- - "∋": [T: "comprende "] # 0x220b (en: 'contains the member')
- - "∌": [T: "no comprende"] # 0x220c (en: 'does not contain the member')
- - "∍": [T: "comprende "] # 0x220d (en: 'contains the member')
- - "∎": [T: "fin de demostración"] # 0x220e (en: 'end of proof')
- - "∏": [T: "producto"] # 0x220f (en: 'product')
- - "∐": [T: "coproducto"] # 0x2210 (en: 'coproduct')
- - "∑": [T: "suma"] # 0x2211 (en: 'sum', SRE: 'sumatorio')
- - "−": [T: "menos"] # 0x2212 (en: 'minus')
- - "∓": [T: "menos más"] # 0x2213 (en: 'minus or plus')
- - "∔": [T: "punto más"] # 0x2214 (en: 'dot plus')
- - "∕": [T: "dividido por"] # 0x2215 (en: 'divided by')
- - "∖": [T: "menos"] # 0x2216 (en: 'set minus')
- - "∗": [T: "asterisco"] # 0x2217 (en: 'times')
- - "∙": # 0x2219
- - test:
- if: "@data-chem-formula-op"
- then: [T: "punto"] # (en: 'dot', google translation)
- else: [T: "bala"] # (en: 'times')
-
- - "∛": # 0x221b
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "raíz cúbica de"] # (en: 'cube root of')
- - "∜": # 0x221c
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "el"] # (en: 'the', google translation)
- - T: "raíz cuarta de" # (en: 'fourth root of')
- - "∞": [T: "infinito"] # 0x221e (en: 'infinity')
- - "∟": [T: "ángulo recto"] # 0x221f (en: 'right angle')
- - "∠": [T: "ángulo"] # 0x2220 (en: 'angle')
- - "∡": [T: "ángulo medido"] # 0x2221 (en: 'measured angle')
- - "∢": [T: "ángulo esférico"] # 0x2222 (en: 'spherical angle')
- - "∧": [T: "y"] # 0x2227 (en: 'and')
- - "∨": [T: "o"] # 0x2228 (en: 'or')
- - "∩": [T: "intersección"] # 0x2229 (en: 'intersection')
- - "∪": [T: "unión"] # 0x222a (en: 'union')
- - "∫": [T: "integral"] # 0x222b
- - "∬": [T: "integral doble"] # 0x222c (en: 'double integral')
- - "∭": [T: "integral triple"] # 0x222d (en: 'triple integral')
- - "∮": [T: "integral de contorno"] # 0x222e (en: 'contour integral')
- - "∯": [T: "integral de superficie"] # 0x222f (en: 'surface integral')
- - "∰": [T: "integral de volumen"] # 0x2230 (en: 'volume integral')
- - "∱": [T: "integral de contorno en sentido de las agujas del reloj"] # 0x2231 (en: 'clockwise integral')
- - "∲": [T: "integral de contorno en sentido de las agujas del reloj"] # 0x2232 (en: 'clockwise contour integral')
- - "∳": [T: "integral de contorno en sentido contrario a las agujas del reloj"] # 0x2233 (en: 'anticlockwise contour integral')
- - "∴": [T: "por lo tanto"] # 0x2234 (en: 'therefore')
- - "∵": [T: "porque"] # 0x2235 (en: 'because')
- - "∸": [T: "punto menos"] # 0x2238 (en: 'dot minus')
- - "∹": [T: "exceso"] # 0x2239 (en: 'has excess compared to')
- - "∺": # 0x223a
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "geométricamente proporcional a" # (en: 'geometrically proportional to')
- - "∻": # 0x223b
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "homotético a" # (en: 'homothetic to')
- - "≀": [T: "producto de guirnalda"] # 0x2240 (en: 'wreath product')
- - "≁": [T: "no tilde"] # 0x2241 (en: 'not tilde')
- - "≂": [T: "menos tilde"] # 0x2242 (en: 'minus tilde')
- - "≃": # 0x2243
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "asintóticamente igual a" # (en: 'asymptotically equal to')
- - "≄": # 0x2244
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "no asintóticamente igual a" # (en: 'not asymptotically equal to')
- - "≅": # 0x2245
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "aproximadamente igual a" # (en: 'approximately equal to')
- - "≆": # 0x2246
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "aproximado pero no igual a" # (en: 'approximately but not actually equal to')
- - "≇": # 0x2247
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "ni proximadamente ni realmente igual a" # (en: 'neither approximately nor actually equal to')
- - "≈": # 0x2248
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "casi igual a" # (en: 'almost equal to', SRE: 'aproximado')
- - "≉": # 0x2249
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "no es casi igual a" # (en: 'not almost equal to')
- - "≊": # 0x224a
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "igual o casi igual a" # (en: 'almost equal or equal to')
- - "≋": [T: "triple tilde"] # 0x224b
- - "≌": [T: "todo igual a"] # 0x224c (en: 'are all equal to')
- - "≍": # 0x224d
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "equivalente a" # (en: 'equivalent to')
- - "≎": # 0x224e
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "geométricamente equivalente a" # (en: 'geometrically equivalent to')
- - "≏": # 0x224f
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "la"] # (en: 'the', google translation)
- - T: "diferencia entre" # (en: 'difference between')
- - "≐": [T: "se acerca al límite"] # 0x2250 (en: 'approaches the limit')
- - "≑": # 0x2251
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "geométricamente igual a" # (en: 'geometrically equal to')
- - "≒": # 0x2252
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "aproximadamente igual a o imagen de" # (en: 'approximately equal to or the image of')
- - "≓": # 0x2253
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es la"] # (en: 'is the', google translation)
- - T: "imagen de o aproximadamente igual a" # (en: 'image of or approximately equal to')
- - "≔": [T: "dos puntos igual"] # 0x2254 (en: 'colon equals')
- - "≕": [T: "igual dos puntos"] # 0x2255 (en: 'equals colon')
- - "≖": [T: "igual incluyendo anillo"] # 0x2256 (en: 'ring in equal to')
- - "≗": # 0x2257
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "aproximadamente igual a" # (en: 'approximately equal to')
- - "≘": [T: "corresponde a"] # 0x2258 (en: 'corresponds to')
- - "≙": [T: "estimación"] # 0x2259 (en: 'estimates')
- - "≚": # 0x225a
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "equiángulo con" # (en: 'equiangular to')
- - "≛": [T: "igual con estrella"] # 0x225b (en: 'star equals')
- - "≜": [T: "delta igual a"] # 0x225c (en: 'delta equals')
- - "≝": [T: "igual por definición a"] # 0x225d (en: 'is defined to be')
- - "≞": # 0x225e
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "medido por" # (en: 'measured by')
- - "≟": [T: "igual con interrogante"] # 0x225f (en: 'has an unknown relationship with')
- - "≢": # 0x2262
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "no es idéntico a" # (en: 'not identical to')
- - "≣": # 0x2263
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "estrictamente equivalente a" # (en: 'strictly equivalent to')
- - "≨": # 0x2268
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "menor que pero no igual a" # (en: 'less than but not equal to')
- - "≩": # 0x2269
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "mayor que pero no igual a" # (en: 'greater than but not equal to')
- - "≪": # 0x226a
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "mucho menor que" # (en: 'much less than')
- - "≫": # 0x226b
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "mucho mayor que" # (en: 'much greater than')
- - "≬": # 0x226c
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "entre" # (en: 'between')
- - "≭": # 0x226d
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "no equivalente a" # (en: 'not equivalent to')
- - "≮": # 0x226e
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "no menor que" # (en: 'not less than')
- - "≯": # 0x226f
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "no mayor que" # (en: 'not greater than')
- - "≰": # 0x2270
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "no menor ni igual a" # (en: 'neither less than nor equal to')
- - "≱": # 0x2271
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "no mayor ni igual a" # (en: 'neither greater than nor equal to')
- - "≲": # 0x2272
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "menor o equivalente a" # (en: 'less than or equivalent to')
- - "≳": # 0x2273
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "mayor o equivalente a" # (en: 'greater than or equivalent to')
- - "≴": # 0x2274
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "no menor ni equivalente a" # (en: 'neither less than nor equivalent to')
- - "≵": # 0x2275
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "no mayor ni equivalente a" # (en: 'neither greater than nor equivalent to')
- - "≶": # 0x2276
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "menor o mayor que" # (en: 'less than or greater than')
- - "≷": # 0x2277
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "mayor o menor que" # (en: 'greater than or less than')
- - "≸": # 0x2278
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "no menor ni mayor que" # (en: 'neither less than nor greater than')
- - "≹": # 0x2279
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "no mayor ni menor que" # (en: 'neither greater than nor less than')
- - "≺": [T: "precede a"] # 0x227a (en: 'precedes')
- - "≻": [T: "sigue a"] # 0x227b (en: 'succeeds')
- - "≼": [T: "precede o es igual a"] # 0x227c (en: 'precedes or is equal to')
- - "≽": [T: "sigue o es igual a"] # 0x227d (en: 'succeeds or is equal to')
- - "≾": [T: "precede o es equivalente a"] # 0x227e (en: 'precedes or is equivalent to')
- - "≿": [T: "sigue o es equivalente a"] # 0x227f (en: 'succeeds or is equivalent to')
- - "⊀": [T: "no precede a"] # 0x2280 (en: 'does not precede')
- - "⊁": [T: "no sigue a"] # 0x2281 (en: 'does not succeed')
- - "⊈": # 0x2288
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "no incluido ni igual a" # (en: 'neither a subset of nor equal to')
- - "⊉": # 0x2289
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "no contiene ni es igual a" # (en: 'neither a superset of nor equal to')
- - "⊊": [T: "incluido estrictamente en"] # 0x228a (en: 'subset of with not equal to')
- - "⊋": [T: "contiene estrictamente a"] # 0x228b (en: 'superset of with not equal to')
- - "⊌": [T: "multiconjunto"] # 0x228c (en: 'multiset')
- - "⊍": [T: "multiplicación de multiconjuntos"] # 0x228d (en: 'multiset multiplication')
- - "⊎": [T: "unión de multiconjuntos"] # 0x228e (en: 'multiset union')
- - "⊏": [T: "imagen cuadrada de"] # 0x228f (en: 'square image of')
- - "⊐": [T: "original cuadrado de"] # 0x2290 (en: 'square original of')
- - "⊑": [T: "imagen cuadrada de o igual a"] # 0x2291 (en: 'square image of or equal to')
- - "⊒": [T: "original cuadrado de o igual a"] # 0x2292 (en: 'square original of or equal to')
- - "⊓": [T: "intersección cuadrada"] # 0x2293 (en: 'square cap')
- - "⊔": [T: "unión cuadrada"] # 0x2294 (en: 'square cup')
- - "⊕": [T: "signo más en forma de círculo"] # 0x2295 (en: 'circled plus')
- - "⊖": [T: "signo menos en forma de círculo"] # 0x2296 (en: 'circled minus')
- - "⊗": [T: "signo por en forma de círculo"] # 0x2297 (en: 'circled times')
- - "⊘": [T: "barra en forma de círculo"] # 0x2298 (en: 'circled slash')
- - "⊙": [T: "punto en forma de círculo"] # 0x2299 (en: 'circled dot operator')
- - "⊚": [T: "anillo en círculo"] # 0x229a (en: 'circled ring')
- - "⊛": [T: "asterisco en círculo"] # 0x229b (en: 'circled asterisk')
- - "⊜": [T: "signo igual en círculo"] # 0x229c (en: 'circled equals')
- - "⊝": [T: "signo menos en círculo"] # 0x229d (en: 'circled dash')
- - "⊞": [T: "signo más en forma de cuadrado"] # 0x229e (en: 'squared plus')
- - "⊟": [T: "menos en forma de cuadrado"] # 0x229f (en: 'squared minus')
- - "⊠": [T: "signo por en forma de cuadrado"] # 0x22a0 (en: 'squared times')
- - "⊡": [T: "punto en forma de cuadrado"] # 0x22a1 (en: 'squared dot operator')
- - "⊢": [T: "t horizontal hacia la izquierda"] # 0x22a2 (en: 'proves')
- - "⊣": [T: "t horizontal hacia la derecha"] # 0x22a3 (en: 'does not yield')
- - "⊤": [T: "perpendicular"] # 0x22a4 (en: 'top')
- - "⊥": # 0x22a5
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "perpendicular invertida" # (en: 'bottom')
- - "⊦": [T: "afirmación"] # 0x22a6 (en: 'reduces to')
- - "⊧": [T: "modela"] # 0x22a7 (en: 'models')
- - "⊨": # 0x22a8
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "verdadero" # (en: 'true')
- - "⊩": [T: "obliga"] # 0x22a9 (en: 'forces')
- - "⊪": [T: "triple barra vertical torniquete a la derecha"] # 0x22aa (en: 'triple vertical bar right turnstile')
- - "⊫": [T: "doble barra vertical con doble torniquete a la derecha"] # 0x22ab (en: 'double vertical bar double right turnstile')
- - "⊬": [T: "no demuestra"] # 0x22ac (en: 'does not prove')
- - "⊭": # 0x22ad
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "falso" # (en: 'not true')
- - "⊮": [T: "no obliga"] # 0x22ae (en: 'does not force')
- - "⊯": [T: "doble barra vertical negada con doble torniquete a la derecha"] # 0x22af (en: 'negated double vertical bar double right turnstile')
- - "⊰": [T: "precede con respecto a"] # 0x22b0 (en: 'precedes under relation')
- - "⊱": [T: "sigue con respecto a"] # 0x22b1 (en: 'succeeds under relation')
- - "⊲": # 0x22b2
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "subgrupo normal de" # (en: 'a normal subgroup of')
- - "⊳": [T: "contiene como subgrupo normal a"] # 0x22b3 (en: 'contains as a normal subgroup')
- - "⊴": # 0x22b4
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "subgrupo normal o es igual a" # (en: 'a normal subgroup of or equal to')
- - "⊵": [T: "contiene como subgrupo normal o es igual a"] # 0x22b5 (en: 'contains as a normal subgroup or equal to')
- - "⊶": # 0x22b6
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "el original de" # (en: 'the original of')
- - "⊷": # 0x22b7
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "imagen de" # (en: 'an image of')
- - "⊸": [T: "multifunción"] # 0x22b8 (en: 'multimap')
- - "⊹": [T: "matriz hermitiana conjugada"] # 0x22b9 (en: 'hermitian conjugate matrix')
- - "⊺": [T: "intercalada"] # 0x22ba (en: 'intercalate')
- - "⊻": [T: "o excluyente"] # 0x22bb (en: 'xor')
- - "⊼": [T: "no y"] # 0x22bc (en: 'nand')
- - "⊽": [T: "no o"] # 0x22bd (en: 'nor')
- - "⊾": [T: "ángulo recto con arco"] # 0x22be (en: 'right angle with arc')
- - "⊿": [T: "triángulo rectángulo"] # 0x22bf (en: 'right triangle')
- - "⋀": [T: "y"] # 0x22c0 (en: 'logical and')
- - "⋁": [T: "o"] # 0x22c1 (en: 'logical or')
- - "⋂": [T: "intersección"] # 0x22c2 (en: 'intersection')
- - "⋃": [T: "unión"] # 0x22c3 (en: 'union')
- - "⋄": [T: "operador diamante"] # 0x22c4 (en: 'diamond operator')
- - "⋅": # 0x22c5
- - test:
- if: "@data-chem-formula-op"
- then: [T: "punto"] # (en: 'dot', google translation)
- else: [T: "punto"] # (en: 'times')
-
- - "⋆": [T: "operador estrella"] # 0x22c6 (en: 'times')
- - "⋇": [T: "dividido por"] # 0x22c7 (en: 'division times')
- - "⋈": [T: "moño"] # 0x22c8 (en: 'bowtie')
- - "⋉": # 0x22c9
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "factor normal izquierdo producto semidirecto" # (en: 'the left normal factor semidirect product of')
- - "⋊": # 0x22ca
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "factor normal derecho producto semidirecto" # (en: 'the right normal factor semidirect product of')
- - "⋋": # 0x22cb
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "producto semidirecto izquierdo" # (en: 'the left semidirect product of')
- - "⋌": # 0x22cc
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "producto semidirecto derecho" # (en: 'the right semidirect product of')
- - "⋍": [T: "tilde invertida igual a"] # 0x22cd (en: 'reversed tilde equals')
- - "⋎": [T: "o rotacional"] # 0x22ce (en: 'curly logical or')
- - "⋏": [T: "y rotacional"] # 0x22cf (en: 'curly logical and')
- - "⋐": # 0x22d0
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "subconjunto doble de" # (en: 'a double subset of')
- - "⋑": # 0x22d1
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "superconjunto doble de" # (en: 'a double superset of')
- - "⋒": # 0x22d2
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "la"] # (en: 'the', google translation)
- - T: "doble intersección" # (en: 'double intersection of')
- - "⋓": # 0x22d3
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "la"] # (en: 'the', google translation)
- - T: "doble unión" # (en: 'double union of')
- - "⋔": # 0x22d4
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "el"] # (en: 'the', google translation)
- - T: "intersección propia de" # (en: 'proper intersection of')
- - "⋕": # 0x22d5
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "paralela o igual a" # (en: 'equal to and parallel to')
- - "⋖": [T: "menor que con punto"] # 0x22d6 (en: 'less than with dot')
- - "⋗": [T: "mayor que con punto"] # 0x22d7 (en: 'greater than with dot')
- - "⋘": # 0x22d8
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "mucho menor que" # (en: 'very much less than')
- - "⋙": # 0x22d9
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "mucho mayor que" # (en: 'very much greater than')
- - "⋚": # 0x22da
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "menor que igual a o mayor que" # (en: 'less than equal to or greater than')
- - "⋛": # 0x22db
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "mayor que igual a o menor que" # (en: 'greater than equal to or less than')
- - "⋜": # 0x22dc
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "menor o igual que" # (en: 'equal to or less than')
- - "⋝": # 0x22dd
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "mayor o igual que" # (en: 'equal to or greater than')
- - "⋞": # 0x22de
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "precede o es igual a" # (en: 'equal to or precedes')
- - "⋟": # 0x22df
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "sigue o es igual a" # (en: 'equal to or succeeds')
- - "⋠": [T: "no precede ni es igual a"] # 0x22e0 (en: 'does not precede nor is equal to')
- - "⋡": [T: "no sigue ni es igual a"] # 0x22e1 (en: 'does not succeed nor is equal to')
- - "⋢": [T: "no es imagen cuadrada ni igual a"] # 0x22e2 (en: 'not square image of or equal to')
- - "⋣": [T: "no es original cuadrada ni igual a"] # 0x22e3 (en: 'not square original of or equal to')
- - "⋤": [T: "imagen cuadrada precisa"] # 0x22e4 (en: 'square image of or not equal to')
- - "⋥": [T: "cuadrada original precisa"] # 0x22e5 (en: 'square original of or not equal to')
- - "⋦": # 0x22e6
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "menor que no equivalente a" # (en: 'less than but not equivalent to')
- - "⋧": # 0x22e7
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "mayor que no equivalente a" # (en: 'greater than but not equivalent to')
- - "⋨": [T: "precede pero no es equivalente a"] # 0x22e8 (en: 'precedes but is not equivalent to')
- - "⋩": [T: "sigue pero no es equivalente a"] # 0x22e9 (en: 'succeeds but is not equivalent to')
- - "⋪": # 0x22ea
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "no subgrupo normal de" # (en: 'not a normal subgroup of')
- - "⋫": [T: "no contiene como subgrupo normal a"] # 0x22eb (en: 'does not contain as a normal subgroup')
- - "⋬": # 0x22ec
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "no es subgrupo normal ni igual a" # (en: 'not a normal subgroup of nor is equal to')
- - "⋭": [T: "no contiene como subgrupo normal ni es igual a"] # 0x22ed (en: 'does not contain as a normal subgroup nor is equal to')
- - "⋮": [T: "puntos suspensivos verticales"] # 0x22ee (en: 'vertical ellipsis')
- - "⋯": [T: "puntos suspensivos altos"] # 0x22ef (en: 'dot dot dot')
- - "⋰": [T: "puntos suspensivos diagonales hacia arriba"] # 0x22f0 (en: 'upwards diagonal ellipsis')
- - "⋱": [T: "puntos suspensivos diagonales hacia abajo"] # 0x22f1 (en: 'diagonal ellipsis')
- - "⋲": [T: "pertenece a con trazo horizontal"] # 0x22f2 (en: 'element of with long horizontal stroke')
- - "⋳": [T: "pertenece a con barra vertical al final del trazo horizontal"] # 0x22f3 (en: 'element of with vertical bar at end of horizontal stroke')
- - "⋴": [T: "pertenece a con barra vertical al final del trazo horizontal"] # 0x22f4 (en: 'element of with vertical bar at end of horizontal stroke')
- - "⋵": [T: "pertenece a con punto arriba"] # 0x22f5 (en: 'element of with dot above')
- - "⋶": [T: "pertenece a con barra arriba"] # 0x22f6 (en: 'element of with overbar')
- - "⋷": [T: "perteneciente subrayado"] # 0x22f7 (en: 'element of with overbar')
- - "⋸": [T: "perteneciente subrayado"] # 0x22f8 (en: 'element of with underbar')
- - "⋹": [T: "pertenece con dos trazos horizontales"] # 0x22f9 (en: 'element of with two horizontal strokes')
- - "⋺": [T: "contiene o es igual a"] # 0x22fa (en: 'contains with long horizontal stroke')
- - "⋻": [T: "contiene barra vertical al final de trazo horizontal"] # 0x22fb (en: 'contains with vertical bar at end of horizontal stroke')
- - "⋼": [T: "contiene barra vertical al final de trazo horizontal"] # 0x22fc (en: 'contains with vertical bar at end of horizontal stroke')
- - "⋽": [T: "contiene barra superior"] # 0x22fd (en: 'contains with overbar')
- - "⋾": [T: "incluye barra superior"] # 0x22fe (en: 'contains with overbar')
- - "⋿": [T: "z anotación pertenencia a bolsa"] # 0x22ff (en: 'z notation bag membership')
- - "⌀": [T: "diámetro"] # 0x2300 (en: 'diameter')
- - "⌁": [T: "flecha eléctrica"] # 0x2301 (en: 'electric arrow', google: 'flecha eléctrica')
- - "⌂": [T: "casa"] # 0x2302 (en: 'house')
- - "⌃": [T: "flecha arriba"] # 0x2303 (en: 'up arrowhead', google: 'arrowhead de flecha')
- - "⌄": [T: "flecha con punta hacia abajo"] # 0x2304 (en: 'down arrowhead', google: 'abajo de arrowhead')
- - "⌅": [T: "proyectiva"] # 0x2305 (en: 'projective')
- - "⌆": [T: "perspectiva"] # 0x2306 (en: 'perspective')
- - "⌇": [T: "línea ondulada"] # 0x2307 (en: 'wavy line')
- - "⌈": [T: "límite superior izquierdo"] # 0x2308 (en: 'left ceiling')
- - "⌉": [T: "límite superior derecho"] # 0x2309 (en: 'right ceiling')
- - "⌊": [T: "límite inferior izquierdo"] # 0x230a (en: 'left floor')
- - "⌋": [T: "límite inferior derecho"] # 0x230b (en: 'right floor')
- - "⌌": [T: "corte inferior derecho"] # 0x230c (en: 'bottom right crop')
- - "⌍": [T: "corte inferior izquierdo"] # 0x230d (en: 'bottom left crop')
- - "⌎": [T: "corte superior derecho "] # 0x230e (en: 'top right crop', MathPlayer: 'corte superior derecho', google: 'cropa de arriba a la derecha')
- - "⌏": [T: "corte superior izquierdo"] # 0x230f (en: 'top left crop')
- - "⌐": [T: "no invertido"] # 0x2310 (en: 'reversed not sign')
- - "⌑": [T: "rombo cuadrado"] # 0x2311 (en: 'square lozenge', google: 'pombra cuadrada')
- - "⌒": [T: "arco"] # 0x2312 (en: 'arc')
- - "⌓": [T: "segmento"] # 0x2313 (en: 'segment')
- - "⌔": [T: "sector"] # 0x2314
- - "⌕": [T: "grabadora telefónica"] # 0x2315 (en: 'telephone recorder', google: 'recordadora telefónica')
- - "⌖": [T: "indicador de posición"] # 0x2316 (en: 'position indicator crosshairs', google: 'posición indicador de mira')
- - "⌗": [T: "viewdata square"] # 0x2317 (google translation)
- - "⌘": [T: "lugar del signo de interés"] # 0x2318 (en: 'place of interest sign', google: 'señal de lugar de interés')
- - "⌙": [T: "signo no invertido"] # 0x2319 (en: 'turned not sign', google translation)
- - "⌚": [T: "reloj"] # 0x231a (en: 'watch', google: 'mirar')
- - "⌛": [T: "reloj de arena"] # 0x231b (en: 'hourglass', google translation)
- - "⌜": [T: "ángulo superior izquierdo"] # 0x231c (en: 'top left corner')
- - "⌝": [T: "ángulo superior derecho"] # 0x231d (en: 'top right corner')
- - "⌞": [T: "ángulo inferior izquierdo"] # 0x231e (en: 'bottom left corner')
- - "⌟": [T: "ángulo inferior derecho"] # 0x231f (en: 'bottom right corner')
- - "⌠": [T: "mitad superior de integral"] # 0x2320 (en: 'top half integral')
- - "⌡": [T: "mitad inferior de integral"] # 0x2321 (en: 'bottom half integral')
- - "⌢": [T: "ceño fruncido"] # 0x2322 (en: 'frown', google: 'fruncir el ceño')
- - "⌣": [T: "sonrisa"] # 0x2323 (en: 'smile')
- - "⌤": [T: "flecha arriba entre dos barras horizontales"] # 0x2324 (en: 'up arrowhead between two horizontal bars', google: 'arrowehead de flecha entre dos barras horizontales')
- - "⌥": [T: "clave de opción"] # 0x2325 (en: 'option key', google translation)
- - "⌦": [T: "borrar hacia la derecha"] # 0x2326 (en: 'erase to the right', google translation)
- - "⌧": [T: "x en un rectángulo"] # 0x2327 (en: 'x in a rectangle box', google translation)
- - "⌨": [T: "teclado"] # 0x2328 (en: 'keyboard', google translation)
- - "〈": [T: "paréntesis angular izquierdo"] # 0x2329 (en: 'left pointing angle bracket')
- - "〉": [T: "paréntesis angular derecho"] # 0x232a (en: 'right pointing angle bracket')
- - "⌫": [T: "borrar hacia la izquierda"] # 0x232b (en: 'erase to the left', google translation)
- - "⌬": [T: "anillo de benceno"] # 0x232c (en: 'benzene ring', google translation)
- - "⌭": [T: "cilindro"] # 0x232d (en: 'cylindricity')
- - "⌮": [T: "perfil"] # 0x232e (en: 'all around profile', google: 'alrededor de perfil')
- - "⌯": [T: "simetría"] # 0x232f (en: 'symmetry', google translation)
- - "⌰": [T: "desviación total"] # 0x2330 (en: 'total runout', google translation)
- - "⌱": [T: "origen de dimensión"] # 0x2331 (en: 'dimension origin', google translation)
- - "⌲": [T: "cónico cónico"] # 0x2332 (en: 'conical taper', google translation)
- - "⌳": [T: "pendiente"] # 0x2333 (en: 'slope', google translation)
- - "⌴": [T: "contrataladro"] # 0x2334 (en: 'counterbore', google translation)
- - "⌵": [T: "avellanador"] # 0x2335 (en: 'countersink', google translation)
- - "⍰": [T: "interrogación en caja"] # 0x2370 (en: 'unknown box', google: 'caja desconocida')
- - "⎕": [T: "caja"] # 0x2395 (en: 'box', google translation)
- - "⏞": [T: "corchete rotacional superior"] # 0x23DE (en: 'top brace')
- - "⏟": [T: "corchete rotacional inferior"] # 0x23DF (en: 'bottom brace')
- - "①-⑨": # 0x2460 - 0x2469
- - T: "corchete rotacional inferior" # (en: 'circled')
- - spell: "translate('.', '①②③④⑤⑥⑦⑧⑨', '123456789')"
- - "⑩": [T: "diez en un círculo"] # 0x2469 (en: 'circled ten', google translation)
- - "⑪": [T: "once en un círculo"] # 0x246a (en: 'circled eleven', google translation)
- - "⑫": [T: "doce en un círculo"] # 0x246b (en: 'circled twelve', google translation)
- - "⑬": [T: "trece en un círculo"] # 0x246c (en: 'circled thirteen', google translation)
- - "⑭": [T: "catorce en un círculo"] # 0x246d (en: 'circled fourteen', google translation)
- - "⑮": [T: "quince en un círculo"] # 0x246e (en: 'circled fifteen', google translation)
- - "⑯": [T: "dieciséis en un círculo"] # 0x246f (en: 'circled sixteen', google translation)
- - "⑰": [T: "diecisiete en un círculo"] # 0x2470 (en: 'circled seventeen', google translation)
- - "⑱": [T: "dieciocho en un círculo"] # 0x2471 (en: 'circled eighteen', google translation)
- - "⑱": [T: "diecinueve en un círculo"] # 0x2471 (en: 'circled nineteen', google translation)
- - "⑳": [T: "veinte en un círculo"] # 0x2473 (en: 'circled twenty', google translation)
- - "⑴-⑼": # 0x2474 - 0x247d
- - T: "entre paréntesis" # (en: 'parenthesized', google translation)
- - spell: "translate('.', '⑴⑵⑶⑷⑸⑹⑺⑻⑼', '123456789')"
- - "⑽": [T: "diez entre paréntesis"] # 0x247d (en: 'parenthesized ten', google translation)
- - "⑾": [T: "once entre paréntesis"] # 0x247e (en: 'parenthesized eleven', google translation)
- - "⑿": [T: "doce entre paréntesis"] # 0x247f (en: 'parenthesized twelve', google translation)
- - "⒀": [T: "trece entre paréntesis"] # 0x2480 (en: 'parenthesized thirteen', google translation)
- - "⒁": [T: "catorce entre paréntesis"] # 0x2481 (en: 'parenthesized fourteen', google translation)
- - "⒂": [T: "quince entre paréntesis"] # 0x2482 (en: 'parenthesized fifteen', google translation)
- - "⒃": [T: "dieciséis entre paréntesis"] # 0x2483 (en: 'parenthesized sixteen', google translation)
- - "⒄": [T: "diecisiete entre paréntesis"] # 0x2484 (en: 'parenthesized seventeen', google translation)
- - "⒅": [T: "dieciocho entre paréntesis"] # 0x2485 (en: 'parenthesized eighteen', google translation)
- - "⒆": [T: "diecinueve entre paréntesis"] # 0x2486 (en: 'parenthesized nineteen', google translation)
- - "⒇": [T: "veinte entre paréntesis"] # 0x2487 (en: 'parenthesized twenty', google translation)
- - "⒈-⒐": # 0x2488 - 0x2491
- - spell: "translate('.', '⒈⒉⒊⒋⒌⒍⒎⒏⒐', '123456789')"
- - T: "con periodo" # (en: 'with period', google translation)
- - "⒑": [T: "diez con signo de periodo"] # 0x2491 (en: 'ten with period', google translation)
- - "⒒": [T: "once con signo de periodo"] # 0x2492 (en: 'eleven with period', google translation)
- - "⒓": [T: "doce con signo de periodo"] # 0x2493 (en: 'twelve with period', google translation)
- - "⒔": [T: "trece con signo de periodo"] # 0x2494 (en: 'thirteen with period', google translation)
- - "⒕": [T: "catorce con signo de periodo"] # 0x2495 (en: 'fourteen with period', google translation)
- - "⒖": [T: "quince con signo de periodo"] # 0x2496 (en: 'fifteen with period', google translation)
- - "⒗": [T: "dieciséis con signo de periodo"] # 0x2497 (en: 'sixteen with period', google translation)
- - "⒘": [T: "diecisiete con signo de periodo"] # 0x2498 (en: 'seventeen with period', google translation)
- - "⒙": [T: "dieciocho con signo de periodo"] # 0x2499 (en: 'eighteen with period', google translation)
- - "⒚": [T: "diecinueve con signo de periodo"] # 0x249a (en: 'nineteen with period', google translation)
- - "⒛": [T: "veinte con signo de periodo"] # 0x249b (en: 'twenty with period', google translation)
- - "⒜-⒵": # 0x249c - 0x24b5
- - T: "entre paréntesis" # (en: 'parenthesized', google translation)
- - spell: "translate('.', '⒜⒝⒞⒟⒠⒡⒢⒣⒤⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "Ⓐ-Ⓩ":
- - T: "dentro de uncírculo" # (en: 'circled', google translation)
- - spell: "translate('.', 'ⒶⒷⒸⒹⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉⓊⓋⓌⓍⓎⓏ', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "🅐-🅩": # 0x1f150 - 0x1f169
- - T: "dentro de un círculo negro" # (en: 'black circled', google translation)
- - spell: "translate('.', '🅐🅑🅒🅓🅔🅕🅖🅗🅘🅙🅚🅛🅜🅝🅞🅟🅠🅡🅢🅣🅤🅥🅦🅧🅨🅩', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "ⓐ-ⓩ": # 0x24d0 - 0x24e9
- - T: "dentro de un círculo" # (en: 'circled', google translation)
- - spell: "translate('.', 'ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ', 'abcdefghijklmnopqrstuvwxyz')"
- - "⓪": [T: "cero en un círculo"] # 0x24ea (en: 'circled zero', google translation)
- - "⓫": [T: "once en un círculo negro"] # 0x24eb (google translation)
- - "⓬": [T: "doce en un círculo negro"] # 0x24ec (en: 'black circled twelve', google translation)
- - "⓭": [T: "trece en un círculo negro"] # 0x24ed (en: 'black circled thirteen', google translation)
- - "⓮": [T: "catorce en un círculo negro"] # 0x24ee (en: 'black circled fourteen', google translation)
- - "⓯": [T: "quince en un círculo negro"] # 0x24ef (en: 'black circled fifteen', google translation)
- - "⓰": [T: "dieciséis en un círculo negro"] # 0x24f0 (en: 'black circled sixteen', google translation)
- - "⓱": [T: "diecisiete en un círculo negro"] # 0x24f1 (en: 'black circled seventeen', google translation)
- - "⓲": [T: "dieciocho en un círculo negro"] # 0x24f2 (en: 'black circled eighteen', google translation)
- - "⓳": [T: "diecinueve en un círculo negro"] # 0x24f3 (en: 'black circled nineteen', google translation)
- - "⓴": [T: "veinte en un círculo negro"] # 0x24f4 (en: 'black circled twenty', google translation)
- - "⓵-⓽": # 0x24f5 - 0x24fe
- - T: "doble círculo" # (en: 'double circled', google translation)
- - spell: "translate('.', '⓵⓶⓷⓸⓹⓺⓻⓼⓽', '123456789')"
- - "⓾": [T: "diez en un doble círculo"] # 0x24fe (en: 'double circled ten', google translation)
- - "⓿": [T: "cero en círculo negro"] # 0x24ff (en: 'black circled zero', google translation)
- - "■": [T: "cuadrado negro"] # 0x25a0 (en: 'black square')
- - "□": [T: "cuadrado blanco"] # 0x25a1 (en: 'white square')
- - "▢": [T: "cuadrado blanco con esquinas redondeadas"] # 0x25a2 (en: 'white square with rounded corners')
- - "▣": [T: "cuadrado blanco que contiene cuadrado pequeño negro"] # 0x25a3 (en: 'white square containing small black square', google: 'cuadrado blanco que contiene un pequeño cuadrado negro')
- - "▤": [T: "cuadrado con relleno horizontal"] # 0x25a4 (en: 'square with horizontal fill')
- - "▥": [T: "cuadrado con relleno vertical"] # 0x25a5 (en: 'square with vertical fill')
- - "▦": [T: "cuadrado con relleno octogonal de rayas"] # 0x25a6 (en: 'square with orthogonal crosshatch fill', google: 'cuadrado con relleno ortogonal de muñeca')
- - "▧": [T: "cuadrado con la esquina superior izquierda hacia la parte derecha inferior del relleno"] # 0x25a7 (en: 'square with upper left to lower right fill', google: 'cuadrado con la parte superior izquierda a la parte inferior del relleno derecho')
- - "▨": [T: "cuadrado con la parte superior derecha hacia la parte inferior izquierda del relleno"] # 0x25a8 (en: 'square with upper right to lower left fill', google: 'cuadrado con la parte superior derecha a la parte inferior izquierda del relleno')
- - "▩": [T: "cuadrado con relleno diagonal rayado"] # 0x25a9 (en: 'square with diagonal crosshatch fill', google: 'cuadrado con relleno de shatch diagonal')
- - "▪": [T: "cuadrado pequeño negro"] # 0x25aa (en: 'black small square')
- - "▫": [T: "cuadrado pequeño blanco"] # 0x25ab (en: 'white small square')
- - "▬": [T: "rectángulo negro"] # 0x25ac (en: 'black rectangle')
- - "▭": [T: "rectángulo blanco"] # 0x25ad (en: 'white rectangle')
- - "▮": [T: "rectángulo relleno vertical"] # 0x25ae (en: 'black vertical rectangle')
- - "▯": [T: "rectángulo vertical blanco"] # 0x25af (en: 'white vertical rectangle')
- - "▰": [T: "paralelogramo negro"] # 0x25b0 (en: 'black parallelogram', google: 'paralelograma negro')
- - "▱": [T: "paralelogramo blanco"] # 0x25b1 (en: 'white parallelogram')
- - "▲": [T: "triángulo negro apuntando hacia arriba"] # 0x25b2 (en: 'black up pointing triangle')
- - "△": [T: "triángulo blanco apuntando hacia arriba"] # 0x25b3 (en: 'white up pointing triangle')
- - "▴": [T: "triángulo negro pequeño apuntando hacia arriba"] # 0x25b4 (en: 'black up pointing small triangle')
- - "▵": [T: "triángulo blanco pequeño apuntando hacia arriba"] # 0x25b5 (en: 'white up pointing small triangle')
- - "▶": [T: "triángulo negro apuntando hacia la derecha"] # 0x25b6 (en: 'black right pointing triangle')
- - "▷": [T: "triángulo blanco apuntando hacia la derecha"] # 0x25b7 (en: 'white right pointing triangle')
- - "▸": [T: "triángulonegro pequeño apuntando hacia la derecha"] # 0x25b8 (en: 'black right pointing small triangle')
- - "▹": [T: "triángulo blanco pequeño apuntando hacia la derecha"] # 0x25b9 (en: 'white right pointing small triangle')
- - "►": [T: "indicador negro apuntando a la derecha"] # 0x25ba (en: 'black right pointing pointer', google: 'puntero de punta derecha negra')
- - "▻": [T: "indicador blanco apuntando hacia la derecha"] # 0x25bb (en: 'white right pointing pointer', google: 'puntero de punta derecha blanca')
- - "▼": [T: "triángulo negro apuntando hacia abajo"] # 0x25bc (en: 'black down pointing triangle')
- - "▽": [T: "triángulo blanco apuntando hacia abajo"] # 0x25bd (en: 'white down pointing triangle')
- - "▾": [T: "pequeño triángulo negro apuntando hacia abajo"] # 0x25be (en: 'black down pointing small triangle')
- - "▿": [T: "triángulo pequeño blanco apuntando hacia abajo"] # 0x25bf (en: 'white down pointing small triangle')
- - "◀": [T: "triángulo negro apuntando hacia la izquierda"] # 0x25c0 (en: 'black left pointing triangle')
- - "◁": [T: "triángulo blanco apuntando hacia la izquierda"] # 0x25c1 (en: 'white left pointing triangle')
- - "◂": [T: "pequeño triángulo negro apuntando hacia la izquierda izquierda"] # 0x25c2 (en: 'black left pointing small triangle')
- - "◃": [T: "pequeño triángulo blanco apuntando hacia la izquierda"] # 0x25c3 (en: 'white left pointing small triangle')
- - "◄": [T: "puntero negro apuntando hacia la izquierda"] # 0x25c4 (en: 'black left pointing pointer')
- - "◅": [T: "puntero blanco apuntando hacia la izquierda"] # 0x25c5 (en: 'white left pointing pointer')
- - "◆": [T: "rombo negro"] # 0x25c6 (en: 'black diamond')
- - "◇": [T: "rombo blanco"] # 0x25c7 (en: 'white diamond')
- - "◈": [T: "rombo blanco contiene rombo pequeño negro"] # 0x25c8 (en: 'white diamond containing black small diamond')
- - "◉": [T: "ojo de pez"] # 0x25c9 (en: 'fisheye')
- - "◊": [T: "rombo"] # 0x25ca (en: 'lozenge')
- - "○": [T: "círculo blanco"] # 0x25cb (en: 'white circle')
- - "◌": [T: "círculo punteado"] # 0x25cc (en: 'dotted circle')
- - "◍": [T: "círculo con relleno vertical"] # 0x25cd (en: 'circle with vertical fill')
- - "◎": [T: "diana"] # 0x25ce (en: 'bullseye')
- - "●": [T: "círculo negro"] # 0x25cf (en: 'black circle')
- - "◐": [T: "círculo con mitad izquierda negra"] # 0x25d0 (en: 'circle with left half black')
- - "◑": [T: "círculo con mitad derecha negra"] # 0x25d1 (en: 'circle with right half black')
- - "◒": [T: "círculo con mitad inferior negra"] # 0x25d2 (en: 'circle with lower half black')
- - "◓": [T: "círculo con mitad superior negra"] # 0x25d3
- - "◔": [T: "círculo con cuadrante superior derecho relleno"] # 0x25d4 (en: 'circle with upper right quadrant black')
- - "◕": [T: "círculo con cuadrante superior izquierdo negro"] # 0x25d5 (en: 'circle with all but upper left quadrant black')
- - "◖": [T: "semicírculo izquierdo negro"] # 0x25d6 (en: 'left half black circle')
- - "◗": [T: "semicírculo derecho negro"] # 0x25d7 (en: 'right half black circle')
- - "◘": [T: "viñeta inversa"] # 0x25d8 (en: 'inverse bullet')
- - "◙": [T: "círculo blanco inverso"] # 0x25d9 (en: 'inverse white circle')
- - "◚": [T: "semicírculo superior blanco inverso"] # 0x25da (en: 'upper half inverse white circle')
- - "◛": [T: "semicírculo inferior blanco inverso"] # 0x25db (en: 'lower half inverse white circle')
- - "◜": [T: "cuadrante superior izquierdo arco circular"] # 0x25dc (en: 'upper left quadrant circular arc')
- - "◝": [T: "cuadrante superior derecho arco circular"] # 0x25dd (en: 'upper right quadrant circular arc')
- - "◞": [T: "cuadrante inferior derecho arco circular"] # 0x25de (en: 'lower right quadrant circular arc')
- - "◟": [T: "cuadrante inferior izquierdo arco circular"] # 0x25df (en: 'lower left quadrant circular arc')
- - "◠": [T: "semicírculo superior"] # 0x25e0 (en: 'upper half circle')
- - "◡": [T: "semicírculo inferior"] # 0x25e1 (en: 'lower half circle')
- - "◢": [T: "triángulo inferior derecha relleno"] # 0x25e2 (en: 'black lower right triangle')
- - "◣": [T: "triángulo negro inferior izquierdo"] # 0x25e3 (en: 'black lower left triangle')
- - "◤": [T: "triángulo negro superior izquierdo"] # 0x25e4 (en: 'black upper left triangle')
- - "◥": [T: "triángulo negro superior derecho"] # 0x25e5 (en: 'black upper right triangle')
- - "◦": [T: "composición"] # 0x25e6 (en: 'composition')
- - "◧": [T: "cuadrado con mitad izquierda negra"] # 0x25e7 (en: 'square with left half black')
- - "◨": [T: "cuadrado con mitad derecha negra"] # 0x25e8 (en: 'square with right half black')
- - "◩": [T: "cuadrado con mitad superior izquierda negra"] # 0x25e9 (en: 'square with upper left half black')
- - "◪": [T: "cuadrado con mitad inferior derecha negra"] # 0x25ea (en: 'square with lower right half black')
- - "◫": [T: "cuadrado blanco con bisectriz"] # 0x25eb (en: 'white square with bisecting line')
- - "◬": [T: "triángulo blanco apuntando hacia arriba con punto"] # 0x25ec (en: 'white up pointing triangle with dot')
- - "◭": [T: "triángulo apuntando hacia arriba con mitad izquierda negra"] # 0x25ed (en: 'up pointing triangle with left half black')
- - "◮": [T: "triángulo apuntando hacia arriba con mitad derecha negra"] # 0x25ee (en: 'up pointing triangle with right half black')
- - "◯": [T: "círculo grande"] # 0x25ef (en: 'large circle')
- - "◰": [T: "cuadrado blanco con cuadrante superior izquierdo"] # 0x25f0 (en: 'white square with upper left quadrant')
- - "◱": [T: "cuadrado blanco con cuadrante inferior izquierdo"] # 0x25f1 (en: 'white square with lower left quadrant')
- - "◲": [T: "cuadrado blanco con cuadrante inferior derecho"] # 0x25f2 (en: 'white square with lower right quadrant')
- - "◳": [T: "cuadrado blanco con cuadrante superior derecho"] # 0x25f3 (en: 'white square with upper right quadrant')
- - "◴": [T: "círculo blanco con cuadrante superior izquierdo"] # 0x25f4 (en: 'white circle with upper left quadrant')
- - "◵": [T: "círculo blanco con cuadrante inferior izquierdo"] # 0x25f5 (en: 'white circle with lower left quadrant')
- - "◶": [T: "círculo blanco con cuadrante inferior derecho"] # 0x25f6 (en: 'white circle with lower right quadrant')
- - "◷": [T: "círculo blanco con cuadrante superior derecho"] # 0x25f7 (en: 'white circle with upper right quadrant', google: 'círculo blanco con cuadrante superior derecha')
- - "◸": [T: "triángulo superior izquierdo"] # 0x25f8 (en: 'upper left triangle')
- - "◹": [T: "triángulo superior derecho"] # 0x25f9 (en: 'upper right triangle')
- - "◺": [T: "triángulo inferior izquierda"] # 0x25fa (en: 'lower left triangle')
- - "◻": [T: "cuadrado blanco mediano"] # 0x25fb (en: 'white medium square')
- - "◼": [T: "cuadrado negro mediano"] # 0x25fc (en: 'black medium square')
- - "◽": [T: "cuadrado pequeño medianamente vacío"] # 0x25fd (en: 'white medium small square')
- - "◾": [T: "cuadrado pequeño medianamente lleno"] # 0x25fe (en: 'black medium small square')
- - "◿": [T: "triángulo inferior derecho"] # 0x25ff (en: 'lower right triangle')
- - "♠": [T: "picas"] # 0x2660 (google: 'traje de pala negro')
- - "♡": [T: "corazones"] # 0x2661 (google: 'traje de corazón blanco')
- - "♢": [T: "diamantes"] # 0x2662 (google: 'traje de diamante blanco')
- - "♣": [T: "trébol"] # 0x2663 (google: 'traje de club negro')
- - "♤": [T: "picas"] # 0x2664 (google: 'traje de pala blanca')
- - "♥": [T: "corazones"] # 0x2665 (google: 'traje de corazón negro')
- - "♦": [T: "diamantes"] # 0x2666 (google: 'traje de diamante negro')
- - "♧": [T: "trébol"] # 0x2667 (google: 'traje de club blanco')
- - "❨": [T: "ornamento en paréntesis mediano izquierdo"] # 0x2768 (en: 'medium left parentheses ornament', google: 'medio de la paréntesis de la izquierda adorno')
- - "❩": [T: "ornamento en paréntesis mediano derecho"] # 0x2769 (en: 'medium right parentheses ornament', google: 'medio derecho a la derecha del adorno')
- - "❪": [T: "ornamento en paréntesis izquierdo medio aplanado"] # 0x276a (en: 'medium flattened left parentheses ornament', google: 'medio aplanado a la izquierda paréntesis de adornos')
- - "❫": [T: "ornamento en paréntesis derecho medio aplanado"] # 0x276b (en: 'medium flattened right parentheses ornament', google: 'medio aplanado a la derecha paréntesis de adornos')
- - "❬": [T: "ornamento en soporte de ángulo medio apuntando hacia la izquierda"] # 0x276c (en: 'medium left-pointing angle bracket ornament', google: 'ornamento de soporte de ángulo de punta izquierda mediana')
- - "❭": [T: "ornamento en soporte de ángulo medio apuntando hacia la derecha"] # 0x276d (en: 'medium right-pointing angle bracket ornament', google: 'ornamento de soporte de ángulo de punta derecha mediana')
- - "❮": [T: "ornamento en comillas en el ángulo que apunta hacia la izquierda"] # 0x276e (en: 'heavy left-pointing angle quotation mark ornament', google: 'ornamento de cita de ángulo de punta izquierda pesada')
- - "❯": [T: "ornamento en comillas en el ángulo recto que apunta hacia la derecha"] # 0x276f (en: 'heavy right-pointing angle quotation mark ornament', google: 'ornamento de cita de cita de ángulo derecho pesado')
- - "❰": [T: "ornamento en soporte del ángulo que apunta a la izquierda"] # 0x2770 (en: 'heavy left-pointing angle bracket ornament', google: 'adorno de soporte de ángulo izquierdo pesado')
- - "❱": [T: "ornamento en soporte del ángulo que apunta hacia la derecha"] # 0x2771 (en: 'heavy right-pointing angle bracket ornament', google: 'ornamento de soporte de ángulo de punta derecha pesada')
- - "❲": [T: "ornamento en soporte de concha de tortuga a la izquierda"] # 0x2772 (en: 'light left tortoise shell bracket ornament', google: 'ornamento de soporte de concha de tortuga de luz')
- - "❳": [T: "ornamento en corchete derecho de concha de tortuga hacia la derecha"] # 0x2773 (en: 'light right tortoise shell bracket ornament', google: 'ornamento de soporte de carcasa de tortuga ligera')
- - "❴": [T: "ornamento en soporte izquierdo mediano"] # 0x2774 (en: 'medium left brace ornament', google: 'ornamento de brace izquierdo mediano')
- - "❵": [T: "ornamento en soporte derechomediano"] # 0x2775 (en: 'medium right brace ornament', google: 'ornamento de aparato ortopédico medio derecho')
- - "❶": [T: "círculo negro rodeando uno"] # 0x2776 (en: 'black circled one', google translation)
- - "❷": [T: "c´riculo negro rodeando dos"] # 0x2777 (en: 'black circled two', google translation)
- - "❸": [T: "círculo negro rodeando tres"] # 0x2778 (en: 'black circled three', google translation)
- - "❹": [T: "círculo negro rodeando cuatro"] # 0x2779 (en: 'black circled four', google translation)
- - "❺": [T: "círculo negro rodeando cinco"] # 0x277a (en: 'black circled five', google translation)
- - "❻": [T: "círculo negro rodeando seis"] # 0x277b (en: 'black circled six', google translation)
- - "❼": [T: "círculo negro rodeando siete"] # 0x277c (en: 'black circled seven', google translation)
- - "❽": [T: "círculo negro rodeando ocho"] # 0x277d (en: 'black circled eight', google translation)
- - "❾": [T: "círculo negro rodeando nueve"] # 0x277e (en: 'black circled nine', google translation)
- - "❿": [T: "círculo negro rodeando diez"] # 0x277f (en: 'black circled ten', google translation)
- - "➀": [T: "círculo rodeando sans serif uno"] # 0x2780 (en: 'circled sans serif one', google translation)
- - "➁": [T: "círculo rodeando sans serif dos"] # 0x2781 (en: 'circled sans serif two', google translation)
- - "➂": [T: "círculo rodeando sans serif tres"] # 0x2782 (en: 'circled sans serif three', google translation)
- - "➃": [T: "círculo rodeando sans serif cuatro"] # 0x2783 (en: 'circled sans serif four', google translation)
- - "➄": [T: "círculo rodeando sans serif cinco"] # 0x2784 (en: 'circled sans serif five', google translation)
- - "➅": [T: "círculo rodeando sans serif seis"] # 0x2785 (en: 'circled sans serif six', google translation)
- - "➆": [T: "círculo rodeando sans serif siete"] # 0x2786 (en: 'circled sans serif seven', google translation)
- - "➇": [T: "círculo rodeando sans serif ocho"] # 0x2787 (en: 'circled sans serif eight', google translation)
- - "➈": [T: "círculo rodeando sans serif nueve"] # 0x2788 (en: 'circled sans serif nine', google translation)
- - "➉": [T: "círculo rodeando sans serif diez"] # 0x2789 (en: 'circled sans serif ten', google translation)
- - "➊": [T: "círculo negro rodeando sans serif uno"] # 0x278a (google translation)
- - "➋": [T: "círculo negro rodeando sans serif dos"] # 0x278b (en: 'black circled sans serif two', google translation)
- - "➌": [T: "círculo negro rodeando sans serif tres"] # 0x278c (en: 'black circled sans serif three', google translation)
- - "➍": [T: "círculo negro rodeando sans serif cuatro"] # 0x278d (google translation)
- - "➎": [T: "círculo negro rodeando sans serif cinco"] # 0x278e (google translation)
- - "➏": [T: "círculo negro rodeando sans serif seis"] # 0x278f (google translation)
- - "➐": [T: "círculo negro rodeando sans serif siete"] # 0x2790 (google translation)
- - "➑": [T: "círculo negro rodeando sans serif ocho"] # 0x2791 (en: 'black circled sans serif eight', google translation)
- - "➒": [T: "círculo negro rodeando sans serif nueve"] # 0x2792 (google translation)
- - "➓": [T: "círculo negro rodeando sans serif diez"] # 0x2793 (google translation)
- - "➔": [T: "flecha hacia la derecha con cabeza ancha"] # 0x2794 (en: 'heavy wide-headed rightwards arrow', google: 'a la cabeza ancha de cabeza ancha')
- - "➕": [T: "signo más"] # 0x2795 (en: 'heavy plus sign', google: 'señal de plus plus')
- - "➖": [T: "signo menos"] # 0x2796 (en: 'heavy minus sign', google: 'fuerte señal menos')
- - "➗": [T: "signo de dividir"] # 0x2797 (en: 'heavy division sign', google: 'señal de división pesada')
- - "➘": [T: "flecha gruesa hacia el sudeste"] # 0x2798 (en: 'heavy south east arrow', google: 'heavy south east arrow')
- - "➙": [T: "flecha gruesa hacia la derecha"] # 0x2799 (en: 'heavy rightwards arrow', google: 'flecha pesada hacia la derecha')
- - "➚": [T: "flecha gruesa hacia el nordeste"] # 0x279a (en: 'heavy north east arrow', google: 'heavy north east arrow')
- - "➛": [T: "flecha hacia la derecha con punto centrado"] # 0x279b (en: 'drafting point rightwards arrow', google: 'punto de redacción arrow hacia la derecha')
- - "➜": [T: "flecha hacia la derecha con punta gruesa y redonda"] # 0x279c (en: 'heavy round-tipped rightwards arrow', google: 'arrow de la derecha pesada con punta redonda')
- - "➝": [T: "flecha hacia la derecha con cabeza triangular"] # 0x279d (en: 'triangle-headed rightwards arrow', google: 'arrow de cabeza de triángulo')
- - "➞": [T: "flecha hacia la derecha con cabeza gruesa triangular"] # 0x279e (en: 'heavy triangle-headed rightwards arrow', google: 'arrow de cabeza de triángulo pesado hacia el triángulo')
- - "➟": [T: "flecha discontinua hacia la derecha de cabeza triangular"] # 0x279f (en: 'dashed triangle-headed rightwards arrow', google: 'arrow de cabeza de triángulo discontinua')
- - "➠": [T: "flecha gruesa derecha discontinua con cabeza triangular"] # 0x27a0 (en: 'heavy dashed triangle-headed rightwards arrow', google: 'arrow de cabeza de triángulo pesado con cabeza de triángulo')
- - "➡": [T: "flecha negra hacia la derecha"] # 0x27a1 (en: 'black rightwards arrow', google: 'negra flecha derecha hacia la derecha')
- - "➢": [T: "flecha hacia la derecha tres d en parte superior"] # 0x27a2 (en: 'three d top lighted rightwards arrow', google: 'tres d top iluminados con flecha hacia la derecha')
- - "➣": [T: "flecha hacia la derecha tres d en parte inferior en tres dimensiones"] # 0x27a3 (en: 'three d bottom lighted rightwards arrow', google: 'tres d de fondo iluminado hacia la derecha')
- - "➤": [T: "punta de flecha negra hacia la derecha"] # 0x27a4 (en: 'black rightwards arrowhead', google: 'black rightwards arrowhead')
- - "➥": [T: "flecha gruesa y negra curvada hacia la derecha y hacia abajo"] # 0x27a5 (en: 'heavy black curved downwards and rightwards arrow', google: 'negro pesado curvado hacia abajo y flecha derecha')
- - "➦": [T: "flecha gruesa y negra curvada hacia la derecha y hacia arriba"] # 0x27a6 (en: 'heavy black curved upwards and rightwards arrow', google: 'negro pesado curvado hacia arriba y flecha hacia la derecha')
- - "➧": [T: "flecha negra corta hacia la derecha"] # 0x27a7 (en: 'squat black rightwards arrow', google: 'corta la flecha negra a la derecha')
- - "➨": [T: "flecha negra hacia la derecha con punta cóncava"] # 0x27a8 (en: 'heavy concave-pointed black rightwards arrow', google: 'flecha negra cóncava pesada pesada hacia la derecha')
- - "➩": [T: "flecha hacia la derecha sombreada en la parte derecha"] # 0x27a9 (en: 'right-shaded white rightwards arrow', google: 'flecha blanca a la derecha de sombreado derecho')
- - "➪": [T: "flecha blanca hacia la derecha sombreada en la parte izquierda"] # 0x27aa (en: 'left-shaded white rightwards arrow', google: 'flecha blanca a la derecha de sombreado izquierdo')
- - "➫": [T: "flecha blanca hacia la derecha con sonbra inclinada hacia la parte posterior"] # 0x27ab (en: 'bck-tilted shadowed white rightwards arrow', google: 'flecha blanca a la derecha en la espalda')
- - "➬": [T: "flecha blanca hacia la derecha con sombra inclinada hacia la parte anterior"] # 0x27ac (en: 'front-tilted shadowed white rightwards arrow', google: 'flecha blanca a la derecha sombreada en la sombra frontal')
- - "➭": [T: "flecha gruesa inferior hacia la derecha sombreada en la parte derecha"] # 0x27ad (en: 'heavy lower right-shadowed white rightwards arrow', google: 'flecha blanca hacia la derecha inferior derecha pesada')
- - "➮": [T: "flecha gruesa superior hacia la derecha sombreada en la parte derecha"] # 0x27ae (en: 'heavy upper right-shadowed white rightwards arrow', google: 'flecha blanca hacia la derecha de la parte superior derecha pesada')
- - "➯": [T: "flecha escopleada inferior hacia la derecha sombreada en la parte derecha"] # 0x27af (en: 'notched lower right-shadowed white rightwards arrow', google: 'muesca con muescas de la flecha blanca a la derecha de la derecha inferior')
- - "➱": [T: "flecha escopleada superior hacia la derecha sombreada en la parte derecha"] # 0x27b1 (en: 'notched upper right-shadowed white rightwards arrow', google: 'arrow blanca de sombra superior derecha con muescas de la parte superior')
- - "➲": [T: "flecha blanca hacia la derecha rodeada por un círculo grueso"] # 0x27b2 (en: 'circled heavy white rightwards arrow', google: 'flecha de color blanco pesado con rodajas')
- - "➳": [T: "flecha hacia la derecha con pluma blanca"] # 0x27b3 (en: 'white-feathered rightwards arrow', google: 'flecha derecha de plumas blancas')
- - "➴": [T: "flecha sudeste con pluma negra"] # 0x27b4 (en: 'black-feathered south east arrow', google: 'flecha del sureste de plumas negras')
- - "➵": [T: "flecha hacia la derecha con pluma negra"] # 0x27b5 (en: 'black-feathered rightwards arrow', google: 'flecha derecha de plumas negras')
- - "➶": [T: "flecha nordeste con pluma negra"] # 0x27b6 (en: 'black-feathered north east arrow', google: 'flecha del noreste de plumas negras')
- - "➷": [T: "flecha sudeste con pluma negra y gruesa"] # 0x27b7 (en: 'heavy black-feathered south east arrow', google: 'pesada flecha del sureste de plumas negras')
- - "➸": [T: "flecha hacia la derecha con pluma gruesa y negra"] # 0x27b8 (en: 'heavy black-feathered rightwards arrow', google: 'flecha pesada de plumas negras hacia la derecha')
- - "➹": [T: "flecha nordeste con pluma negra y gruesa"] # 0x27b9 (en: 'heavy black-feathered north east arrow', google: 'pesada flecha del noreste de plumas negras')
- - "➺": [T: "flecha hacia la derecha con punta en forma de lágrima"] # 0x27ba (en: 'teradrop-barbed rightwards arrow', google: 'teradrop-barbed rightwards arrow')
- - "➻": [T: "flecha hacia la derecha con punta en forma de lágrima"] # 0x27bb (en: 'heavy teardrop-shanked rightwards arrow', google: 'arrow a la derecha de la lágrima pesada hacia la lágrima')
- - "➼": [T: "flecha hacia la derecha con cola de cuña"] # 0x27bc (en: 'wedge-tailed rightwards arrow', google: 'arrow de cola de cola de cuña')
- - "➽": [T: "flecha hacia la derecha con cola de cuña gruesa"] # 0x27bd (en: 'heavy wedge-tailed rightwards arrow', google: 'flecha de cola de cuña pesada')
- - "➾": [T: "flecha abierta delineada hacia fuera"] # 0x27be (en: 'open-outlined rightwards arrow', google: 'abra por la flecha de la derecha abierta')
- - "⟀": [T: "ángulo tridimensional"] # 0x27c0 (en: 'three dimensional angle')
- - "⟁": [T: "triángulo blanco conteniendo triángulo pequeño y blanco"] # 0x27c1 (en: 'white triangle containing small white triangle')
- - "⟂": # 0x27c2
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "perpendicular a" # (en: 'perpendicular to')
- - "⟃": # 0x27c3
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "un subconjunto de" # (en: 'an open subset of')
- - "⟄": # 0x27c4
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "un subconjunto de" # (en: 'an open superset of')
- - "⟅": [T: "símbolo delimitador con forma de s inversa"] # 0x27c5 (en: 'left s-shaped bag delimiter')
- - "⟆": [T: "símbolo delimitador con forma de s"] # 0x27c6 (en: 'right s-shaped bag delimiter')
- - "⟇": [T: "o con punto en el interior"] # 0x27c7 (en: 'or with dot inside')
- - "⟈": [T: "solidus inverso precediendo subconjunto"] # 0x27c8 (en: 'reverse solidus preceding subset')
- - "⟉": [T: "superconjunto precediendo solidus"] # 0x27c9 (en: 'superset preceding solidus')
- - "⟊": [T: "barra vertical con trazo horizontal"] # 0x27ca (en: 'vertical bar with horizontal stroke')
- - "⟋": [T: "diagonal ascendiente"] # 0x27cb (en: 'mathematical rising diagonal', google: 'diagonal matemática en ascenso')
- - "⟌": [T: "división larga"] # 0x27cc (en: 'long division')
- - "⟍": [T: "diagonal descendente"] # 0x27cd (en: 'mathematical falling diagonal', google: 'diagonal de caída matemática')
- - "⟎": [T: "cuadrado Lógico Y"] # 0x27ce (en: 'squared logical and', google: 'cuadrado lógico y')
- - "⟏": [T: "cuadrado Lógico O"] # 0x27cf (en: 'squared logical or', google: 'cuadrado lógico o')
- - "⟐": [T: "diamante blanco con punto centrado"] # 0x27d0 (en: 'white diamond with centered dot')
- - "⟑": [T: "y con punto interior"] # 0x27d1 (en: 'and with dot')
- - "⟒": [T: "elemento de apertura hacia arriba"] # 0x27d2 (en: 'element of opening upwards')
- - "⟓": [T: "esquina inferior derecha con punto"] # 0x27d3 (en: 'lower right corner with dot')
- - "⟔": [T: "esquina superior izquierda con punto"] # 0x27d4 (en: 'upper left corner with dot')
- - "⟕": [T: "unión exterior izquierda"] # 0x27d5 (en: 'left outer join')
- - "⟖": [T: "unión exterior derecha"] # 0x27d6 (en: 'right outer join')
- - "⟗": [T: "unión exterior llena de"] # 0x27d7 (en: 'full outer join')
- - "⟘": [T: "perpendicular inversa"] # 0x27d8 (en: 'large up tack')
- - "⟙": [T: "perpendicular"] # 0x27d9 (en: 'large down tack')
- - "⟚": [T: "izquierdo y derecho doble torniquete"] # 0x27da (en: 'left and right double turnstile')
- - "⟛": [T: "doble T horizontal"] # 0x27db (en: 'left and right tack')
- - "⟜": [T: "multifunción por la izquierda"] # 0x27dc (en: 'left multimap')
- - "⟝": [T: "t horizontal derecha"] # 0x27dd (en: 'long right tack', MathPlayer: 'T horizontal derecha larga', google: 'tachuela a la derecha larga')
- - "⟞": [T: "t horizontal izquierda"] # 0x27de (en: 'long left tack', MathPlayer: 'T horizontal izquierda larga', google: 'táctica izquierda larga')
- - "⟟": [T: "perpendicular inversa con círculo arriba"] # 0x27df (en: 'up tack with circle above')
- - "⟠": [T: "rombo dividido por regla horizontal"] # 0x27e0 (en: 'lozenge divided by horizontal rule')
- - "⟡": [T: "rombo blanco cóncavo"] # 0x27e1 (en: 'white concave sided diamond')
- - "⟢": [T: "rombo blanco cóncavo con marca hacia la izquierda"] # 0x27e2 (en: 'white concave sided diamond with leftwards tick')
- - "⟣": [T: "rombo cóncavo con marca hacia la derecha"] # 0x27e3 (en: 'white concave sided diamond with rightwards tick')
- - "⟤": [T: "cuadrado blanco con marca hacia la izquierda"] # 0x27e4 (en: 'white square with leftwards tick')
- - "⟥": [T: "cuadrado blanco con marca hacia la derecha"] # 0x27e5 (en: 'white square with rightwards tick')
- - "⟦": [T: "abrir corchete"] # 0x27e6 (en: 'left white square bracket')
- - "⟧": [T: "cerrar corchete"] # 0x27e7 (en: 'right white square bracket')
- - "⟨": [T: "soporte angular izquierdo"] # 0x27e8 (en: 'left angle bracket')
- - "⟩": [T: "soporte angular derecho"] # 0x27e9 (en: 'right angle bracket')
- - "⟪": [T: "doble corchetehacia la izquierda"] # 0x27ea (en: 'left double angle bracket')
- - "⟫": [T: "doble corchete hacia la derecha"] # 0x27eb (en: 'right double angle bracket')
- - "⟬": [T: "corchete blanco hacia la izquierda con concha de tortuga"] # 0x27ec (en: 'left white tortoise shell bracket')
- - "⟭": [T: "corchete blanco hacia la derecha con concha de tortuga"] # 0x27ed (en: 'right white tortoise shell bracket', MathPlayer: 'corchete de tortuga vacío derecho', google: 'soporte de carcasa de tortuga blanca derecha')
- - "⟮": [T: "paréntesis plano izquierdo"] # 0x27ee (en: 'left flattened parenthesis')
- - "⟯": [T: "paréntesis plano derecho"] # 0x27ef (en: 'right flattened parenthesis')
- - "⟰": [T: "flecha cuádruple hacia arriba"] # 0x27f0 (en: 'upwards quadruple arrow')
- - "⟱": [T: "flecha cuádruple hacia abajo"] # 0x27f1 (en: 'downwards quadruple arrow')
- - "⟲": [T: "flecha circular vacía en sentido contrario a las agujas del reloj"] # 0x27f2 (en: 'anticlockwise gapped circle arrow')
- - "⟳": [T: "flecha circular vacía en sentido a las agujas del reloj"] # 0x27f3 (en: 'clockwise gapped circle arrow')
- - "⟴": [T: "flecha hacia la derecha con signo más rodeado por un círculo"] # 0x27f4 (en: 'right arrow with circled plus')
- - "⟵": [T: "flecha larga hacia la izquierda"] # 0x27f5 (en: 'long leftwards arrow')
- - "⟶": [T: "flecha larga hacia la derecha"] # 0x27f6 (en: 'long rightwards arrow')
- - "⟷": [T: "flecha larga hacia izquierda y derecha"] # 0x27f7 (en: 'long left right arrow')
- - "⟸": [T: "doble flecha larga hacia la izquierda"] # 0x27f8 (en: 'long leftwards double arrow')
- - "⟹": [T: "doble flecha larga hacia la derecha"] # 0x27f9 (en: 'long rightwards double arrow')
- - "⟺": [T: "doble flecha larga hacia izquierda y derecha"] # 0x27fa (en: 'long left right double arrow')
- - "⟻": [T: "flecha larga hacia la izquierda partiendo de una barra"] # 0x27fb (en: 'long leftwards arrow from bar')
- - "⟼": [T: "flecha larga hacia la derecha partiendo de una barra"] # 0x27fc (en: 'long rightwards arrow from bar')
- - "⟽": [T: "doble flecha larga hacia la izquierda partiendo de una barra"] # 0x27fd (en: 'long leftwards double arrow from bar')
- - "⟾": [T: "doble flecha larga hacia la derecha partiendo de una barra"] # 0x27fe (en: 'long rightwards double arrow from bar')
- - "⟿": [T: "flecha ondulada hacia la derecha"] # 0x27ff (en: 'long rightwards squiggle arrow')
- - "⤀": [T: "flecha de dos cabezas hacia la derecha con trazo vertical"] # 0x2900 (en: 'rightwards two headed arrow with vertical stroke', google: 'derecho de dos flechas con trazo vertical')
- - "⤁": [T: "flecha de dos cabezas hacia la derecha con doble trazo vertical"] # 0x2901 (en: 'rightwards two headed arrow with double vertical stroke', google: 'derecho de dos flechas con cabeza de carrera vertical doble')
- - "⤂": [T: "doble flecha hacia la izquierda con trazo vertical"] # 0x2902 (en: 'leftwards double arrow with vertical stroke', google: 'flecha doble hacia la izquierda con carrera vertical')
- - "⤃": [T: "doble flecha hacia la derecha con trazo vertical"] # 0x2903 (en: 'rightwards double arrow with vertical stroke', google: 'arrow doble hacia la derecha con trazo vertical')
- - "⤄": [T: "doble flecha hacia izquierda y derecha con trazo vertical"] # 0x2904 (en: 'left right double arrow with vertical stroke', google: 'flecha doble derecha izquierda con carrera vertical')
- - "⤅": [T: "flecha de dos cabezas hacia la derecha partiendo de una barra"] # 0x2905
- - "⤆": [T: "doble flecha hacia la izquierda partiendo de una barra"] # 0x2906 (en: 'leftwards double arrow from bar', google: 'flecha doble a la izquierda desde el bar')
- - "⤇": [T: "flecha doble hacia la derecha partiendo de una barra"] # 0x2907 (en: 'rightwards double arrow from bar', google: 'arrow doble hacia la derecha desde el bar')
- - "⤈": [T: "flecha hacia abajo con trazo horizontal"] # 0x2908 (en: 'downwards arrow with horizontal stroke')
- - "⤉": [T: "flecha hacia arriba con trazo horizontal"] # 0x2909 (en: 'upwards arrow with horizontal stroke', google: 'arrow hacia arriba con trazo horizontal')
- - "⤊": [T: "triple flecha hacia arriba"] # 0x290a (en: 'upwards triple arrow', google: 'arriba de arriba arriba')
- - "⤋": [T: "triple flecha hacia abajo"] # 0x290b (en: 'downwards triple arrow', google: 'aleja hacia abajo')
- - "⤌": [T: "flecha doble discontinua hacia la izquierda"] # 0x290c
- - "⤍": [T: "doble flecha discontinua hacia la derecha"] # 0x290d
- - "⤎": [T: "triple flecha discontinua hacia la izquierda"] # 0x290e
- - "⤏": [T: "triple flecha discontinua hacia la derecha"] # 0x290f
- - "⤐": [T: "triple flecha discontinua con dos cabezas hacia la derecha"] # 0x2910
- - "⤑": [T: "flecha hacia la derecha con trazo punteado"] # 0x2911
- - "⤒": [T: "flecha hacia arriba partiendo de una barra"] # 0x2912
- - "⤓": [T: "flecha hacia abajo partiendo de una barra"] # 0x2913
- - "⤔": [T: "flecha hacia la derecha con cola y trazo vertical"] # 0x2914 (en: 'rightwards arrow with tail and vertical stroke', google: 'flecha hacia la derecha con cola y trazo vertical')
- - "⤕": [T: "flecha hacia la derecha con cola y doble trazo vertical"] # 0x2915 (en: 'rightwards arrow with tail and double vertical stroke', google: 'flecha hacia la derecha con cola y trazo vertical doble')
- - "⤖": [T: "flecha hacia la derecha con cola y dos cabezas"] # 0x2916
- - "⤗": [T: "flecha de dos cabezas hacia la derecha con cola con trazo vertical"] # 0x2917 (en: 'rightwards two headed arrow with tail with vertical stroke', google: 'derecho de dos flecha con la cola con trazo vertical')
- - "⤘": [T: "flecha de dos cabezas hacia la derecha con cola con doble trazo vertical"] # 0x2918 (en: 'rightwards two headed arrow with tail with double vertical stroke', google: 'derecho de dos flecha con la cola con trazo vertical doble')
- - "⤙": [T: "cola de doble flecha hacia la izquierda"] # 0x2919 (en: 'leftwards arrow tail')
- - "⤚": [T: "cola de flecha hacia la derecha"] # 0x291a (en: 'rightwards arrow tail', google: 'tail de flecha hacia la derecha')
- - "⤛": [T: "doble flecha hacia la izquierda con cola"] # 0x291b (en: 'leftwards double arrow tail')
- - "⤜": [T: "cola de doble flecha hacia la derecha"] # 0x291c (en: 'rightwards double arrow tail')
- - "⤝": [T: "flecha izquierda hacia rombo lleno"] # 0x291d (en: 'leftwards arrow to filled diamond')
- - "⤞": [T: "flecha derecha hacia rombo lleno"] # 0x291e (en: 'rightwards arrow to filled diamond')
- - "⤟": [T: "flecha izquierda desde barra hacia rombo lleno"] # 0x291f (en: 'leftwards arrow from bar to filled diamond')
- - "⤠": [T: "flecha derecha desde barra hacia rombo lleno"] # 0x2920 (en: 'rightwards arrow from bar to filled diamond')
- - "⤡": [T: "flecha del noroeste y del sudeste"] # 0x2921 (en: 'north west and south east arrow', google: 'noroeste y arrow south east')
- - "⤢": [T: "flecha nordeste y sudoeste"] # 0x2922 (en: 'north east and south west arrow', google: 'north east y south west arrow')
- - "⤣": [T: "flecha hacia el noroeste con garfio"] # 0x2923 (en: 'north west arrow with hook')
- - "⤤": [T: "flecha hacia el nordeste con garfio"] # 0x2924 (en: 'north east arrow with hook')
- - "⤥": [T: "flecha hacia el sudeste con garfio"] # 0x2925 (en: 'south east arrow with hook')
- - "⤦": [T: "flecha hacia el suroeste con garfio"] # 0x2926 (en: 'south west arrow with hook')
- - "⤧": [T: "flechas hacia el noroeste y hacia el nordeste"] # 0x2927 (en: 'north west arrow and north east arrow')
- - "⤨": [T: "flechas hacia el nordeste y hacia el sudeste"] # 0x2928 (en: 'north east arrow and south east arrow')
- - "⤩": [T: "flechas hacia el sudeste y hacia el sudoeste"] # 0x2929 (en: 'south east arrow and south west arrow')
- - "⤪": [T: "flechas hacia el sudoeste y hacia el noroeste"] # 0x292a (en: 'south west arrow and north west arrow')
- - "⤫": [T: "cruce de diagonal ascendente con diagonal descendente"] # 0x292b (en: 'rising diagonal crossing falling diagonal', google: 'cruce diagonal en ascenso caída diagonal')
- - "⤬": [T: "cruce de diagonal descendente con diagonal ascendente"] # 0x292c (en: 'falling diagonal crossing rising diagonal', google: 'cambio de cruce diagonal diagonal')
- - "⤭": [T: "flecha Sureste Cruzando Flecha Noreste"] # 0x292d (en: 'south east arrow crossing north east arrow', google: 'south east arrow crossing north east arrow')
- - "⤮": [T: "flecha nordeste atravesando flecha sudeste"] # 0x292e (en: 'north east arrow crossing south east arrow', google: 'north east arrow crossing south east arrow')
- - "⤯": [T: "diagonal descendente atravesando flecha nordeste"] # 0x292f (en: 'falling diagonal crossing north east arrow', google: 'caída diagonal atravesando la flecha del noreste')
- - "⤰": [T: "diagonal ascendente atravesando flecha sudeste"] # 0x2930 (en: 'rising diagonal crossing south east arrow', google: 'cruce diagonal ascendente crossing south east arrow')
- - "⤱": [T: "flecha nordeste atravesando flecha noroeste"] # 0x2931 (en: 'north east arrow crossing north west arrow', google: 'north east arrow crossing north west arrow')
- - "⤲": [T: "flecha noroeste atravesando flecha nordeste"] # 0x2932 (en: 'north west arrow crossing north east arrow', google: 'north west arrow crossing north east arrow')
- - "⤳": [T: "flecha ondulada apuntando hacia la derecha"] # 0x2933 (en: 'wave arrow pointing directly right')
- - "⤴": [T: "flecha hacia la derecha curvada hacia arriba"] # 0x2934 (en: 'arrow pointing rightwards then curving upwards', google: 'arrow apuntando hacia la derecha y luego curvando hacia arriba')
- - "⤵": [T: "flecha hacia la derecha curvada hacia abajo"] # 0x2935 (en: 'arrow pointing rightwards then curving downwards')
- - "⤶": [T: "flecha hacia abajo curvada hacia la izquierda"] # 0x2936 (en: 'arrow pointing downwards then curving leftwards')
- - "⤷": [T: "flecha hacia abajo curvada hacia la derecha"] # 0x2937 (en: 'arrow pointing downwards then curving rightwards')
- - "⤸": [T: "flecha semicircular hacia la derecha en sentido de las agujas del reloj"] # 0x2938 (en: 'right side arc clockwise arrow')
- - "⤹": [T: "flecha semicircular hacia la izquierda en sentido contrario a las agujas del reloj"] # 0x2939 (en: 'left side arc anticlockwise arrow')
- - "⤺": [T: "arco superior en flecha en sentido contrario a las agujas del reloj"] # 0x293a (en: 'top arc anticlockwise arrow', google: 'arro de arco superior en sentido antihorario')
- - "⤻": [T: "arco inferior en flecha hen sentido contrario a las agujas del reloj"] # 0x293b (en: 'bottom arc anticlockwise arrow', google: 'arco inferior de la flecha en sentido antihorario')
- - "⤼": [T: "flecha en sentido a las agujas del reloj, con arco superior y signo menos"] # 0x293c (en: 'top arc clockwise arrow with minus')
- - "⤽": [T: "flecha en sentido contrario a las agujas del reloj, con arco superior y signo más"] # 0x293d (en: 'top arc anticlockwise arrow with plus')
- - "⤾": [T: "flecha semicircular inferior en sentido a las agujas del reloj"] # 0x293e (en: 'lower right semicircular clockwise arrow', google: 'flecha semicircular inferior derecha en el sentido de las agujas del reloj')
- - "⤿": [T: "flecha semicircular inferior en sentido contrario a las agujas del reloj"] # 0x293f (en: 'lower left semicircular anticlockwise arrow', google: 'flecha semicircular inferior izquierda en sentido antihorario')
- - "⥀": [T: "círculo cerrado en sentido contrario a las agujas del reloj"] # 0x2940 (en: 'anticlockwise closed circle arrow', google: 'flecha de círculo cerrado en sentido antihorario')
- - "⥁": [T: "círculo cerrado en sentido de las agujas del reloj"] # 0x2941 (en: 'clockwise closed circle arrow', google: 'flecha del círculo cerrado en el sentido de las agujas del reloj')
- - "⥂": [T: "flecha hacia la derecha sobre flecha corta hacia la izquierda"] # 0x2942 (en: 'rightwards arrow above short leftwards arrow')
- - "⥃": [T: "flecha hacia la izquierda sobre flecha corta hacia la derecha"] # 0x2943 (en: 'leftwards arrow above short rightwards arrow', google: 'flecha hacia la izquierda sobre la flecha corta derecha hacia la derecha')
- - "⥄": [T: "flecha corta hacia la derecha sobre flecha hacia la izquierda"] # 0x2944 (en: 'short rightwards arrow above leftwards arrow', google: 'flecha corta hacia la derecha sobre la flecha hacia la izquierda')
- - "⥅": [T: "flecha hacia la derecha con signo más inferior"] # 0x2945 (en: 'rightwards arrow with plus below')
- - "⥆": [T: "flecha hacia la izquierda con signo más inferior"] # 0x2946 (en: 'leftwards arrow with plus below', google: 'flecha hacia la izquierda con más a continuación')
- - "⥇": [T: "flecha hacia la derecha a través de X"] # 0x2947 (en: 'rightwards arrow through x', google: 'flecha hacia la derecha a través de x')
- - "⥈": [T: "flecha hacia la izquierda a través de círculo"] # 0x2948 (en: 'left right arrow through circle')
- - "⥉": [T: "flecha con dos cabezas haciarriba partiendo de un círculo"] # 0x2949 (en: 'upwards two headed arrow from circle')
- - "⥊": [T: "arpón con punta izquierda hacia arriba y punta derecha hacia abajo"] # 0x294a (en: 'left barb up right barb down harpoon', MathPlayer: 'left barb up right barb down harpoon', google: 'barb de la izquierda hacia arriba barb barb por harpoon')
- - "⥋": [T: "arpón con punta izquierda hacia abajo y punta derecha hacia arriba"] # 0x294b (en: 'left barb down right barb up harpoon', MathPlayer: 'left barb down right barb up harpoon', google: 'barb de la izquierda hacia abajo barb en la barbilla hacia arriba')
- - "⥌": [T: "arpón conpunta derecha hacia arriba y punta izquierda hacia abajo"] # 0x294c (google: 'barb a la derecha por barb harpoon izquierda')
- - "⥍": [T: "arpón con punta izquierda hacia arriba y punta derecha hacia abajo"] # 0x294d (en: 'up barb left down barb right harpoon', google: 'barb a la barb izquierda por barb right harpoon')
- - "⥎": [T: "arpón con puntas derecha e izquierda hacia arriba"] # 0x294e (en: 'left barb up right barb up harpoon', MathPlayer: 'arpón superior derecha-izquierda', google: 'barb izquierda arriba barb arriba de barca')
- - "⥏": [T: "arpón con puntas superior e inferior hacia la derecha"] # 0x294f (en: 'up barb right down barb right harpoon')
- - "⥐": [T: "arpón con puntas derecha e izquierda hacia abajo"] # 0x2950 (en: 'left barb down right barb down harpoon', MathPlayer: 'arpón inferior derecha-izquierda', google: 'barb de la izquierda hacia abajo barb barb por harpoon')
- - "⥑": [T: "arpón izquierdo con puntas hacia arriba y hacia abajo"] # 0x2951 (en: 'up barb left down barb left harpoon')
- - "⥒": [T: "arpón hacia la izquierda con punta hasta la barra"] # 0x2952 (en: 'leftwards harpoon with barb up to bar', MathPlayer: 'leftwards harpoon to bar with barb upwards', google: 'arpón de la izquierda con barb hasta bar')
- - "⥓": [T: "arpón hacia la derecha con punta hasta la barra"] # 0x2953 (en: 'rightwards harpoon with barb up to bar', MathPlayer: 'rightwards harpoon to bar with barb upwards', google: 'arpoon a la derecha con barb hasta bar')
- - "⥔": [T: "arpón ascendente con punta derecha hacia la barra"] # 0x2954 (en: 'upwards harpoon with barb right to bar', MathPlayer: 'upwards harpoon to bar with barb rightwards', google: 'hacia arriba hacia arriba con barb directamente a bar')
- - "⥕": [T: "arpón hacia abajo con punta derecha hacia la barra"] # 0x2955 (en: 'downwards harpoon with barb right to bar', MathPlayer: 'downwards harpoon to bar with barb rightwards', google: 'harpoon hacia abajo con barb directamente a bar')
- - "⥖": [T: "arpón hacia la izquierda con punta descendente hacia la barra"] # 0x2956 (en: 'leftwards harpoon with barb down to bar', MathPlayer: 'leftwards harpoon to bar with barb downwards', google: 'arpón de la izquierda con barb hasta el bar')
- - "⥗": [T: "arpón hacia la derecha con punta inferior hacia la barra"] # 0x2957 (en: 'rightwards harpoon with barb down to bar', MathPlayer: 'rightwards harpoon to bar with barb downwards', google: 'arpoon a la derecha con barb hasta bar')
- - "⥘": [T: "arpón ascendente con punta izquierda hacia la barra"] # 0x2958 (en: 'upwards harpoon with barb left to bar', MathPlayer: 'upwards harpoon to bar with barb leftwards', google: 'hace arriba de barb con barb se fue a bar')
- - "⥙": [T: "arpón hacia abajo con punta izquierda hacia la barra"] # 0x2959 (en: 'downwards harpoon with barb left to bar', MathPlayer: 'downwards harpoon to bar with barb leftwards', google: 'arpón hacia abajo con barb se fue a bar')
- - "⥚": [T: "arpón hacia la izquierda con punta por encima de la barra"] # 0x295a (en: 'leftwards harpoon with barb up from bar', MathPlayer: 'leftwards harpoon from bar with barb upwards', google: 'arpón de la izquierda con barb arriba desde el bar')
- - "⥛": [T: "arpón hacia la derecha con punta por encima de la barra"] # 0x295b (en: 'rightwards harpoon with barb up from bar', MathPlayer: 'rightwards harpoon from bar with barb upwards', google: 'arpoon a la derecha con barb up from bar')
- - "⥜": [T: "arpón ascendente con punta partiendo de la barra"] # 0x295c (en: 'upwards harpoon with barb right from bar', MathPlayer: 'upwards harpoon from bar with barb rightwards', google: 'hacia arriba hacia arriba con barb directamente desde el bar')
- - "⥝": [T: "arpón descendente con punta partiendo de la barra"] # 0x295d (en: 'downwards harpoon with barb right from bar', MathPlayer: 'downwards harpoon from bar with barb rightwards', google: 'arpón hacia abajo con barb directamente desde el bar')
- - "⥞": [T: "arpón hacia la izquierda con punta por debajo de la barra"] # 0x295e (en: 'leftwards harpoon with barb down from bar', MathPlayer: 'leftwards harpoon from bar with barb downwards', google: 'arpón hacia la izquierda con barb down desde bar')
- - "⥟": [T: "arpón hacia la derecha con punta por debajo de barra"] # 0x295f (en: 'rightwards harpoon with barb down from bar', MathPlayer: 'rightwards harpoon from bar with barb downwards', google: 'arpoon a la derecha con barb down desde bar')
- - "⥠": [T: "arpón ascendente con punta a la izquierda de la barra"] # 0x2960 (en: 'upwards harpoon with barb left from bar', MathPlayer: 'upwards harpoon from bar with barb leftwards', google: 'hacia arriba de la arpón con barb se queda desde el bar')
- - "⥡": [T: "arpón descendente con punta a la izquierda de la barra"] # 0x2961 (en: 'downwards harpoon with barb left from bar', MathPlayer: 'downwards harpoon from bar with barb leftwards', google: 'arpón hacia abajo con barb se queda desde el bar')
- - "⥢": [T: "arpón hacia la izquierda con punta por encima de arpon hacia la izquierda con punta hacia abajo"] # 0x2962 (en: 'leftwards harpoon with barb up above leftwards harpoon with barb down', MathPlayer: 'leftwards harpoon with barb up above leftwards harpoon with barb down', google: 'arpón de la izquierda con barb arriba sobre la arpón hacia la izquierda con barb down')
- - "⥣": [T: "arpón ascendente con punta hacia la izquierda al lado de arpón ascendente con punta hacia la derecha"] # 0x2963 (en: 'upwards harpoon with barb left beside upwards harpoon with barb right', MathPlayer: 'upwards harpoon with barb left beside upwards harpoon with barb right', google: 'hacia arriba de la arpón con barb izquierda junto a la arpón hacia arriba con barb a la derecha')
- - "⥤": [T: "arpón hacia la derecha con punta por encima de arpón hacia la derecha con punta hacia abajo"] # 0x2964 (en: 'rightwards harpoon with barb up above rightwards harpoon with barb down', MathPlayer: 'rightwards harpoon with barb up above rightwards harpoon with barb down', google: 'arpoon a la derecha con barb arriba sobre la arpón de la derecha con barb down')
- - "⥥": [T: "arpón hacia abajo con lengüeta a la izquierda al lado arpón hacia abajo con lengüeta a la derecha"] # 0x2965 (en: 'downwards harpoon with barb left beside downwards harpoon with barb right', MathPlayer: 'downwards harpoon with barb left beside downwards harpoon with barb right', google: 'arpón hacia abajo con barb izquierda junto a la arpón hacia abajo con barb a la derecha')
- - "⥦": [T: "arpón a la izquierda con punta por encima de arpón a la derecha con punta hacia arriba"] # 0x2966 (en: 'leftwards harpoon with barb up above rightwards harpoon with barb up', MathPlayer: 'leftwards harpoon with barb up above rightwards harpoon with barb up', google: 'arpón hacia la izquierda con barb arriba sobre la arpón hacia la derecha con barb')
- - "⥧": [T: "arpón a la izquierda con punta hacia abajo por encima de arpón a la derecha con punta hacia abajo"] # 0x2967 (en: 'leftwards harpoon with barb down above rightwards harpoon with barb down', MathPlayer: 'leftwards harpoon with barb down above rightwards harpoon with barb down', google: 'arpón de la izquierda con barb hacia abajo sobre la arpón hacia la derecha con barb down')
- - "⥨": [T: "arpón a la derecha con punta hacia arriba por encima de arpón hacia la izquierda con punta hacia arriba"] # 0x2968 (en: 'rightwards harpoon with barb up above leftwards harpoon with barb up', MathPlayer: 'rightwards harpoon with barb up above leftwards harpoon with barb up', google: 'arpoon a la derecha con barb arriba sobre la arpón de la izquierda con barb hacia arriba')
- - "⥩": [T: "arpón a la derecha con punta hacia abajo por encima de arpón a la izquierda con punta hacia abajo"] # 0x2969 (en: 'rightwards harpoon with barb down above leftwards harpoon with barb down', MathPlayer: 'rightwards harpoon with barb down above leftwards harpoon with barb down', google: 'arpón a la derecha con barb hacia abajo sobre la arpón hacia la izquierda con barb down')
- - "⥪": [T: "arpón hacia la izquierda con punta hacia arriba por encima de raya larga discontinua"] # 0x296a (en: 'leftwards harpoon with barb up above long dash')
- - "⥫": [T: "arpón hacia la izquierda con punta hacia abajo por debajo de raya larga discontinua"] # 0x296b (en: 'leftwards harpoon with barb down below long dash')
- - "⥬": [T: "arpón hacia la derecha con punta por encima de raya larga discontinua"] # 0x296c (en: 'rightwards harpoon with barb up above long dash')
- - "⥭": [T: "arpón hacia la derecha con punta hacia abajo por debajo de raya larga discontinua"] # 0x296d (en: 'rightwards harpoon with barb down below long dash')
- - "⥮": [T: "arpón ascendente con punta a la izquierda al lado arpón descendente con punta a la derecha"] # 0x296e (en: 'upwards harpoon with barb left beside downwards harpoon with barb right', MathPlayer: 'upwards harpoon to the left of downwards harpoon', google: 'hacia arriba de la arpón con barb izquierda junto al arpón hacia abajo con barb a la derecha')
- - "⥯": [T: "arpón hacia abajo con lengüeta a la izquierda al lado arpón hacia arriba con lengüeta a la derecha"] # 0x296f (en: 'downwards harpoon with barb left beside upwards harpoon with barb right', MathPlayer: 'upwards harpoon to the right of downwards harpoon', google: 'arpón hacia abajo con barb izquierda junto a la arpón hacia arriba con barb a la derecha')
- - "⥰": [T: "flecha doble hacia la derecha con cabeza redondeada"] # 0x2970 (en: 'right double arrow with rounded head')
- - "⥱": [T: "flecha hacia la derecha con signo igual por encima"] # 0x2971 (en: 'equals above rightwards arrow')
- - "⥲": [T: "flecha con tilde"] # 0x2972 (en: 'tilde operator above rightwards arrow')
- - "⥳": [T: "tilde con flecha"] # 0x2974 (en: 'rightwards arrow above tilde operator')
- - "⥵": [T: "flecha hacia la derecha por encima de signo casi igual a"] # 0x2975 (en: 'rightwards arrow above almost equal to')
- - "⥶": [T: "signo menor que por encima de flecha hacia la izquierda"] # 0x2976 (en: 'less than above leftwards arrow')
- - "⥷": [T: "flecha hacia la izquierda atravesando signo menor que"] # 0x2977 (en: 'leftwards arrow through less than')
- - "⥸": [T: "signo mayor que por encima de flecha hacia la derecha"] # 0x2978 (en: 'greater than above rightwards arrow')
- - "⥹": [T: "subconjunto por encima de flecha hacia la derecha"] # 0x2979 (en: 'subset above rightwards arrow')
- - "⥺": [T: "flecha hacia la izquierda a través de subconjunto"] # 0x297a (en: 'leftwards arrow through subset')
- - "⥻": [T: "superconjunto por encima de flecha hacia la izquierda"] # 0x297b (en: 'superset above leftwards arrow')
- - "⥼": [T: "cola de pez izquierda"] # 0x297c (en: 'left fish tail', MathPlayer: 'left fish tail', google: 'cola de pescado izquierdo')
- - "⥽": [T: "cola de pez derecha"] # 0x297d (en: 'right fish tail', MathPlayer: 'right fish tail', google: 'cola de pescado derecho')
- - "⥾": [T: "cola de pez hacia arriba"] # 0x297e (en: 'up fish tail')
- - "⥿": [T: "cola de pez haciaabajo"] # 0x297f (en: 'down fish tail', MathPlayer: 'down fish tail', google: 'abajo de la cola de pescado')
- - "⦀": [T: "delimitador triple barra vertical"] # 0x2980 (en: 'triple vertical bar delimiter', google: 'delimitador de triple barra vertical')
- - "⦁": [T: "punto de notación Z"] # 0x2981 (en: 'z notation spot', google: 'z spot de notación')
- - "⦂": [T: "tipo de notación Z Colon"] # 0x2982 (en: 'z notation type colon', google: 'z tipo de notación colon')
- - "⦃": [T: "soporte rotacional blanco izquierdo"] # 0x2983 (en: 'left white brace', google: 'brace blanco izquierdo')
- - "⦄": [T: "soporte rotacional blanco derecho"] # 0x2984 (en: 'right white brace', google: 'brace blanco derecho')
- - "⦅": [T: "paréntesis izquierdo"] # 0x2985 (en: 'left white parenthesis')
- - "⦆": [T: "paréntesis derecho"] # 0x2986 (en: 'right white parenthesis')
- - "⦇": [T: "notación Z izquierda soporte de imagen"] # 0x2987 (en: 'z notation left image bracket', google: 'z notación del soporte de la imagen izquierda')
- - "⦈": [T: "notación Z derecha soporte de imagen"] # 0x2988 (en: 'z notation right image bracket', google: 'z notación de la imagen correcta soporte de imagen')
- - "⦉": [T: "notación Z izquierda unida a soporte"] # 0x2989
- - "⦊": [T: "notación Z derecha unida a soporte"] # 0x298a
- - "⦋": [T: "corchete izquierdo con barra ijnferior"] # 0x298b (en: 'left square bracket with underbar')
- - "⦌": [T: "corchete derecho con barra inferior"] # 0x298c (en: 'right square bracket with underbar')
- - "⦍": [T: "corchete izquierdo con trazo en esquina superior"] # 0x298d (en: 'left square bracket with tick in top corner')
- - "⦎": [T: "corchete derecho con trazo en esquina inferior"] # 0x298e (en: 'right square bracket with tick in bottom corner')
- - "⦏": [T: "corchete izquierdo con trazo en esquina inferior"] # 0x298f (en: 'left square bracket with tick in bottom corner')
- - "⦐": [T: "corchete derecho con trazo en esquina superior"] # 0x2990 (en: 'right square bracket with tick in top corner')
- - "⦑": [T: "ángulo izquierdo de corchete con punto"] # 0x2991
- - "⦒": [T: "ángulo derecho de corchete con punto"] # 0x2992
- - "⦓": [T: "arco izquierdo menor que soporte"] # 0x2993
- - "⦔": [T: "arco derecho mayor que soporte"] # 0x2994
- - "⦕": [T: "doble arco izquierdo mayor que soporte"] # 0x2995
- - "⦖": [T: "doble arco derecho menor que soporte"] # 0x2996
- - "⦗": [T: "soporte de concha de tortuga negra izquierda"] # 0x2997 (en: 'left black tortoise shell bracket')
- - "⦘": [T: "soporte con concha de tortuga a la derecha"] # 0x2998 (en: 'right black tortoise shell bracket', google: 'soporte de carcasa de tortuga negra derecha')
- - "⦙": [T: "valla punteada"] # 0x2999 (en: 'dotted fence')
- - "⦚": [T: "línea vertical en zigzag"] # 0x299a (en: 'vertical zigzag line')
- - "⦛": [T: "Ángulo medido de apertura a la izquierda"] # 0x299b (en: 'measured angle opening left', google: 'apertura de ángulo medido a la izquierda')
- - "⦜": [T: "Variante de ángulo recto con cuadrado"] # 0x299c (en: 'right angle variant with square', google: 'variante de ángulo recto con cuadrado')
- - "⦝": [T: "ángulo recto medido con punto"] # 0x299d (en: 'measured right angle with dot')
- - "⦞": [T: "Ángulo con S dentro"] # 0x299e (en: 'angle with s inside', google: 'ángulo con s adentro')
- - "⦟": [T: "Ángulo agudo"] # 0x299f (en: 'acute angle', google: 'ángulo agudo')
- - "⦠": [T: "Ángulo esférico de apertura a la izquierda"] # 0x29a0 (en: 'spherical angle opening left', google: 'abertura del ángulo esférico izquierda')
- - "⦡": [T: "ángulo esférico con apertura hacia arriaba"] # 0x29a1 (en: 'spherical angle opening up', google: 'abertura del ángulo esférico')
- - "⦢": [T: "ángulo girado"] # 0x29a2 (en: 'turned angle', google: 'ángulo girado')
- - "⦣": [T: "Ángulo invertido"] # 0x29a3 (en: 'reversed angle', google: 'ángulo invertido')
- - "⦤": [T: "ángulo con barra inferior"] # 0x29a4 (en: 'angle with underbar')
- - "⦥": [T: "ángulo invertido con barra inferior"] # 0x29a5 (en: 'reversed angle with underbar')
- - "⦦": [T: "ángulo oblicuo abierto hacia arriba"] # 0x29a6 (en: 'oblique angle opening up')
- - "⦧": [T: "ángulo oblicuo abierto hacia abajo"] # 0x29a7 (en: 'oblique angle opening down')
- - "⦨": [T: "ángulo medio con brazo extendido terminando en flecha hacia arriba y hacia la derecha"] # 0x29a8
- - "⦩": [T: "ángulo medio con brazo extendido terminando en flecha hacia arriba y hacia la izquierda"] # 0x29a9
- - "⦪": [T: "ángulo medio con brazo extendido terminando en flecha hacia abajo y hacia la derecha"] # 0x29aa
- - "⦫": [T: "ángulo medio con brazo extendido terminando en flecha hacia abajo y hacia la izquierda"] # 0x29ab
- - "⦬": [T: "ángulo medio con brazo extendido terminando en flecha hacia la derecha y hacia arriba"] # 0x29ac
- - "⦭": [T: "ángulo medio con brazo extendido terminando en flecha apuntando hacia la izquierda y hacia arriba"] # 0x29ad
- - "⦮": [T: "ángulo medio con brazo extendido terminando en flecha hacia la derecha y hacia abajo"] # 0x29ae
- - "⦯": [T: "ángulo medio con brazo extendido terminando en flecha hacia la izquierda y hacia abajo"] # 0x29af
- - "⦰": [T: "conjunto vacío invertido"] # 0x29b0 (en: 'reversed empty set')
- - "⦱": [T: "conjunto vacío con barra superior"] # 0x29b1 (en: 'empty set with overbar')
- - "⦲": [T: "conjunto vacío con círculo pequeño encima"] # 0x29b2 (en: 'empty set with small circle above')
- - "⦳": [T: "conjunto vacío con flecha derecha encima"] # 0x29b3 (en: 'empty set with right arrow above')
- - "⦴": [T: "conjunto vacío con flecha izquierda encima"] # 0x29b4 (en: 'empty set with left arrow above')
- - "⦵": [T: "círculo con barra horizontal"] # 0x29b5 (en: 'circle with horizontal bar')
- - "⦶": [T: "barra vertical rodeada por un círculo"] # 0x29b6 (en: 'circled vertical bar')
- - "⦷": [T: "paralelas rodeadas por un círculo"] # 0x29b7 (en: 'circled parallel')
- - "⦸": [T: "solidus en círculo inverso"] # 0x29b8 (en: 'circled reverse solidus', google: 'solidus reverso en circulación')
- - "⦹": [T: "perpendicular rodeada por un círculo"] # 0x29b9 (en: 'circled perpendicular')
- - "⦺": [T: "círculo dividido por barra horizontal y mitad superior dividido por barra vertical"] # 0x29ba (en: 'circled divided by horizontal bar and top half divided by vertical bar', google: 'círculo dividido por la barra horizontal y la mitad superior dividida por la barra vertical')
- - "⦻": [T: "círculo con x superpuesta"] # 0x29bb (en: 'circle with superimposed x')
- - "⦼": [T: "círculo en sentido contrario a las agujas del reloj virando a signo de división"] # 0x29bc (en: 'circled anticlockwise rotated division sign')
- - "⦽": [T: "flecha hacia arriba a través de círculo"] # 0x29bd (en: 'up arrow through circle', google: 'arrow a través del círculo')
- - "⦾": [T: "viñeta vacía en un círculo"] # 0x29be (en: 'circled white bullet')
- - "⦿": [T: "viñeta en un círculo"] # 0x29bf (en: 'circled bullet')
- - "⧀": [T: "signo menor que en un círculo"] # 0x29c0 (en: 'circled less than')
- - "⧁": [T: "signo mayor que en un círculo"] # 0x29c1 (en: 'circled greater than')
- - "⧂": [T: "círculo con círculo pequeño a la derecha"] # 0x29c2 (en: 'circle with small circle to the right')
- - "⧃": [T: "círculo con dos trazos horizontales a la derecha"] # 0x29c3
- - "⧄": [T: "cuadrado con diagonal ascendente"] # 0x29c4 (en: 'squared rising diagonal slash')
- - "⧅": [T: "cuadrado con diagonal descendente"] # 0x29c5 (en: 'squared falling diagonal slash')
- - "⧆": [T: "asterisco cuadrado"] # 0x29c6 (en: 'squared asterisk')
- - "⧇": [T: "pequeño círculo cuadrado"] # 0x29c7 (en: 'squared small circle', google: 'círculo pequeño cuadrado')
- - "⧈": [T: "cuadrado cuadrado"] # 0x29c8 (en: 'squared square')
- - "⧉": [T: "dos cuadrados unidos"] # 0x29c9 (en: 'two joined squares')
- - "⧊": [T: "triángulo con punto arriba"] # 0x29ca (en: 'triangle with dot above')
- - "⧋": [T: "triángulo con barra inferior"] # 0x29cb (en: 'triangle with underbar', google: 'triángulo con debajo de la barra')
- - "⧌": [T: "s dentro de un triangulo"] # 0x29cc (en: 's in triangle', google: 's en triángulo')
- - "⧍": [T: "triángulo con serifs en la parte inferior"] # 0x29cd
- - "⧎": [T: "triángulo hacia la derecha sobre triángulo hacia la izquierda"] # 0x29ce (en: 'right triangle above left triangle')
- - "⧏": [T: "triángulo izquierdo al lado de barra vertical"] # 0x29cf (en: 'left triangle beside vertical bar')
- - "⧐": [T: "barra vertical al lado de triángulo derecho"] # 0x29d0 (en: 'vertical bar beside right triangle')
- - "⧑": [T: "pajarita Con Mitad Izquierda Negra"] # 0x29d1 (en: 'bowtie with left half black', google: 'bowtie con la mitad de la izquierda')
- - "⧒": [T: "pajarita Con Mitad Derecha Negra"] # 0x29d2 (en: 'bowtie with right half black', google: 'bowtie con la mitad derecha negra')
- - "⧓": [T: "pajarita Negra"] # 0x29d3 (en: 'black bowtie', google: 'bowtie negro')
- - "⧔": [T: "multiplicado por con mitad izquierda negra"] # 0x29d4 (en: 'times with left half black', google: 'veces con la mitad de la izquierda')
- - "⧕": [T: "multiplicado por con mitad derecha negra"] # 0x29d5 (en: 'times with right half black', google: 'veces con la mitad derecha negra')
- - "⧖": [T: "reloj de arena blanco"] # 0x29d6 (en: 'white hourglass', google: 'hourglass blancos')
- - "⧗": [T: "reloj de arena negro"] # 0x29d7 (en: 'black hourglass', google: 'hourglass negros')
- - "⧘": [T: "valla izquierda ondulada"] # 0x29d8 (en: 'left wiggly fence', google: 'left fence wiggly')
- - "⧙": [T: "valla derecha ondulada"] # 0x29d9 (en: 'right wiggly fence', google: 'derecha cerca ondulada')
- - "⧚": [T: "valla doble izquierda ondulada"] # 0x29da
- - "⧛": [T: "valla doble derecha ondulada"] # 0x29db
- - "⧜": [T: "infinito incompleto"] # 0x29dc (en: 'incomplete infinity')
- - "⧝": [T: "infinito"] # 0x29dd (en: 'tie over infinity', google: 'ate el infinito')
- - "⧞": [T: "no infinito"] # 0x29de (en: 'infinity negated with vertical bar')
- - "⧟": [T: "multimapa de doble extremo"] # 0x29df (en: 'double-ended multimap')
- - "⧠": [T: "cuadrado con contorno delineado"] # 0x29e0 (en: 'square with contoured outline')
- - "⧡": [T: "aumenta a medida que"] # 0x29e1 (en: 'increases as')
- - "⧢": [T: "producto aleatorio"] # 0x29e2 (en: 'shuffle product', google: 'producto de baraja')
- - "⧣": [T: "signo igual y paralela inclinada"] # 0x29e3 (en: 'equals sign and slanted parallel', MathPlayer: 'igual tachado doble', google: 'es igual a la señal y se inclinó paralelo')
- - "⧤": [T: "signo igual y paralela inclinada con tilde por encima"] # 0x29e4 (en: 'equals sign and slanted parallel with tilde above')
- - "⧥": [T: "idéntico a una paralela inclinada"] # 0x29e5 (en: 'identical to and slanted parallel')
- - "⧦": [T: "gleich Stark"] # 0x29e6 (en: 'gleich stark', google: 'gleich stark')
- - "⧧": [T: "termodinámica"] # 0x29e7 (en: 'thermodynamic', google: 'termodinámico')
- - "⧨": [T: "triángulo apuntando hacia abajo con la mitad izquierda negra"] # 0x29e8 (en: 'down pointing triangle with left half black', google: 'down pointing triangle con la mitad izquierda')
- - "⧩": [T: "triángulo apuntando hacia abajo con la mitad derecha negra"] # 0x29e9 (en: 'down pointing triangle with right half black', google: 'down apuntando al triángulo con la mitad derecha negra')
- - "⧪": [T: "rombo negro con flecha hacia abajo"] # 0x29ea (en: 'black diamond with down arrow')
- - "⧫": [T: "rombo relleno"] # 0x29eb (en: 'black lozenge')
- - "⧬": [T: "círculo blanco con flecha hacia abajo"] # 0x29ec (en: 'white circle with down arrow')
- - "⧭": [T: "círculo negro con flecha hacia abajo"] # 0x29ed (en: 'black circle with down arrow')
- - "⧮": [T: "cuadrado blanco con error barrado"] # 0x29ee (en: 'error-barred white square', google: 'cuadrado blanco con barra de error')
- - "⧯": [T: "cuadrado negro con error barrado"] # 0x29ef (en: 'error-barred black square', google: 'cuadrado negro con barra de error')
- - "⧰": [T: "rombo blanco con error barrado"] # 0x29f0 (en: 'error-barred white diamond', google: 'diamante blanco con accesorios de error')
- - "⧱": [T: "rombo negro con error barrado"] # 0x29f1 (en: 'error-barred black diamond', google: 'diamante negro con accesorios de error')
- - "⧲": [T: "círculo blanco con error barrado"] # 0x29f2 (en: 'error-barred white circle', google: 'círculo blanco con barra de error')
- - "⧳": [T: "círculo negro con error barrado"] # 0x29f3 (en: 'error-barred black circle', google: 'círculo negro con barra de error')
- - "⧴": [T: "regla retardada"] # 0x29f4 (en: 'rule-delayed')
- - "⧵": [T: "operador de Solidus Inverso"] # 0x29f5 (en: 'reverse solidus operator', google: 'operador reverso de solidus')
- - "⧶": [T: "solidus con barra superior"] # 0x29f6
- - "⧷": [T: "solidus inverso con trazo horizontal"] # 0x29f7 (en: 'reverse solidus with horizontal stroke', google: 'reverse solidus con carrera horizontal')
- - "⧸": [T: "sólido grande"] # 0x29f8 (en: 'big solidus', google: 'big solidus')
- - "⧹": [T: "solidus inverso grande"] # 0x29f9 (en: 'big reverse solidus', google: 'big reverso solidus')
- - "⧺": [T: "doble signo más"] # 0x29fa (en: 'double plus', google: 'doble más')
- - "⧻": [T: "triple signo más"] # 0x29fb (en: 'triple plus', google: 'triple plus')
- - "⧼": [T: "paréntesis con ángulo curvado hacia la izquierda"] # 0x29fc (en: 'left pointing curved angle bracket', google: 'soporte de ángulo curvo de apuntamiento izquierdo')
- - "⧽": [T: "paréntesis con ángulo curvado hacia la derecha"] # 0x29fd (en: 'right pointing curved angle bracket', google: 'soporte de ángulo curvo apuntando a la derecha')
- - "⧾": [T: "minúsculo"] # 0x29fe (en: 'tiny', google: 'diminuto')
- - "⧿": [T: "miny"] # 0x29ff
- - "⨀": [T: "operador de puntos circulares N-Ary"] # 0x2a00 (en: 'circled dot operator', google: 'operador de puntos en circulación')
- - "⨁": [T: "operador N-Ary con signo más en un círculo"] # 0x2a01 (en: 'circled plus operator', google: 'operador circlado plus')
- - "⨂": [T: "operador N-Ary con signo multiplicado por dentro de un círculo"] # 0x2a02 (en: 'circled times operator', google: 'operador de times en circulación')
- - "⨃": [T: "operador de la unión N-Ary con punto"] # 0x2a03 (en: 'union operator with dot', google: 'operador sindical con dot')
- - "⨄": [T: "n-Ary Union Operator con signo más"] # 0x2a04 (en: 'union operator with plus', google: 'operador sindical con más')
- - "⨅": [T: "operador de intersecciones cuadradas N-Ary"] # 0x2a05 (en: 'square intersection operator', google: 'operador de intersección cuadrada')
- - "⨆": [T: "n-Ary Square Union Operator"] # 0x2a06 (en: 'square union operator', google: 'operador de la unión square')
- - "⨇": [T: "dos lógico y operador"] # 0x2a07 (en: 'two logical and operator', google: 'dos lógicos y operadores')
- - "⨈": [T: "dos lógico u operador"] # 0x2a08 (en: 'two logical or operator', google: 'dos lógicos u operadores')
- - "⨉": [T: "operador multiplicado por N-Ary Times"] # 0x2a09 (en: 'times operator', google: 'operador de tiempos')
- - "⨊": [T: "módulo dos sumas"] # 0x2a0a (en: 'modulo two sum', google: 'módulo dos suma')
- - "⨋": [T: "suma con Integral"] # 0x2a0b (en: 'summation with integral', google: 'suma con integral')
- - "⨌": [T: "operador integral cuádruple"] # 0x2a0c (en: 'quadruple integral operator')
- - "⨍": [T: "parte integral finita"] # 0x2a0d
- - "⨎": [T: "integral con Doble Trazo"] # 0x2a0e (en: 'integral with double stroke', google: 'integral con doble trazo')
- - "⨏": [T: "promedio Integral con barra discontinua"] # 0x2a0f (en: 'integral average with slash', google: 'promedio integral con corte')
- - "⨐": [T: "circulation function"] # 0x2a10
- - "⨑": [T: "integral en sentido contrario a las agujas del reloj"] # 0x2a11 (en: 'anticlockwise integration')
- - "⨒": [T: "integral lineal para rectángulo en polo"] # 0x2a12 (en: 'line integration with rectangular path around pole')
- - "⨓": [T: "integral lineal para semicírculo en polo"] # 0x2a13 (en: 'line integration with semicircular path around pole')
- - "⨔": [T: "integral lineal excluyendo el polo"] # 0x2a14 (en: 'line integration not including the pole')
- - "⨕": [T: "integral en torno a un punto operador"] # 0x2a15 (en: 'integral around a point operator')
- - "⨖": [T: "operador integral para cuaterniones"] # 0x2a16 (en: 'quaternion integral operator')
- - "⨗": [T: "integral con flecha hacia la izquierda con garfio"] # 0x2a17 (en: 'integral with leftwards arrow with hook')
- - "⨘": [T: "integral con signo multiplicado por"] # 0x2a18 (en: 'integral with times sign', google: 'integral con el signo de tiempos')
- - "⨙": [T: "integral con Intersección"] # 0x2a19 (en: 'integral with intersection', google: 'integral con la intersección')
- - "⨚": [T: "integral con unión"] # 0x2a1a (en: 'integral with union', google: 'integral con la unión')
- - "⨛": [T: "integral con barra superior"] # 0x2a1b (en: 'integral with overbar', google: 'integral con overbar')
- - "⨜": [T: "integral con barra inferior"] # 0x2a1c (en: 'integral with underbar', google: 'integral con underbar')
- - "⨝": [T: "unir"] # 0x2a1d (en: 'join')
- - "⨞": [T: "operador de triángulo izquierdo grande"] # 0x2a1e (en: 'large left triangle operator', google: 'gran operador del triángulo izquierdo')
- - "⨟": [T: "composición de esquemas de notación Z"] # 0x2a1f (en: 'z notation schema composition', google: 'z composición de esquema de notación')
- - "⨠": [T: "esquema de notación Z"] # 0x2a20 (en: 'z notation schema piping', google: 'z tubería de esquema de notación')
- - "⨡": [T: "proyección del esquema de notación Z"] # 0x2a21 (en: 'z notation schema projection', google: 'z proyección de esquema de notación')
- - "⨢": [T: "signo más con círculo encima"] # 0x2a22 (en: 'plus sign with circle above')
- - "⨣": [T: "signo más con signo circunflejo encima"] # 0x2a23 (en: 'plus sign with circumflex accent above')
- - "⨤": [T: "signo más con tilde encima"] # 0x2a24 (en: 'plus sign with tilde above')
- - "⨥": [T: "signo más con punto inferior"] # 0x2a25 (en: 'plus sign with dot below')
- - "⨦": [T: "signo más con tilde inferior"] # 0x2a26 (en: 'plus sign with tilde below')
- - "⨧": [T: "signo más con 2 subíndice"] # 0x2a27 (en: 'plus sign with subscript two')
- - "⨨": [T: "signo más con triángulo negro"] # 0x2a28 (en: 'plus sign with black triangle', google: 'más letrero con triángulo negro')
- - "⨩": [T: "signo menos con coma encima"] # 0x2a29 (en: 'minus sign with comma above')
- - "⨪": [T: "signo menos con punto inferior"] # 0x2a2a (en: 'minus sign with dot below')
- - "⨫": [T: "signo menos con puntos descendentes"] # 0x2a2b (en: 'minus sign with falling dots', google: 'señal menos con puntos de caída')
- - "⨬": [T: "signo menos con puntos ascendentes"] # 0x2a2c (en: 'minus sign with rising dots', google: 'minus firma con puntos ascendentes')
- - "⨭": [T: "signo más en semicírculo izquierdo"] # 0x2a2d (en: 'plus sign in left half circle')
- - "⨮": [T: "signo más en semicírculo derecho"] # 0x2a2e (en: 'plus sign in right half circle')
- - "⨯": [T: "producto vectorial"] # 0x2a2f (en: 'cross product')
- - "⨰": [T: "signo de multiplicación con punto encima"] # 0x2a30 (en: 'multiplication sign with dot above')
- - "⨱": [T: "signo de multiplicación con barra inferior"] # 0x2a31 (en: 'multiplication sign with underbar')
- - "⨲": [T: "producto semidirecto con fondo cerrado"] # 0x2a32 (en: 'semidirect product with bottom closed')
- - "⨳": [T: "smash product"] # 0x2a33
- - "⨴": [T: "signo de multiplicación dentro de semicírculo izquierdo"] # 0x2a34 (en: 'multiplication sign in left half circle')
- - "⨵": [T: "signo de multiplicación dentro de semicírculo derecho"] # 0x2a35 (en: 'multiplication sign in right half circle')
- - "⨶": [T: "signo de multiplicación dentro de círculo con circunflejo"] # 0x2a36 (en: 'circled multiplication sign with circumflex accent')
- - "⨷": [T: "signo de multiplicación en doble círculo"] # 0x2a37 (en: 'multiplication sign in double circle')
- - "⨸": [T: "signo de división dentro de un círdulo"] # 0x2a38 (en: 'circled division sign')
- - "⨹": [T: "signo más dentro de un triángulo"] # 0x2a39 (en: 'plus sign in triangle')
- - "⨺": [T: "signo menos dentro de un triángulo"] # 0x2a3a (en: 'minus sign in triangle')
- - "⨻": [T: "signo de multiplicación dentro de un triángulo"] # 0x2a3b (en: 'multiplication sign in triangle')
- - "⨼": [T: "producto interior"] # 0x2a3c (en: 'interior product')
- - "⨽": [T: "producto interior derecho"] # 0x2a3d (en: 'righthand interior product')
- - "⨮": [T: "signo más en semicírculo derecho"] # 0x2a2e (en: 'z notation relational composition')
- - "⨿": [T: "coproducto"] # 0x2a3f (en: 'amalgamation or coproduct')
- - "⩀": [T: "intersección con punto"] # 0x2a40 (en: 'intersection with dot')
- - "⩁": [T: "unión con signo menos"] # 0x2a41 (en: 'union with minus sign', google: 'unión con menos signo')
- - "⩂": [T: "unión con barrasuperior"] # 0x2a42 (en: 'union with overbar')
- - "⩃": [T: "intersección con barrasuperior"] # 0x2a43 (en: 'intersection with overbar')
- - "⩄": [T: "intersección con and lógico"] # 0x2a44 (en: 'intersection with logical and')
- - "⩅": [T: "unión con or lógico"] # 0x2a45 (en: 'union with logical or')
- - "⩆": [T: "unión sobre intersección"] # 0x2a46 (en: 'union above intersection')
- - "⩇": [T: "intersección sobre unión"] # 0x2a47 (en: 'intersection above union')
- - "⩈": [T: "unión sobre barra sobre intersección"] # 0x2a48 (en: 'union above bar above intersection')
- - "⩉": [T: "intersección sobre barra sobre unión"] # 0x2a49 (en: 'intersection above bar above union', MathPlayer: 'intersección sobre barra, sobre unión', google: 'intersección por encima de la barra por encima de la unión')
- - "⩊": [T: "unión y unión"] # 0x2a4a (en: 'union beside and joined with union')
- - "⩋": [T: "intersección e intersección"] # 0x2a4b (en: 'intersection beside and joined with intersection')
- - "⩌": [T: "unión cerrada con serifs"] # 0x2a4c (en: 'closed union with serifs')
- - "⩍": [T: "intersección cerrada con serifs"] # 0x2a4d (en: 'closed intersection with serifs')
- - "⩎": [T: "intersección cuadrada doble"] # 0x2a4e (en: 'double square intersection', google: 'intersección doble cuadrado')
- - "⩏": [T: "unión cuadrada doble"] # 0x2a4f (en: 'double square union', google: 'unión doble cuadrado')
- - "⩐": [T: "unión cerrada con serifs y signo de multiplicación"] # 0x2a50 (en: 'closed union with serifs and smash product')
- - "⩑": [T: "lógico y con punto arriba."] # 0x2a51 (en: 'logical and with dot above', google: 'lógico y con punto arriba')
- - "⩒": [T: "lógico o con punto arriba"] # 0x2a52 (en: 'logical or with dot above')
- - "⩓": [T: "Y"] # 0x2a53 (en: 'double logical and')
- - "⩔": [T: "O"] # 0x2a54 (en: 'double logical or')
- - "⩕": [T: "doble Y lógica intersecada"] # 0x2a55
- - "⩖": [T: "doble O lógica intersecada"] # 0x2a56
- - "⩗": [T: "O grande inclinada"] # 0x2a57
- - "⩘": [T: "Y grande inclinada"] # 0x2a58
- - "⩙": [T: "lógica O superpuesta a lógica Y"] # 0x2a59 (en: 'logical or overlapping logical and', google: 'lógico o superpuesto lógico y')
- - "⩚": [T: "Y lógica con trazo en medio"] # 0x2a5a
- - "⩛": [T: "O lógica con trazo en medio"] # 0x2a5b
- - "⩜": [T: "Y lógica con barra horizontal discontinua"] # 0x2a5c
- - "⩝": [T: "O lógica con barra horizontal discontinua"] # 0x2a5d
- - "⩞": [T: "Y lógica con doble barra superior"] # 0x2a5e (en: 'logical and with double overbar', google: 'lógico y con doble overbar')
- - "⩟": [T: "Y lógica con barra inferior"] # 0x2a5f
- - "⩠": [T: "Y lógica con doble barra inferior."] # 0x2a60 (en: 'logical and with double underbar', google: 'lógico y con doble debajo de la barra')
- - "⩡": [T: "pequeño Vee con barra inferior"] # 0x2a61 (en: 'small vee with underbar', google: 'pequeño vee con debajo de la barra')
- - "⩢": [T: "O lógica con doble barra."] # 0x2a62 (en: 'logical or with double overbar', google: 'lógico o con doble overbar')
- - "⩣": [T: "O lógica con doble barra inferior"] # 0x2a63 (en: 'logical or with double underbar', google: 'lógico o con doble bajo')
- - "⩤": [T: "notación Z Dominio Antirestricción"] # 0x2a64 (en: 'z notation domain antirestriction', google: 'z dominio de notación antirestricción')
- - "⩥": [T: "notación Z, rango antirrestrición"] # 0x2a65 (en: 'z notation range antirestriction', google: 'z rango de notación antirestricción')
- - "⩦": [T: "signo igual con punto abajo"] # 0x2a66 (en: 'equals sign with dot below')
- - "⩧": [T: "idéntico a con punto arriba"] # 0x2a67 (en: 'identical with dot above', google: 'idéntico al punto arriba')
- - "⩨": [T: "triple barra horizontal con doble trazo vertical"] # 0x2a68 (en: 'triple horizontal bar with double vertical stroke', google: 'barra horizontal triple con doble carrera vertical')
- - "⩩": [T: "triple barra horizontal con triple trazo vertical"] # 0x2a69 (en: 'triple horizontal bar with triple vertical stroke', google: 'barra horizontal triple con trazo vertical triple')
- - "⩪": [T: "tilde con punto encima"] # 0x2a6a (en: 'tilde operator with dot above')
- - "⩫": [T: "tilde con puntos ascendentes"] # 0x2a6b (en: 'tilde operator with rising dots', google: 'operador de tilde con puntos ascendentes')
- - "⩬": [T: "similar menos similar"] # 0x2a6c (en: 'similar minus similar', google: 'similar menos similar')
- - "⩭": [T: "congruente con punto encima"] # 0x2a6d (en: 'congruent with dot above')
- - "⩮": [T: "igual a con Asterisco"] # 0x2a6e (en: 'equals with asterisk', google: 'igualmente con asterisco')
- - "⩯": [T: "casi igual con acento circunflejo"] # 0x2a6f (en: 'almost equal to with circumflex accent')
- - "⩰": [T: "aproximadamente igual o igual a"] # 0x2a70 (en: 'approximately equal to or equal to')
- - "⩱": [T: "signo igual por encima de signo más"] # 0x2a71 (en: 'equals sign above plus sign')
- - "⩲": [T: "signo más por encima de signo igual"] # 0x2a72 (en: 'plus sign above equals sign')
- - "⩳": [T: "signo igual por encima de tilde"] # 0x2a73 (en: 'equals sign above tilde operator')
- - "⩴": [T: "signo igual con dos puntos"] # 0x2a74 (en: 'double colon equal')
- - "⩵": [T: "doble signo igual"] # 0x2a75 (en: 'two consecutive equals signs')
- - "⩶": [T: "triple signo igual"] # 0x2a76 (en: 'three consecutive equals signs', google: 'tres signos consecutivos iguales')
- - "⩷": [T: "signo igual entre dos puntos arriba y dos puntos abajo"] # 0x2a77 (en: 'equals sign with two dots above and two dots below')
- - "⩸": [T: "equivalente a con cuatro puntos en la parte superior"] # 0x2a78 (en: 'equivalent with four dots above')
- - "⩹": [T: "menor que con círculo dentro"] # 0x2a79 (en: 'less than with circle inside')
- - "⩺": [T: "mayor que con círculo dentro"] # 0x2a7a (en: 'greater than with circle inside')
- - "⩻": [T: "menor que con signo de interrogación en la parte superior"] # 0x2a7b (en: 'less than with question mark above')
- - "⩼": [T: "mayor que con signo de interrogación en la parte superior"] # 0x2a7c (en: 'greater than with question mark above')
- - "⩽": [T: "menor que o signo igual inclinado"] # 0x2a7d (en: 'less than or slanted equal to')
- - "⩾": [T: "mayor que o signo igual inclinado"] # 0x2a7e (en: 'greater than or slanted equal to')
- - "⩿": [T: "menor que o signo igual inclinado con punto en el interior"] # 0x2a7f (en: 'less than or slanted equal to with dot inside')
- - "⪀": [T: "mayor que o signo igual inclinado con punto en el interior"] # 0x2a80 (en: 'greater than or slanted equal to with dot inside')
- - "⪁": [T: "menor que o signo igual inclinado con punto en la parte superior"] # 0x2a81 (en: 'less than or slanted equal to with dot above')
- - "⪂": [T: "mayor que o signo igual con punto en la parte superior"] # 0x2a82 (en: 'greater than or slanted equal to with dot above')
- - "⪃": [T: "menor que o signo igual inclinado con punto superior a la derecha"] # 0x2a83 (en: 'less than or slanted equal to with dot above right')
- - "⪄": [ T: "mayor que con signo igual inclinado con punto superior hacia la izquierda"] # 0x2a84 (en: 'greater than or slanted equal to with dot above left')
- - "⪅": [T: "menor que o aproximado"] # 0x2a85 (en: 'less than or approximate', google: 'menos o aproximado')
- - "⪆": [T: "mayor que o aproximado"] # 0x2a86 (en: 'greater than or approximate', google: 'mayor o aproximado')
- - "⪇": [T: "menor que y una línea no es igual a"] # 0x2a87 (en: 'less than and single line not equal to', google: 'menos que y una sola línea no es igual a')
- - "⪈": [T: "mayor que y una línea no es igual a"] # 0x2a88 (en: 'greater than and single line not equal to', google: 'mayor que y una sola línea no es igual a')
- - "⪉": [T: "menor que y no aproximado a"] # 0x2a89 (en: 'less than and not approximate')
- - "⪊": [T: "mayor que y no aproximado a"] # 0x2a8a (en: 'greater than and not approximate')
- - "⪋": [T: "menor que por encima de línea doble, signo iguaal por encima de mayor que"] # 0x2a8b (en: 'less than above double line equal above greater than', google: 'menos que por encima de la doble línea igual por encima de más que')
- - "⪌": [T: "mayor que por encima de doble línea, signo igual por encima de menor que"] # 0x2a8c (en: 'greater than above double line equal above less than', google: 'mayor que por encima de la doble línea igual por encima de menos que')
- - "⪍": [T: "menor que por encima de similar o igual a"] # 0x2a8d (en: 'less than above similar or equal')
- - "⪎": [T: "mayor que por encima de similar o igual a"] # 0x2a8e (en: 'greater than above similar or equal')
- - "⪏": [T: "menor que por encima de similar por encima de mayor que"] # 0x2a8f (en: 'less than above similar above greater than')
- - "⪐": [T: "mayor que por encima de similar por encima de menor que"] # 0x2a90 (en: 'greater than above similar above less than')
- - "⪑": [T: "menor que por encima de mayor que por encima de doble línea igual"] # 0x2a91 (en: 'less than above greater than above double line equal')
- - "⪒": [T: "mayor que por encima de menor que por encima de doble línea igual"] # 0x2a92 (en: 'greater than above less than above double line equal')
- - "⪓": [T: "menor que por encima de signo igual inclinado por encima de mayor que por encima de signo igual inclinado"] # 0x2a93 (en: 'less than above slanted equal above greater than above slanted equal')
- - "⪔": [T: "mayor que por encima de signo igual inclinado por encima de menor que por encima de signo igual inclinado"] # 0x2a94 (en: 'greater than above slanted equal above less than above slanted equal')
- - "⪕": [T: "igual o menor que"] # 0x2a95 (en: 'slanted equal to or less than', google: 'inclinado igual o menos de')
- - "⪖": [T: "igual o mayor que"] # 0x2a96 (en: 'slanted equal to or greater than')
- - "⪗": [T: "igual o menor que con punto en el interior"] # 0x2a97 (en: 'slanted equal to or less than with dot inside')
- - "⪘": [T: "igual o mayor que con punto en el interior"] # 0x2a98 (en: 'slanted equal to or greater than with dot inside')
- - "⪙": [T: "doble línea igual a o menor que"] # 0x2a99 (en: 'double line equal to or less than')
- - "⪚": [T: "doble línea igual a o mayor que"] # 0x2a9a (en: 'double line equal to or greater than')
- - "⪛": [T: "doble línea inclinada igual a o menor que"] # 0x2a9b (en: 'double line slanted equal to or less than', google: 'doble línea inclinada igual o menos de')
- - "⪜": [T: "doble línea inclinada igual a o mayor que"] # 0x2a9c (en: 'double line slanted equal to or greater than', google: 'línea doble inclinada igual o mayor que')
- - "⪝": [T: "similar a o menor que"] # 0x2a9d (en: 'similar or less than')
- - "⪞": [T: "similar a o mayor que"] # 0x2a9e (en: 'similar or greater than')
- - "⪟": [T: "similar a por encima de menor que por encima de signo igual"] # 0x2a9f (en: 'similar above less than above equals sign')
- - "⪠": [T: "similar a por encima de mayor que por encima de signo egual"] # 0x2aa0 (en: 'similar above greater than above equals sign')
- - "⪡": [T: "mucho menor que"] # 0x2aa1 (en: 'double nested less than')
- - "⪢": [T: "mucho mayor que"] # 0x2aa2 (en: 'double nested greater than')
- - "⪣": [T: "signo menor que doblemente anidado con barra inferior"] # 0x2aa3 (en: 'double nested less than with underbar', google: 'doble anidado menos que con debajo de la barra')
- - "⪤": [T: "signo mayor que superpuesto a signo menor que"] # 0x2aa4 (en: 'greater than overlapping less than')
- - "⪥": [T: "signo mayor que al lado de signo enor que"] # 0x2aa5 (en: 'greater than beside less than')
- - "⪦": [T: "menor que cerrado con curva"] # 0x2aa6 (en: 'less than closed by curve')
- - "⪧": [T: "mayor que cerrado con curva"] # 0x2aa7 (en: 'greater than closed by curve')
- - "⪨": [T: "signo menor que cerrado con curva por encima de signo igual inclinadoa"] # 0x2aa8 (en: 'less than closed by curve above slanted equal')
- - "⪩": [T: "signo mayor que cerrado con curva por encima de signo igual inclinado"] # 0x2aa9 (en: 'greater than closed by curve above slanted equal')
- - "⪪": [T: "más pequeño que"] # 0x2aaa (en: 'smaller than')
- - "⪫": [T: "más grande que"] # 0x2aab (en: 'larger than')
- - "⪬": [T: "más pequeño que o igual a"] # 0x2aac (en: 'smaller than or equal to')
- - "⪭": [T: "más grande que o igual a"] # 0x2aad (en: 'larger than or equal to')
- - "⪮": [T: "signo igual abultado en la parte superior"] # 0x2aae (en: 'equals sign with bumpy above')
- - "⪯": [T: "precede o es igual a"] # 0x2aaf (en: 'precedes above single line equals sign')
- - "⪰": [T: "sucede o es igual a"] # 0x2ab0 (en: 'succeeds above single line equals sign', google: 'tiene éxito por encima de la línea única es igual al signo')
- - "⪱": [T: "precede no es igual a"] # 0x2ab1 (en: 'precedes above single line not equal to', google: 'precede por encima de una sola línea no es igual a')
- - "⪲": [T: "sucede no es igual a"] # 0x2ab2 (en: 'succeeds above single line not equal to', google: 'tiene éxito por encima de una sola línea no es igual a')
- - "⪳": [T: "precede por encima del signo igual"] # 0x2ab3 (en: 'precedes above equals sign', google: 'precede arriba es igual al signo')
- - "⪴": [T: "sucede por encima del signo igual"] # 0x2ab4 (en: 'succeeds above equals sign', google: 'tiene éxito arriba es igual al signo')
- - "⪵": [T: "precede por encima de no es igual a"] # 0x2ab5 (en: 'precedes above not equal to')
- - "⪶": [T: "sucede por encima de no es igual a"] # 0x2ab6 (en: 'succeeds above not equal to')
- - "⪷": [T: "precede por encima de casi igual a"] # 0x2ab7 (en: 'precedes above almost equal to')
- - "⪸": [T: "sucede por encima de casi igual a"] # 0x2ab8 (en: 'succeeds above almost equal to')
- - "⪹": [T: "precede por encima de no es casi igual a"] # 0x2ab9 (en: 'precedes above not almost equal to', google: 'precede arriba no casi igual a')
- - "⪺": [T: "sucede por encima de casi igual a"] # 0x2aba (en: 'succeeds above not almost equal to', google: 'tiene éxito arriba no casi igual a')
- - "⪻": [T: "es muy anterior a"] # 0x2abb (en: 'double precedes')
- - "⪼": [T: "sigue mucho después"] # 0x2abc (en: 'double succeeds')
- - "⪽": [T: "subconjunto con punto"] # 0x2abd (en: 'subset with dot')
- - "⪾": [T: "superconjunto con punto"] # 0x2abe (en: 'superset with dot')
- - "⪿": [T: "subconjunto con signo más debajo de"] # 0x2abf (en: 'subset with plus sign below')
- - "⫁": [T: "subconjunto con signo de multiplicación debajo de"] # 0x2ac1 (en: 'subset with multiplication sign below')
- - "⫀": [T: "superconjunto con signo más debajo de"] # 0x2ac0 (en: 'superset with plus sign below')
- - "⫂": [T: "superconjunto con signo de multiplicación debajo de"] # 0x2ac2 (en: 'superset with multiplication sign below')
- - "⫃": [T: "incluido con punto o es igual a"] # 0x2ac3 (en: 'subset of or equal to with dot above')
- - "⫄": [T: "superconjunto de o igual a con punto encima"] # 0x2ac4 (en: 'superset of or equal to with dot above')
- - "⫅": [T: "subconjunto de signo igual encima de"] # 0x2ac5 (en: 'subset of above equals sign', google: 'el subconjunto de arriba es igual al signo')
- - "⫆": [T: "superconjunto de signo igual encima de"] # 0x2ac6 (en: 'superset of above equals sign', google: 'el superconjunto de arriba es igual al signo')
- - "⫇": [T: "subconjunto por encima de tilde"] # 0x2ac7 (en: 'subset of above tilde operator')
- - "⫈": [T: "superconjunto por encima de"] # 0x2ac8 (en: 'superset of above tilde operator')
- - "⫉": [T: "subconjunto por encima de signo casi igual a"] # 0x2ac9 (en: 'subset of above almost equal to', google: 'subconjunto de arriba casi igual a')
- - "⫊": [T: "superconjunto por encima de casi igual a"] # 0x2aca (en: 'superset of above almost equal to', google: 'superset de arriba casi igual a')
- - "⫋": [T: "subconjunto por encima de signo no es igual a"] # 0x2acb (en: 'subset above not equal to', google: 'subconjunto arriba no igual a')
- - "⫌": [T: "superconjunto por encima de signo no es igual a "] # 0x2acc (en: 'superset of above not equal to', google: 'superset de arriba no es igual a')
- - "⫍": [T: "operador de caja abierta cuadrada a la izquierda"] # 0x2acd (en: 'square left open box operator', google: 'operador de caja abierta cuadrada izquierda')
- - "⫎": [T: "operador de caja abierta cuadrada a la derecha"] # 0x2ace (en: 'square right open box operator', google: 'operador de caja abierta cuadrada derecha')
- - "⫏": [T: "subconjunto cerrado"] # 0x2acf (en: 'closed subset')
- - "⫐": [T: "superconjunto cerrado"] # 0x2ad0 (en: 'closed superset')
- - "⫑": [T: "subconjunto cerrado o es igual a"] # 0x2ad1 (en: 'closed subset or equal to')
- - "⫒": [T: "superconjunto cerrado o es igual a"] # 0x2ad2 (en: 'closed superset or equal to')
- - "⫓": [T: "subconjunto por encima de superconjunto"] # 0x2ad3 (en: 'subset above superset')
- - "⫔": [T: "superconjunto por encima de subconjunto"] # 0x2ad4 (en: 'superset above subset')
- - "⫕": [T: "subconjunto por encima de subconjunto"] # 0x2ad5 (en: 'subset above subset')
- - "⫖": [T: "superconjunto por encima de superconjunto"] # 0x2ad6 (en: 'superset above superset')
- - "⫗": [T: "superconjunto al lado de subconjunto"] # 0x2ad7 (en: 'superset beside subset')
- - "⫘": [T: "superconjunto al lado de y unido por barra discontinua a subconjunto"] # 0x2ad8 (en: 'superset beside and joined by dash with subset')
- - "⫙": [T: "grupo de apertura hacia arriba y hacia abajo"] # 0x2ad9 (en: 'element of opening downwards')
- - "⫚": [T: "bifurcación"] # 0x2ada
- - "⫛": [T: "intersección transversal"] # 0x2adb
- - "⫝̸": [T: "bifurcación"] # 0x2adc (en: 'forking')
- - "⫝": [T: "sin bifurcación"] # 0x2add (google: 'no efectivo')
- - "⫞": [T: "tack corto a la izquierda"] # 0x2ade (en: 'short left tack', google: 'tachuela a la izquierda corta')
- - "⫟": [T: "tack corto hacia abajo"] # 0x2adf (en: 'short down tack', google: 'tachuela corta')
- - "⫠": [T: "tack corto hacia arriba"] # 0x2ae0 (en: 'short up tack', google: 'tachuela corta')
- - "⫡": [T: "perpendicular a s"] # 0x2ae1 (en: 'perpendicular with s')
- - "⫢": [T: "barra vertical con triple torniquete a la derecha"] # 0x2ae2 (en: 'vertical bar triple right turnstile', google: 'barra vertical triple turnstile a la derecha')
- - "⫣": [T: "doble barra vertical con torniquete a la izquierda"] # 0x2ae3 (en: 'double vertical bar left turnstile', google: 'doble barra vertical a la izquierda el torniquete')
- - "⫤": [T: "barra vertical con doble torniquete a la izquierda"] # 0x2ae4 (en: 'vertical bar double left turnstile')
- - "⫥": [T: "doble barra vertical doble torniquete a la izquierda"] # 0x2ae5 (en: 'double vertical bar double left turnstile', google: 'doble barra vertical de doble tornillo a la izquierda')
- - "⫦": [T: "larga barra discontinua partiendo de doble barra vertical izquierda"] # 0x2ae6
- - "⫧": [T: "tack corto con barra superior"] # 0x2ae7
- - "⫨": [T: "tack corto arriba con barra inferior"] # 0x2ae8 (en: 'short up tack with underbar')
- - "⫩": [T: "tack corto arriba sobre tack corto abajo"] # 0x2ae9
- - "⫪": [T: "doble tack hacia abajo"] # 0x2aea (en: 'double down tack', google: 'duplicar la tachuela')
- - "⫫": [T: "doble tack hacia arriba"] # 0x2aeb
- - "⫬": [T: "doble trazo sin signo"] # 0x2aec
- - "⫭": [T: "doble trazo invertido sin signo"] # 0x2aed
- - "⫮": [T: "no divide con barra invertida discontinua de negación"] # 0x2aee
- - "⫯": [T: "línea vertical con círculo encima"] # 0x2aef (en: 'vertical line with circle above')
- - "⫰": [T: "línea vertical con círculo abajo"] # 0x2af0 (en: 'vertical line with circle below')
- - "⫱": [T: "tack hacia abajo con círculo abajo"] # 0x2af1
- - "⫲": [T: "paralela con trazo horizontal"] # 0x2af2 (en: 'parallel with horizontal stroke')
- - "⫳": [T: "paralela con tilde"] # 0x2af3 (en: 'parallel with tilde operator')
- - "⫴": [T: "relación binaria de barra vertical triple"] # 0x2af4 (en: 'triple vertical bar binary relation', google: 'relación binaria de la barra vertical triple')
- - "⫵": [T: "barra vertical triple con trazo horizontal"] # 0x2af5 (en: 'triple vertical bar with horizontal stroke', google: 'barra vertical triple con carrera horizontal')
- - "⫶": [T: "operador TripleC olon"] # 0x2af6 (en: 'triple colon operator', google: 'operador de triple colon')
- - "⫷": [T: "signo menor que triplemente anidado"] # 0x2af7 (en: 'triple nested less than', google: 'triple anidado menos que')
- - "⫸": [T: "signo mayor que triplemente anidado"] # 0x2af8 (en: 'triple nested greater than', google: 'triple anidado más grande que')
- - "⫹": [T: "doble línea inclinada menor o igual a"] # 0x2af9 (en: 'double line slanted less than or equal to', google: 'doble línea inclinada menos o igual a')
- - "⫺": [T: "doble línea inclinada mayor o igual a"] # 0x2afa (en: 'double line slanted greater than or equal to', google: 'línea doble inclinada mayor o igual a')
- - "⫻": [T: "relación Binaria Triple Sólida"] # 0x2afb (en: 'triple solidus binary relation', google: 'triple relación binaria de solidus')
- - "⫼": [T: "operador de barra vertical triple y grande"] # 0x2afc (en: 'large triple vertical bar operator', google: 'gran operador de barra vertical triple')
- - "⫽": [T: "operador Doble Sólido"] # 0x2afd (en: 'double solidus operator', google: 'operador doble solidus')
- - "⫾": [T: "barra vertical blanca"] # 0x2afe (en: 'white vertical bar')
- - "⫿": [T: "barra vertical blanca N-Ary"] # 0x2aff (en: 'white vertical bar', google: 'barra vertical blanca')
- - "⬀": [T: "flecha blanca apuntando al nordeste"] # 0x2b00 (en: 'north east white arrow', google: 'noreste de la flecha blanca')
- - "⬁": [T: "flecha blanca apuntando a noroeste"] # 0x2b01 (en: 'north west white arrow', google: 'noroeste de flecha blanca')
- - "⬂": [T: "flecha blanca apuntando al sudeste"] # 0x2b02 (en: 'south east white arrow', google: 'south east white arrow')
- - "⬃": [T: "flecha blanca apuntando al sudoeste"] # 0x2b03 (en: 'south west white arrow', google: 'south west white arrow')
- - "⬄": [T: "flecha blanca hacia izquierda y derecha"] # 0x2b04 (en: 'left right white arrow', google: 'flecha blanca derecha izquierda')
- - "⬅": [T: "flecha negra hacia la izquierda"] # 0x2b05 (en: 'leftwards black arrow')
- - "⬆": [T: "flecha negra hacia arriba"] # 0x2b06 (en: 'upwards black arrow', google: 'arrow negro hacia arriba')
- - "⬇": [T: "flecha negra hacia abajo"] # 0x2b07 (en: 'downwards black arrow', google: 'arrow negra hacia abajo')
- - "⬈": [T: "flecha negra apuntando al nordeste"] # 0x2b08 (en: 'north east black arrow', google: 'north east black arrow')
- - "⬉": [T: "flecha negra apuntando al noroeste"] # 0x2b09 (en: 'north west black arrow', google: 'noroeste de flecha negra')
- - "⬊": [T: "flecha negra apuntando al sudeste"] # 0x2b0a (en: 'south east black arrow', google: 'south east black arrow')
- - "⬋": [T: "flecha negra apuntando al sudoeste"] # 0x2b0b (en: 'south west black arrow', google: 'south west arrow negro')
- - "⬌": [T: "flecha negra hacia izquierda y derecha"] # 0x2b0c (en: 'left right black arrow', google: 'flecha negra derecha izquierda')
- - "⬍": [T: "flecha negra hacia arriba y hacia abajo"] # 0x2b0d (en: 'up down black arrow', google: 'arrow black arrow')
- - "⬎": [T: "flecha hacia la derecha con la punta hacia abajo"] # 0x2b0e (en: 'rightwards arrow with tip downwards')
- - "⬏": [T: "flecha hacia la derecha con la punta hacia arriba"] # 0x2b0f (en: 'rightwards arrow with tip upwards')
- - "⬐": [T: "flecha hacia la izquierda con la punta hacia abajo"] # 0x2b10 (en: 'leftwards arrow with tip downwards', google: 'flecha hacia la izquierda con punta hacia abajo')
- - "⬑": [T: "flecha hacia la izquierda con la punta hacia arriba"] # 0x2b11 (en: 'leftwards arrow with tip upwards', google: 'flecha hacia la izquierda con punta hacia arriba')
- - "⬒": [T: "cuadrado con mitad superior negra"] # 0x2b12 (en: 'square with top half black', google: 'cuadrado con la mitad superior negra')
- - "⬓": [T: "cuadrado con mitad inferior negra"] # 0x2b13 (en: 'square with bottom half black', google: 'cuadrado con la mitad inferior negra')
- - "⬔": [T: "cuadrado con mitad derecha superior diagonal negra"] # 0x2b14 (en: 'square with upper right diagonal half black', google: 'cuadrado con diagonal superior derecha de la parte superior negra')
- - "⬕": [T: "cuadrado con mitad izquierda inferior diagonal negra"] # 0x2b15 (en: 'square with lower left diagonal half black', google: 'cuadrado con diagonal inferior izquierda mitad negra')
- - "⬖": [T: "rombo con Mitad Izquierda Negro"] # 0x2b16 (en: 'diamond with left half black', google: 'diamante con la mitad de la izquierda')
- - "⬗": [T: "rombo con mitad derecha negra"] # 0x2b17 (en: 'diamond with right half black', google: 'diamante con la mitad derecha negra')
- - "⬘": [T: "rombo con mitad superior negra"] # 0x2b18 (en: 'diamond with top half black', google: 'diamante con mitad superior negro')
- - "⬙": [T: "rojmbo con mitad inferior negra"] # 0x2b19 (en: 'diamond with bottom half black', google: 'diamante con la mitad de negro')
- - "⬚": [T: "cuadrado punteado"] # 0x2b1a (en: 'box', google: 'caja')
- - "⬛": [T: "cuadrado grande negro"] # 0x2b1b (en: 'black large square')
- - "⬜": [T: "cuadrado grande blanco"] # 0x2b1c (en: 'white large square', google: 'cuadrado grande blanco')
- - "⬝": [T: "cuadrado muy pequeño negro"] # 0x2b1d (en: 'black very small square', google: 'negro muy pequeño cuadrado')
- - "⬞": [T: "cuadrado muy pequeño blanco"] # 0x2b1e (en: 'white very small square', google: 'blanco muy pequeño cuadrado')
- - "⬟": [T: "pentágono blanco"] # 0x2b20 (en: 'white pentagon')
- - "⬡": [T: "hexágono blanco"] # 0x2b21 (en: 'white hexagon')
- - "⬢": [T: "hexágono negro"] # 0x2b22 (en: 'black hexagon')
- - "⬣": [T: "hexágono hegro horizontal"] # 0x2b23 (en: 'horizontal black hexagon', google: 'hexagon negro horizontal')
- - "⬤": [T: "circulo grande negro"] # 0x2b24 (en: 'black large circle', google: 'círculo negro negro')
- - "⬥": [T: "rombo Mediano Negro"] # 0x2b25 (en: 'black medium diamond', google: 'diamante medio negro')
- - "⬦": [T: "rombo mediano blanco"] # 0x2b26 (en: 'white medium diamond', google: 'diamante medio blanco')
- - "⬧": [T: "rombo Mediano Negro"] # 0x2b27 (en: 'black medium lozenge', google: 'rombina media negra')
- - "⬨": [T: "rombo mediano blanco"] # 0x2b28 (en: 'white medium lozenge', google: 'rombita media blanca')
- - "⬩": [T: "rombo pequeño negro"] # 0x2b29 (en: 'black small diamond', google: 'diamante pequeño negro')
- - "⬪": [T: "rombo pequeño negro"] # 0x2b2a (en: 'black small lozenge', google: 'pequeña barra negra')
- - "⬫": [T: "rombo pequeño blanco"] # 0x2b2b (en: 'white small lozenge', google: 'pequeña barra blanca')
- - "⬬": [T: "elipse horizontal negra"] # 0x2b2c (en: 'black horizontal ellipse')
- - "⬭": [T: "elipse horizontal blanca"] # 0x2b2d (en: 'white horizontal ellipse')
- - "⬮": [T: "elipse Vertical Negra"] # 0x2b2e (en: 'black vertical ellipse', google: 'elipse vertical negro')
- - "⬯": [T: "elipse Vertical Blanca"] # 0x2b2f (en: 'white vertical ellipse', google: 'elipse vertical blanco')
- - "⬰": [T: "flecha izquierda con círculo pequeño"] # 0x2b30 (en: 'left arrow with small circle')
- - "⬱": [T: "tres flechas a la izquierda"] # 0x2b31 (en: 'three leftwards arrows', google: 'tres flechas de izquierda')
- - "⬲": [T: "flecha izquierda con signo más en el interior de uncírculo"] # 0x2b32 (en: 'left arrow with circled plus', google: 'flecha izquierda con círculos plus')
- - "⬳": [T: "flecha serpenteante larga hacia la izquierda"] # 0x2b33 (en: 'long leftwards squiggle arrow', google: 'larga flecha de tirantes de la izquierda')
- - "⬴": [T: "flecha de dos cabezas hacia la izquierda con trazo vertical"] # 0x2b34 (en: 'leftwards two headed arrow with vertical stroke', google: 'a la izquierda, dos flechas con carrera vertical')
- - "⬵": [T: "flecha de dos cabezas hacia la izquierda con doble trazo vertical"] # 0x2b35 (en: 'leftwards two headed arrow with double vertical stroke', google: 'a la izquierda, dos flechas con cabeza de carrera vertical doble')
- - "⬶": [T: "flecha de dos cabezas hacia la izquierda partiendo de barra"] # 0x2b36 (en: 'leftwards two headed arrow from bar', google: 'a la izquierda, dos flechas de la cabeza del bar')
- - "⬷": [T: "flecha de dos cabezas hacia la izquierda con triple barra discontinua"] # 0x2b37 (en: 'leftwards two headed triple dash arrow', google: 'a la izquierda, dos flechas del triple tablero')
- - "⬸": [T: "flecha hacia la izquierda con trazo punteado"] # 0x2b38 (en: 'leftwards arrow with dotted stem')
- - "⬹": [T: "flecha hacia la izquierda con cola con trazo vertical"] # 0x2b39 (en: 'leftwards arrow with tail with vertical stroke')
- - "⬺": [T: "flecha hacia la izquierda con cola con doble trazo vertical"] # 0x2b3a (en: 'leftwards arrow with tail with double vertical stroke', google: 'flecha hacia la izquierda con cola con doble carrera vertical')
- - "⬻": [T: "flecha de dos cabezas hacia la izquierda con cola"] # 0x2b3b (en: 'leftwards two headed arrow with tail', google: 'a la izquierda, dos flechas con la cola')
- - "⬼": [T: "flecha de dos cabezas hacia la izquierda con cola con trazo vertical"] # 0x2b3c (en: 'leftwards two headed arrow with tail with vertical stroke', google: 'a la izquierda, dos flechas con cola con trazo vertical')
- - "⬽": [T: "flecha de dos cabezas hacia la izquierda con cola con doble trazo vertical"] # 0x2b3d (en: 'leftwards two headed arrow with tail with double vertical stroke', google: 'a la izquierda, dos flechas con cola con trazo vertical doble')
- - "⬾": [T: "flecha hacia la izquierda a través de X"] # 0x2b3e (en: 'leftwards arrow through x', google: 'flecha hacia la izquierda a través de x')
- - "⬿": [T: "flecha ondulada apuntando directamente a la izquierda"] # 0x2b3f (en: 'wave arrow pointing directly left', google: 'flecha de onda apuntando directamente a la izquierda')
- - "⭀": [T: "signo igual por encima de flecha hacia la izquierda"] # 0x2b40 (en: 'equals sign above leftwards arrow', google: 'igual de la señal de la flecha hacia la izquierda')
- - "⭁": [T: "operador de tilde inverso sobre la flecha hacia la izquierda"] # 0x2b41 (en: 'reverse tilde operator above leftwards arrow', google: 'reverse del operador de tilde sobre la flecha de la izquierda')
- - "⭂": [T: "flecha hacia la izquierda sobre el reverso de signo casi igual a"] # 0x2b42 (en: 'leftwards arrow above reverse almost equal to')
- - "⭃": [T: "flecha hacia la derecha a través de signomayor que"] # 0x2b43 (en: 'rightwards arrow through greater than', google: 'flecha hacia la derecha a través de mayor que')
- - "⭄": [T: "flecha hacia la derecha a través de superconjunto"] # 0x2b44 (en: 'rightwards arrow through superset', google: 'arrow hacia la derecha a través del superconjunto')
- - "⭅": [T: "flecha cuádruple hacia la izquierda"] # 0x2b45 (en: 'leftwards quadruple arrow', google: 'flecha quadruple hacia la izquierda')
- - "⭆": [T: "flecha cuádruple hacia la derecha"] # 0x2b46 (en: 'rightwards quadruple arrow', google: 'arrow cuádruple hacia la derecha')
- - "⭇": [T: "operador de tilde inverso sobre flecha hacia la derecha"] # 0x2b47 (en: 'reverse tilde operator above rightwards arrow', google: 'reverse el operador de tilde sobre la flecha derecha hacia la derecha')
- - "⭈": [T: "flecha hacia la derecha sobre el reverso de signo casi igual a"] # 0x2b48 (en: 'rightwards arrow above reverse almost equal to')
- - "⭉": [T: "operador de tilde sobre flecha hacia la izquierda"] # 0x2b49 (en: 'tilde operator above leftwards arrow', google: 'operador de tilde sobre la flecha de la izquierda')
- - "⭊": [T: "flecha hacia la izquierda por encima de signo casi igual a"] # 0x2b4a (en: 'leftwards arrow above almost equal to', google: 'flecha hacia la izquierda arriba casi igual a')
- - "⭋": [T: "flecha hacia la izquierda sobre operador de tilde inverso"] # 0x2b4b (en: 'leftwards arrow above reverse tilde operator')
- - "⭌": [T: "flecha hacia la derecha sobre operador de tilde inverso"] # 0x2b4c (en: 'rightwards arrow above reverse tilde operator')
- - "⭐": [T: "estrella media vacía"] # 0x2b50 (en: 'white medium star')
- - "⭑": [T: "estrella pequeña llena"] # 0x2b51 (en: 'black small star')
- - "⭒": [T: "estrella pequeña vacía"] # 0x2b52 (en: 'white small star')
- - "⭓": [T: "pentágono negro apuntando hacia la derecha"] # 0x2b53 (en: 'black right pointing pentagon', google: 'black derecha apuntando al pentágono')
- - "⭔": [T: "pentágono blanco apuntando hacia la derecha"] # 0x2b54 (en: 'white right pointing pentagon', google: 'pentágono apuntando a la derecha blanca')
- - "⭕": [T: "círculo grueso grande"] # 0x2b55 (en: 'heavy large circle', google: 'círculo grande y pesado')
- - "⭖": [T: "óvalo grueso con óvalo en el interior"] # 0x2b56 (en: 'heavy oval with oval inside', google: 'ovalo pesado con óvalo en el interior')
- - "⭗": [T: "círculo grueso con círculo en el interior"] # 0x2b57 (en: 'heavy circle with circle inside', google: 'círculo pesado con círculo interior')
- - "⭘": [T: "círculo grueso"] # 0x2b58 (en: 'heavy circle')
- - "⭙": [T: "saltire en círculo grueso"] # 0x2b59 (en: 'heavy circled saltire', google: 'saltire con círculo pesado')
- - "⸀": [T: "marcador de sustitución en ángulo recto"] # 0x2e00 (en: 'right angle substitution marker', google translation)
- - "⸁": [T: "marcador de sustitución punteado en ángulo recto"] # 0x2e01 (en: 'right angle dotted substitution marker', google translation)
- - "⸂": [T: "soporte de sustitución izquierdo"] # 0x2e02 (en: 'left substitution bracket', google translation)
- - "⸃": [T: "soporte de sustitución derecho"] # 0x2e03 (en: 'right substitution bracket', google translation)
- - "⸄": [T: "soporte de sustitución punteado izquierdo"] # 0x2e04 (en: 'left dotted substitution bracket', google translation)
- - "⸅": [T: "soporte de sustitución punteado derecho"] # 0x2e05 (en: 'right dotted substitution bracket', google translation)
- - "⸆": [T: "marcador de interpolación elevado"] # 0x2e06 (en: 'raised interpolation marker', google translation)
- - "⸇": [T: "marcador de interpolación punteado elevado"] # 0x2e07 (en: 'raised dotted interpolation marker', google translation)
- - "⸈": [T: "marcador de marcador de transposición punteado"] # 0x2e08 (en: 'dotted transposition marker marker', google translation)
- - "⸉": [T: "soporte de transposición izquierdo"] # 0x2e09 (en: 'left transposition bracket', google translation)
- - "⸊": [T: "soporte de transposición derecho"] # 0x2e0a (en: 'right transposition bracket', google translation)
- - "⸋": [T: "cuadrado elevado"] # 0x2e0b (en: 'raised square', google translation)
- - "⸌": [T: "soporte de omisión izquierdo elevado"] # 0x2e0c (en: 'left raised omission bracket', google translation)
- - "⸍": [T: "soporte de omisión derecho elevado"] # 0x2e0d (en: 'right raised omission bracket', google translation)
- - "⸎": [T: "editorial coronis"] # 0x2e0e (google translation)
- - "⸏": [T: "párrafos"] # 0x2e0f (en: 'paragraphos', google translation)
- - "⸐": [T: "párrafos bifurcados"] # 0x2e10 (en: 'forked paragraphos', google translation)
- - "⸑": [T: "párrafos invertidos bifurcados"] # 0x2e11 (en: 'reversed forked paragraphos', google translation)
- - "⸒": [T: "hipodiastole"] # 0x2e12 (en: 'hypodiastole', google translation)
- - "⸓": [T: "óbelos punteados"] # 0x2e13 (en: 'dotted obelos', google translation)
- - "⸔": [T: "áncora hacia abajo"] # 0x2e14 (en: 'downwards ancora', google translation)
- - "⸕": [T: "áncora hacia arriba"] # 0x2e15 (en: 'upwards ancora', google translation)
- - "⸖": [T: "ángulo punteado apuntando hacia la derecha"] # 0x2e16 (en: 'dotted right pointing angle', google translation)
- - "⸗": [T: "doble guión oblicuo"] # 0x2e17 (en: 'double oblique hyphen', google translation)
- - "⸘": [T: "interrobang invertido"] # 0x2e18 (en: 'inverted interrobang', google translation)
- - "⸙": [T: "rama de palma"] # 0x2e19 (en: 'palm branch', google translation)
- - "⸚": [T: "guión con diéresis"] # 0x2e1a (en: 'hyphen with diaeresis', google translation)
- - "⸛": [T: "tilde con anillo arriba"] # 0x2e1b (en: 'tilde with ring above', google translation)
- - "⸜": [T: "soporte de paráfrasis bajo izquierdo"] # 0x2e1c (en: 'left low paraphrase bracket', google translation)
- - "⸝": [T: "soporte de paráfrasis bajo derecho"] # 0x2e1d (en: 'right low paraphrase bracket', google translation)
- - "⸞": [T: "tilde con punto arriba"] # 0x2e1e (en: 'tilde with dot above', google translation)
- - "⸟": [T: "tilde con punto abajo"] # 0x2e1f (en: 'tilde with dot below', google translation)
- - "⸠": [T: "barra vertical izquierda con pluma"] # 0x2e20 (en: 'left vertical bar with quill', google translation)
- - "⸡": [T: "barra vertical derecha con pluma"] # 0x2e21 (en: 'right vertical bar with quill', google translation)
- - "⸢": [T: "medio soporte superior izquierdo"] # 0x2e22 (en: 'top left half bracket', google: 'medio soporte superior izquierdo')
- - "⸣": [T: "medio soporte superior derecho"] # 0x2e23 (en: 'top right half bracket', google: 'arroja superior derecha')
- - "⸤": [T: "abrazadera inferior izquierda"] # 0x2e24 (en: 'bottom left half bracket', google: 'medio soporte inferior izquierdo')
- - "⸥": [T: "medio soporte inferior derecho"] # 0x2e25 (en: 'bottom right half bracket')
- - "⸦": [T: "soporte U lateral izquierdo"] # 0x2e26 (en: 'left sideways u bracket', google: 'izquierda lateral u soporte')
- - "⸧": [T: "soporte U lateral derecho"] # 0x2e27 (en: 'right sideways u bracket', google: 'right sideways u soporte')
- - "⸨": [T: "doble paréntesis izquierdo"] # 0x2e28 (en: 'left double parentheses', google: 'dejó doble paréntesis de tesas')
- - "⸩": [T: "doble paréntesis derecho"] # 0x2e29 (en: 'right double parentheses', google: 'doble paréntesis derecha')
- - "⸪": [T: "dos puntos sobre un punto de puntuación"] # 0x2e2a (en: 'two dots over one dot punctuation', google translation)
- - "⸫": [T: "un punto sobre dos puntos de puntuación"] # 0x2e2b (en: 'one dot over two dots punctuation', google translation)
- - "⸬": [T: "cuatro puntos de puntuación al cuadrado"] # 0x2e2c (en: 'squared four dot punctuation', google translation)
- - "⸭": [T: "marca de cinco puntos"] # 0x2e2d (en: 'five dot mark', google translation)
- - "⸮": [T: "signo de interrogación invertido"] # 0x2e2e (en: 'reversed question mark', google translation)
- - "ⸯ": [T: "tilde vertical"] # 0x2e2f (en: 'vertical tilde', google translation)
- - "⸰": [T: "punta del anillo"] # 0x2e30 (en: 'ring point', google translation)
- - "⸱": [T: "punto medio separador de palabras"] # 0x2e31 (en: 'word separator middle dot', google translation)
- - "⸲": [T: "convertido en coma"] # 0x2e32 (en: 'turned comma', google translation)
- - "⸳": [T: "punto elevado"] # 0x2e33 (en: 'raised dot', google translation)
- - "⸴": [T: "coma elevada"] # 0x2e34 (en: 'raised comma', google translation)
- - "⸵": [T: "convertido en punto y coma"] # 0x2e35 (en: 'turned semicolon', google translation)
- - "⸶": [T: "obelisco con portaestandarte izquierdo"] # 0x2e36 (en: 'dagger with left guard', google translation)
- - "⸷": [T: "obelisco con portaestandarte derecho"] # 0x2e37 (en: 'dagger with right guard', google translation)
- - "⸸": [T: "obelisco girado"] # 0x2e38 (en: 'turned dagger', google translation)
- - "⸹": [T: "señal de la mitad superior de la sección"] # 0x2e39 (en: 'top half section sign', google translation)
- - "⸺": [T: "dos em línea discontinua"] # 0x2e3a (en: 'two em dash', google translation)
- - "⸻": [T: "tres em línea discontinua"] # 0x2e3b (en: 'three em dash', google translation)
- - "〃": [T: "ídem mark"] # 0x3003 (en: 'ditto mark', google translation)
- - "〈": [T: "soporte de ángulo izquierdo"] # 0x3008 (en: 'left angle bracket')
- - "〉": [T: "soporte de ángulo derecho"] # 0x3009 (en: 'right angle bracket')
- - "《": [T: "doble paréntesis angular izquierdo"] # 0x300a (en: 'left double angle bracket')
- - "》": [T: "doble paréntesis angular derecho"] # 0x300b (en: 'right double angle bracket', MathPlayer: 'cierra paréntesis angular doble', google: 'soporte de doble ángulo derecho')
- - "「": [T: "soporte de esquina izquierda"] # 0x300c (en: 'left corner bracket', google: 'soporte de esquina izquierda')
- - "」": [T: "soporte de esquina derecha"] # 0x300d (en: 'right corner bracket')
- - "『": [T: "soporte de esquina blanca izquierda"] # 0x300e (en: 'left white corner bracket', google: 'soporte de esquina blanca izquierda')
- - "』": [T: "soporte de esquina blanca derecha"] # 0x300f (en: 'right white corner bracket', google: 'soporte de esquina blanca derecha')
- - "【": [T: "soporte Lenticular negro izquierdo"] # 0x3010 (en: 'left black lenticular bracket', google: 'soporte lenticular negro izquierdo')
- - "】": [T: "soporte Lenticular Negro Derecho"] # 0x3011 (en: 'right black lenticular bracket', google: 'soporte lenticular negro derecho')
- - "〔": [T: "soporte de caparazón de tortuga izquierdo"] # 0x3014
- - "〕": [T: "soporte de caparazón de tortuga derecho"] # 0x3015
- - "〖": [T: "soporte lenticular blanco izquierdo"] # 0x3016 (en: 'left white lenticular bracket')
- - "〗": [T: "soporte lenticular blanco derecho"] # 0x3017 (en: 'right white lenticular bracket')
- - "〘": [T: "soporte de caparazón de tortuga blanco izquierdo"] # 0x3018 (en: 'left white tortoise shell bracket', google: 'soporte de carcasa de tortuga blanca izquierda')
- - "〙": [T: "soporte de caparazón de tortuga blanco derecho"] # 0x3019 (en: 'right white tortoise shell bracket', google: 'soporte de carcasa de tortuga blanca derecha')
- - "〚": [T: "corchete vacío izquierdo"] # 0x301a (en: 'left white square bracket')
- - "〛": [T: "corchete vacío derecho"] # 0x301b (en: 'right white square bracket', MathPlayer: 'cierra corchete vacío', google: 'soporte cuadrado blanco derecho')
- - "〜": [T: "línea discontinua ondulada"] # 0x301c (en: 'wave dash', google: 'ola de ola')
- - "〰": [T: "línea discontinua en zigzag"] # 0x3030 (en: 'wavy dash', google: 'dash ondulado')
- - "㉈": [T: "número diez rodeado por un círculo en un cuadrado negro"] # 0x3248 (en: 'circled number ten on black square', google: 'circlado número diez en black square')
- - "㉉": [T: "número veinte rodeado por un círculo en un cuadrado negro"] # 0x3249 (en: 'circled number twenty on black square', google: 'número de círculo veinte en black square')
- - "㉊": [T: "número treinta rodeado por un círculo en un cuadrado negro"] # 0x324a (en: 'circled number thirty on black square', google: 'número de círculo treinta en black square')
- - "㉋": [T: "número cuarenta rodeado por un círculo en un cuadrado negro"] # 0x324b (en: 'circled number forty on blacks square', google: 'número de círculo cuarenta en blacks square')
- - "㉌": [T: "número cincuenta rodeado por un círculo en un cuadrado negro"] # 0x324c (en: 'circled number fifty on black square', google: 'número de círculo cincuenta en black square')
- - "㉍": [T: "número sesenta rodeado por un círculo en un cuadrado negro"] # 0x324d (en: 'circled number sixty on black square', google: 'número de círculos sesenta en black square')
- - "㉎": [T: "número setenta rodeado por un círculo en un cuadrado negro"] # 0x324e (en: 'circled number seventy on black square', google: 'número de círculo setenta en black square')
- - "㉏": [T: "número ochenta rodeado por un círculo en un cuadrado negro"] # 0x324f (en: 'circled number eighty on black square', google: 'número de círculo aty en black square')
- - "㉑": [T: "número veintiuno rodeado por un círculo"] # 0x3251 (en: 'circled number twenty one', google translation)
- - "㉒": [T: "número veintidós rodeado por un círculo"] # 0x3252 (en: 'circled number twenty two', google translation)
- - "㉓": [T: "número veintitrés rodeado por un círculo"] # 0x3253 (en: 'circled number twenty three', google translation)
- - "㉔": [T: "número veinticuatro rodeado por un círculo"] # 0x3254 (en: 'circled number twenty four', google translation)
- - "㉕": [T: "número veinticinco rodeado por un círculo"] # 0x3255 (en: 'circled number twenty five', google translation)
- - "㉖": [T: "número veintiséis rodeado por un círculo"] # 0x3256 (en: 'circled number twenty six', GPT-5.4 fixed translation)
- - "㉗": [T: "número veintisiete rodeado por un círculo"] # 0x3257 (en: 'circled number twenty seven', google translation)
- - "㉘": [T: "número veintiocho rodeado por un círculo"] # 0x3258 (en: 'circled number twenty eight', google translation)
- - "㉙": [T: "número veintinueve rodeado por un círculo"] # 0x3259 (en: 'circled number twenty nine', GPT-5.4 fixed translation)
- - "㉚": [T: "número treinta rodeado por un círculo"] # 0x325a (en: 'circled number thirty', google translation)
- - "㉛": [T: "número treinta y uno rodeado por un círculo"] # 0x325b (en: 'circled number thirty one', GPT-5.4 fixed translation)
- - "㉜": [T: "número treinta y dos rodeado por un círculo"] # 0x325c (en: 'circled number thirty two', google translation)
- - "㉝": [T: "número treinta y tres rodeado por un círculo"] # 0x325d (en: 'circled number thirty three', google translation)
- - "㉞": [T: "número treinta y cuatro rodeado por un círculo"] # 0x325e (en: 'circled number thirty four', google translation)
- - "㉟": [T: "número treinta y cinco rodeado por un círculo"] # 0x325f (en: 'circled number thirty five', google translation)
- - "㊱": [T: "número treinta y seis rodeado por un círculo"] # 0x32b1 (en: 'circled number thirty six', google translation)
- - "㊲": [T: "número treinta y siete rodeado por un círculo"] # 0x32b2 (en: 'circled number thirty seven', GPT-5.4 translation)
- - "㊳": [T: "número treinta y ocho rodeado por un círculo"] # 0x32b3 (en: 'circled number thirty eight', GPT-5.4 translation)
- - "㊴": [T: "número treinta y nueve rodeado por un círculo"] # 0x32b4 (en: 'circled number thirty nine', GPT-5.4 translation)
- - "㊵": [T: "número cuarenta rodeado por un círculo"] # 0x32b5 (en: 'circled number forty', GPT-5.4 translation)
- - "㊶": [T: "número cuarenta y uno rodeado por un círculo"] # 0x32b6 (en: 'circled number forty one', GPT-5.4 translation)
- - "㊷": [T: "número cuarenta y dos rodeado por un círculo"] # 0x32b7 (en: 'circled number forty two', GPT-5.4 translation)
- - "㊸": [T: "número cuarenta y tres rodeado por un círculo"] # 0x32b8 (en: 'circled number forty three', GPT-5.4 translation)
- - "㊹": [T: "número cuarenta y cuatro rodeado por un círculo"] # 0x32b9 (en: 'circled number forty four', GPT-5.4 translation)
- - "㊺": [T: "número cuarenta y cinco rodeado por un círculo"] # 0x32ba (en: 'circled number forty five', GPT-5.4 translation)
- - "㊻": [T: "número cuarenta y seis rodeado por un círculo"] # 0x32bb (en: 'circled number forty six', GPT-5.4 translation)
- - "㊼": [T: "número cuarenta y siete rodeado por un círculo"] # 0x32bc (en: 'circled number forty seven', GPT-5.4 translation)
- - "㊽": [T: "número cuarenta y ocho rodeado por un círculo"] # 0x32bd (en: 'circled number forty eight', GPT-5.4 translation)
- - "㊾": [T: "número cuarenta y nueve rodeado por un círculo"] # 0x32be (en: 'circled number forty nine', GPT-5.4 translation)
- - "㊿": [T: "número cincuenta rodeado por un círculo"] # 0x32bf (en: 'circled number fifty', GPT-5.4 translation)
- - "㋌": [T: "mercurio"] # 0x32cc (en: 'mercury', google translation)
- - "㋍": [T: "ergs"] # 0x32cd (google translation)
- - "㋎": [T: "electronvoltios"] # 0x32ce (en: 'electron volts', google translation)
- - "㋏": [T: "señal de responsabilidad limitada"] # 0x32cf (en: 'limited liability sign', google translation)
- - "㍱": [T: "hectopascales"] # 0x3371 (en: 'hectopascals', google translation)
- - "㍲": [T: "daltons"] # 0x3372 (google translation)
- - "㍳": [T: "unidades astronómicas"] # 0x3373 (en: 'astronomical units', google translation)
- - "㍴": [T: "barras"] # 0x3374 (en: 'bars', google translation)
- - "㍵": [T: "o v"] # 0x3375 (google translation)
- - "㍶": [T: "parsecs"] # 0x3376 (google translation)
- - "㍷": [T: "decímetros"] # 0x3377 (en: 'decimeters', google translation)
- - "㍸": [T: "decímetros al cuadrado"] # 0x3378 (en: 'decimeters squared', google translation)
- - "㍹": [T: "decímetros al cubo"] # 0x3379 (en: 'decimeters cubed', google translation)
- - "㍺": [T: "unidades instrumentales"] # 0x337a (en: 'instrumental units', google translation)
- - "㎀": [T: "picoamperios"] # 0x3380 (google translation)
- - "㎁": [T: "nanoamperios"] # 0x3381 (google translation)
- - "㎂": [T: "microamperios"] # 0x3382 (google translation)
- - "㎃": [T: "miliamperios"] # 0x3383 (en: 'milliamps', google translation)
- - "㎄": [T: "kiloamperios"] # 0x3384 (google translation)
- - "㎅": [T: "kilobytes"] # 0x3385 (google translation)
- - "㎆": [T: "megabytes"] # 0x3386 (google translation)
- - "㎇": [T: "gigabytes"] # 0x3387 (google translation)
- - "㎈": [T: "calorías"] # 0x3388 (en: 'calories', google translation)
- - "㎉": [T: "kilocalorías"] # 0x3389 (en: 'kilocalories', google translation)
- - "㎊": [T: "picofaradios"] # 0x338a (google translation)
- - "㎋": [T: "nanofaradios"] # 0x338b (google translation)
- - "㎌": [T: "microfaradios"] # 0x338c (google translation)
- - "㎍": [T: "microgramos"] # 0x338d (en: 'micrograms', google translation)
- - "㎎": [T: "miligramos"] # 0x338e (en: 'milligrams', google translation)
- - "㎏": [T: "kilogramos"] # 0x338f (en: 'kilograms', google translation)
- - "㎐": [T: "hercios"] # 0x3390 (google translation)
- - "㎑": [T: "kilohercios"] # 0x3391 (en: 'kilohertz', google translation)
- - "㎒": [T: "megahercios"] # 0x3392 (en: 'megahertz', google translation)
- - "㎓": [T: "gigahercios"] # 0x3393 (google translation)
- - "㎔": [T: "terahercios"] # 0x3394 (google translation)
- - "㎕": [T: "microlitros"] # 0x3395 (en: 'microliters', google translation)
- - "㎖": [T: "mililitros"] # 0x3396 (google translation)
- - "㎗": [T: "decilitros"] # 0x3397 (en: 'deciliters', google translation)
- - "㎘": [T: "kilolitros"] # 0x3398 (en: 'kiloliters', google translation)
- - "㎙": [T: "femtómetros"] # 0x3399 (en: 'femtometers', google translation)
- - "㎚": [T: "micrómetros"] # 0x339b (en: 'micrometers', google translation)
- - "㎜": [T: "milímetros"] # 0x339c (en: 'millimeters', google translation)
- - "㎝": [T: "centímetros"] # 0x339d (en: 'centimeters', google translation)
- - "㎞": [T: "kilómetros"] # 0x339e (en: 'kilometers', google translation)
- - "㎟": [T: "milímetros cuadrados"] # 0x339f (en: 'millimeters squared', google translation)
- - "㎠": [T: "centímetros cuadrados"] # 0x33a0 (en: 'centimeters squared', google translation)
- - "㎡": [T: "metros cuadrados"] # 0x33a1 (en: 'meters squared', google translation)
- - "㎢": [T: "kilómetros cuadrados"] # 0x33a2 (en: 'kilometers squared', google translation)
- - "㎣": [T: "milímetros cúbicos"] # 0x33a3 (en: 'millimeters cubed', google translation)
- - "㎤": [T: "centímetros cúbicos"] # 0x33a4 (en: 'centimeters cubed', google translation)
- - "㎥": [T: "metros cúbicos"] # 0x33a5 (en: 'meters cubed', google translation)
- - "㎦": [T: "kilómetros cúbicos"] # 0x33a6 (en: 'kilometers cubed', google translation)
- - "㎧": [T: "metros por segundo"] # 0x33a7 (en: 'meters per second', google translation)
- - "㎨": [T: "metros por segundo al cuadrado"] # 0x33a8 (en: 'meters per second squared', google translation)
- - "㎩": [T: "pascales"] # 0x33a9 (en: 'pascals', google translation)
- - "㎪": [T: "kilopascales"] # 0x33aa (en: 'kilopascals', google translation)
- - "㎫": [T: "megapascales"] # 0x33ab (en: 'megapascals', google translation)
- - "㎬": [T: "gigapascales"] # 0x33ac (en: 'gigapascals', google translation)
- - "㎭": [T: "radián"] # 0x33ad (google translation)
- - "㎮": [T: "radián por segundo"] # 0x33ae (en: 'rads per second', google translation)
- - "㎯": [T: "radián por segundo al cuadrado"] # 0x33af (en: 'rads per second squared', google translation)
- - "㎰": [T: "picosegundos"] # 0x33b0 (en: 'picoseconds', google translation)
- - "㎱": [T: "nanosegundos"] # 0x33b1 (en: 'nanoseconds', google translation)
- - "㎲": [T: "microsegundos"] # 0x33b2 (en: 'microseconds', google translation)
- - "㎳": [T: "milisegundos"] # 0x33b3 (en: 'milliseconds', google translation)
- - "㎴": [T: "picovoltios"] # 0x33b4 (google translation)
- - "㎵": [T: "nanovoltios"] # 0x33b5 (en: 'nanovolts', google translation)
- - "㎶": [T: "microvoltios"] # 0x33b6 (en: 'microvolts', google translation)
- - "㎷": [T: "milivoltios"] # 0x33b7 (en: 'millivolts', google translation)
- - "㎸": [T: "kilovoltios"] # 0x33b8 (en: 'kilovolts', google translation)
- - "㎹": [T: "megavoltios"] # 0x33b9 (google translation)
- - "㎺": [T: "picovatios"] # 0x33ba (google translation)
- - "㎻": [T: "nanovatios"] # 0x33bb (google translation)
- - "㎼": [T: "microvatios"] # 0x33bc (google translation)
- - "㎽": [T: "milivatios"] # 0x33bd (google translation)
- - "㎾": [T: "kilovatios"] # 0x33be (en: 'kilowatts', google translation)
- - "㎿": [T: "megavatios"] # 0x33bf (google translation)
- - "㏀": [T: "kiloohmios"] # 0x33c0 (google translation)
- - "㏁": [T: "megaohmios"] # 0x33c1 (google translation)
- - "㏂": [T: "attómetros"] # 0x33c2 (en: 'attometers', google translation)
- - "㏃": [T: "becquerels"] # 0x33c3 (google translation)
- - "㏄": [T: "centímetros cubicos"] # 0x33c4 (en: 'cubic centimeters', google translation)
- - "㏅": [T: "candelas"] # 0x33c5 (google translation)
- - "㏆": [T: "culombios por kilogramos"] # 0x33c6 (en: 'coulombs per kilogram', google translation)
- - "㏇": [T: "volumen minuto"] # 0x33c7 (en: 'cardiac output', google translation)
- - "㏈": [T: "decibelios"] # 0x33c8 (en: 'decibels', google translation)
- - "㏉": [T: "grises"] # 0x33c9 (en: 'grays', google translation)
- - "㏊": [T: "hectáreas"] # 0x33ca (en: 'hectares', google translation)
- - "㏋": [T: "caballo de fuerza"] # 0x33cb (en: 'horsepower', google translation)
- - "㏌": [T: "pulgadas"] # 0x33cc (en: 'inches', google translation)
- - "㏍": [T: "kilokelvins"] # 0x33cd (google translation)
- - "㏎": [T: "kilómetros"] # 0x33ce (en: 'kilometers', google translation)
- - "㏏": [T: "nudos"] # 0x33cf (en: 'knots', google translation)
- - "㏐": [T: "lúmenes"] # 0x33d0 (en: 'lumens', google translation)
- - "㏑": [T: "logaritmo natural"] # 0x33d1 (en: 'natural log', google translation)
- - "㏒": [T: "logaritmo"] # 0x33d2 (en: 'logarithm', google translation)
- - "㏓": [T: "lux"] # 0x33d3 (google translation)
- - "㏔": [T: "milibares"] # 0x33d4 (google translation)
- - "㏕": [T: "mills"] # 0x33d5 (en: 'mills', google translation)
- - "㏖": [T: "moles"] # 0x33d6 (google translation)
- - "㏗": [T: "p h"] # 0x33d7 (google translation)
- - "㏘": [T: "picómetros"] # 0x33d8 (en: 'picometers', google translation)
- - "㏙": [T: "partes por millón"] # 0x33d9 (en: 'parts per million', google translation)
- - "㏚": [T: "roentgens"] # 0x33da (en: 'petaroentgens', google translation)
- - "㏛": [T: "estererradián"] # 0x33db (en: 'steradians', google translation)
- - "㏜": [T: "sieverts"] # 0x33dc (google translation)
- - "㏝": [T: "webers"] # 0x33dd (google translation)
- - "㏞": [T: "voltios por metro"] # 0x33de (en: 'volts per meter', google translation)
- - "㏟": [T: "amperios por metro"] # 0x33df (en: 'amps per meter', google translation)
- - "㏿": [T: "galones"] # 0x33ff (en: 'gallons', google translation)
- - "": [T: "sino igual a con sombrero debajo"] # 0xe900 (en: 'equals with hat below', google translation)
- - "": [T: "es igual a con signo más encima"] # 0xe901 (en: 'equals with plus above', google translation)
- - "⩲": [T: "es igual a con signo más encima"] # 0x2a72 (en: 'equals with plus above')
- - "": [T: "es igual a con signo más debajo"] # 0xe902 (en: 'equals with plus below', google translation)
- - "⩱": [T: "es igual a con signo más debajo"] # 0x2a71 (en: 'equals with plus below')
- - "": [T: "tilde con más encima"] # 0xe903 (en: 'tilde with plus above', google translation)
- - "⨦": [T: "tilde con signo más encima"] # 0x2a26 (en: 'tilde with plus above')
- - "": [T: "tilde signo más debajo"] # 0xe904 (en: 'tilde with plus below', google translation)
- - "⨤": [T: "tilde con signo más debajo"] # 0x2a24 (en: 'tilde with plus below')
- - "": [T: "doble signo igual sobre mayor que"] # 0xe908 (en: 'equal double over greater than', google translation)
- - "": [T: "doble signo igual sobre menor que"] # 0xe909 (en: 'equal double over less than', google translation)
- - "⪙": [T: "doble signo igual sobre menor que"] # 0x2a99 (en: 'equal double over less than')
- - "": [T: "contiene o igual a"] # 0xe90a (en: 'contains or equal to', google translation)
- - "⋽": [T: "contiene o igual a"] # 0x22fd (en: 'contains or equal to')
- - "": [T: "superconjunto de o igual a"] # 0xe90b (en: 'superset of or equal to', google translation)
- - "": [T: "subconjunto de o igual a"] # 0xe90c (en: 'subset of or equal to', google translation)
- - "": [T: "signo igual sobre signo menor que"] # 0xe90d (en: 'equal over less than', google translation)
- - "": [T: "elemento de o igual a"] # 0xe912 (en: 'element of or equal to', google translation)
- - "⋷": [T: "elemento de o igual a"] # 0x22f7 (en: 'element of or equal to')
- - "": [T: "igual a o mayor que"] # 0xe913 (en: 'equal to or greater than', google translation)
- - "⪚": [T: "mayor que o igual a"] # 0x2a9a (en: 'equal to or greater than')
- - "": [T: "superconjunto aproximado de"] # 0xe914 (en: 'approximate superset of', google translation)
- - "⫈": [T: "contiene aproximadamente a"] # 0x2ac8 (en: 'approximate superset of')
- - "": [T: "subconjunto aproximado de"] # 0xe915 (en: 'approximate subset of', google translation)
- - "⫇": [T: "incluido aproximadamente en"] # 0x2ac7 (en: 'approximate subset of')
- - "": [T: "superconjunto de con punto incluido como sub-relación"] # 0xe916 (en: 'superset of with dot includes as sub relation', google translation)
- - "⪾": [T: "contiene como sub-relación a"] # 0x2abe (en: 'superset of with dot includes as sub relation')
- - "": [T: "el subconjunto de con dot se incluye en una subselección"] # 0xe917 (en: 'subset of with dot is included in as sub relation', google translation)
- - "⪽": [T: "sub-relación de"] # 0x2abd (en: 'subset of with dot is included in as sub relation')
- - "": [T: "signo igual a con punto debajo"] # 0xe918 (en: 'equal with dot below', google translation)
- - "⩦": [T: "signo igual a con punto debajo"] # 0x2a66 (en: 'equal with dot below')
- - "": [T: "punto izquierdo sobre signo menos sobre punto derecho"] # 0xe919 (en: 'left dot over minus over right dot', google translation)
- - "": [T: "punto derecho sobre signo menos sobre punto izquierdo"] # 0xe91a (en: 'right dot over minus over left dot', google translation)
- - "": [T: "casi igual a menos"] # 0xe91f (en: 'almost equal to minus', google translation)
- - "": [T: "taza doble cuadrada"] # 0xe920 (en: 'double square cup', google translation)
- - "": [T: "doble cuadrado en mayúsculas"] # 0xe921 (en: 'double square cap', google translation)
- - "": [T: "menor que igual o mayor que"] # 0xe922 (en: 'less than equal to or greater than', google translation)
- - "": [T: "tilde con punto"] # 0xe924 (en: 'tilde with dot', google translation)
- - "⩪": [T: "tilde con punto"] # 0x2a6a (en: 'tilde with dot')
- - "": [T: "tilde con dos puntos"] # 0xe925 (en: 'tilde with two dots', google translation)
- - "": [T: "menor que mayor o igual a"] # 0xe926 (en: 'less than greater than or equal to', google translation)
- - "⪑": [T: "menor que mayor que o igual a"] # 0x2a91 (en: 'less than greater than or equal to')
- - "": [T: "mayor que menor que o igual a"] # 0xe927 (en: 'greater than less than or equal to', google translation)
- - "⪒": [T: "mayor que menor que o igual a"] # 0x2a92 (en: 'greater than less than or equal to')
- - "": [T: "equivalente a o menor que"] # 0xe928 (en: 'equivalent to or less than', google translation)
- - "⪝": [T: "equivalente a o menor que"] # 0x2a9d (en: 'equivalent to or less than')
- - "": [T: "equivalente a o mayor que"] # 0xe929 (en: 'equivalent to or greater than', google translation)
- - "": [T: "operador de caja abierta izquierda"] # 0xe92a (en: 'left open box operator', google translation)
- - "": [T: "operador de caja abierta derecha"] # 0xe92b (en: 'right open box operator', google translation)
- - "": [T: "idéntico a con punto"] # 0xe92c (en: 'identical to with dot', google translation)
- - "": [T: "mayor que igual a o menor que"] # 0xe92d (en: 'greater than equal to or less than', google translation)
- - "": [T: "operador de barra"] # 0xe92e (en: 'bar operator', google translation)
- - "": [T: "operador de doble barra"] # 0xe92f (en: 'double bar operator', google translation)
- - "": [T: "operador de triple barra"] # 0xe930 (en: 'triple bar operator', google translation)
- - "": [T: "menor que o aproximadamente igual a"] # 0xe932 (en: 'less than or approximately equal to', google translation)
- - "": [T: "mayor que o aproximadamente igual a"] # 0xe933 (en: 'greater than or approximately equal to', google translation)
- - "": [T: "menor que anidado"] # 0xe936 (en: 'nested less than', google translation)
- - "⪡": [T: "mucho menor que"] # 0x2aa1 (en: 'nested less than')
- - "": [T: "mayor que anidado"] # 0xe937 (en: 'nested greater than', google translation)
- - "⪢": [T: "mucho mayor que"] # 0x2aa2 (en: 'nested greater than')
- - "": [T: "precede o equivalente a"] # 0xe93a (en: 'precedes or equivalent to', google translation)
- - "": [T: "sucede o equivalente a"] # 0xe93b (en: 'succeeds or equivalent to', google translation)
- - "": [T: "precede sobre signo igual"] # 0xe940 (en: 'precedes over equal', google translation)
- - "": [T: "sucede sobre signo igual"] # 0xe941 (en: 'succeeds over equal', google translation)
- - "": [T: "menor igual inclinado mayor"] # 0xe942 (en: 'less equal slanted greater', google translation)
- - "": [T: "mayor igual inclinado menor"] # 0xe943 (en: 'greater equal slanted less', google translation)
- - "": [T: "satisfecho por"] # 0xe948 (en: 'satisfied by', google translation)
- - "": [T: "lazy s"] # 0xe949 (en: 'lazy s', google translation)
- - "": [T: "no afirmación"] # 0xe94a (en: 'not assertion', google translation)
- - "": [T: "doble igual"] # 0xe94b (en: 'double equal', google translation)
- - "⩵": [T: "doble igual"] # 0x2a75 (en: 'double equal')
- - "": [T: "triple igual"] # 0xe94c (en: 'triple equal', google translation)
- - "": [T: "regla retardada"] # 0xe94d (en: 'rule delayed', google translation)
- - "⧴": [T: "regla retardada"] # 0x29f4
- - "": [T: "delimitador de alias"] # 0xe94e (en: 'alias delimiter', google translation)
- - "": [T: "subgrupo normal de con barra"] # 0xe950 (en: 'normal subgroup of with bar', google translation)
- - "⧏": [T: "subgrupo normal o igual a"] # 0x29cf (en: 'normal subgroup of with bar')
- - "": [T: "contiene como subgrupo normal con barra"] # 0xe951 (en: 'contains as normal subgroup with bar', google translation)
- - "⧐": [T: "contiene como subgrupo normal o es igual a"] # 0x29d0 (en: 'contains as normal subgroup with bar')
- - "": [T: "implica circular"] # 0xe954 (en: 'round implies', google translation)
- - "⥰": [T: "implica circular"] # 0x2970
- - "": [T: "emoticono de sonrisa debajo de una barra"] # 0xe955 (en: 'smile under bar', google translation)
- - "": [T: "emoticono de ceño fruncido sobe barra"] # 0xe956 (en: 'frown over bar', google translation)
- - "": [T: "superconjunto de o casi igual a"] # 0xe957 (en: 'superset of or almost equal to', google translation)
- - "": [T: "subconjunto de o casi igual a"] # 0xe958 (en: 'subset of or almost equal to', google translation)
- - "": [T: "mayor que casi igual a o menor que"] # 0xe959 (en: 'greater than almost equal to or less than', google translation)
- - "": [T: "menor que casi igual a o mayor que"] # 0xe95a (en: 'less than almost equal or greater than', google translation)
- - "": [T: "doble o lógica"] # 0xe95c (en: 'double logical or', google translation)
- - "⩔": [T: "o"] # 0x2a54 (en: 'double logical or')
- - "": [T: "doble y lógica"] # 0xe95d (en: 'double logical and', google translation)
- - "⩓": [T: "y"] # 0x2a53 (en: 'double logical and')
- - "": [T: "o lógica con doble barra debajo"] # 0xe95e (en: 'logical or with double bar below', google translation)
- - "": [T: "o lógica con barra debajo"] # 0xe95f (en: 'logical or with bar below', google translation)
- - "": [T: "casi igual sobre igual"] # 0xe962 (en: 'almost equal over equal', google translation)
- - "": [T: "triángulo apuntando a la izquierda con barra bisectriz"] # 0xe964
- - "": [T: "triángulo apuntando a la derecha con barra bisectriz"] # 0xe965 (en: 'right pointing triangle with bisecting bar', google translation)
- - "": [T: "es igual a la línea punteada superior"] # 0xe966 (en: 'equals with dotted top line', google translation)
- - "": [T: "precede con dos puntos"] # 0xe967 (en: 'precedes with colon', google translation)
- - "": [T: "sucede con dos puntos"] # 0xe968 (en: 'succeeds with colon', google translation)
- - "": [T: "más pequeño o igual inclinado"] # 0xe969 (en: 'smaller than or equal slanted', google translation)
- - "": [T: "más grande o igual inclinado"] # 0xe96a (en: 'larger than or equal slanted', google translation)
- - "": [T: "mucho menor que anidado"] # 0xe96b (en: 'nested very much less than', google translation)
- - "": [T: "mucho mayor que anidado"] # 0xe96c (en: 'nested very much greater than', google translation)
- - "": [T: "diferencia entre variantes"] # 0xe96d (en: 'difference between variant', google translation)
- - "⪮": [T: "diferencia entre"] # 0x2aae (en: 'difference between variant')
- - "": [T: "superposición de menor que mayor que"] # 0xe96e (en: 'less than greater than overlay', google translation)
- - "⪤": [T: "superposición de menor que mayor que"] # 0x2aa4 (en: 'less than greater than overlay')
- - "": [T: "o lógica y lógica superpuestas"] # 0xe96f (en: 'logical or logical and overlay', google translation)
- - "": [T: "superconjunto sobre superconjunto"] # 0xe970 (en: 'superset over superset', google translation)
- - "⫖": [T: "superconjunto sobre superconjunto"] # 0x2ad6 (en: 'superset over superset')
- - "": [T: "subconjunto sobre subconjunto"] # 0xe971 (en: 'subset over subset', google translation)
- - "⫕": [T: "subconjunto por encima de subconjunto"] # 0x2ad5 (en: 'subset over subset')
- - "": [T: "superconjunto sobre subconjunto"] # 0xe972 (en: 'superset over subset', google translation)
- - "⫔": [T: "contiene o está incluido en"] # 0x2ad4 (en: 'superset over subset')
- - "": [T: "subconjunto sobre superconjunto"] # 0xe973 (en: 'subset over superset', google translation)
- - "⫓": [T: "está incluido o contiene a"] # 0x2ad3 (en: 'subset over superset')
- - "": [T: "triple barra vertical"] # 0xe979 (en: 'triple vertical bar', google translation)
- - "": [T: "puntos verticales cuádruples emparejados"] # 0xe97a (en: 'paired quadruple vertical dots', google translation)
- - "": [T: "perpendicular sobre barra"] # 0xe97b (en: 'perpendicular over bar', google translation)
- - "⫨": [T: "perpendicular sobre barra"] # 0x2ae8 (en: 'perpendicular over bar')
- - "": [T: "doble barra vertical con torniquete a la izquierda"] # 0xe97c (en: 'left turnstile double vertical bar', google translation)
- - "": [T: "doble barra vertical con doble torniquete a la izquierda"] # 0xe97d (en: 'double left turnstile double vertical bar', google translation)
- - "": [T: "perpendicular sobre perpendicular invertida"] # 0xe97e (en: 'perpendicular over inverted perpendicular', google translation)
- - "": [T: "barra vertical con doble torniquete a la izquierda"] # 0xe97f (en: 'double left turnstile vertical bar', google translation)
- - "⫤": [T: "barra vertical con doble torniquete a la izquierda"] # 0x2ae4
- - "": [T: "apertura de ángulo esférico"] # 0xe980 (en: 'spherical angle opening up', google translation)
- - "": [T: "doble barra"] # 0xe981 (en: 'double slash', google translation)
- - "": [T: "ángulo recto con esquina"] # 0xe982 (en: 'right angle with corner', google translation)
- - "": [T: "barra vertical rodeada por un círculo"] # 0xe984 (en: 'circled vertical bar', google translation)
- - "⦶": [T: "barra vertical rodeada por un círculo"] # 0x29b6 (en: 'circled vertical bar')
- - "": [T: "signo de división rodeado por un círculo"] # 0xe985 (en: 'circled division sign', google translation)
- - "⨸": [T: "signo de división rodeado por un círculo"] # 0x2a38 (en: 'circled division sign')
- - "": [T: "solidus discontinuo"] # 0xe986 (en: 'dashed solidus', google translation)
- - "": [T: "barra inversa discontinua"] # 0xe987 (en: 'dashed backslash', google translation)
- - "": [T: "línea media discontinua"] # 0xe988 (en: 'dashed mid line', google translation)
- - "": [T: "barra vertical discontinua"] # 0xe989 (en: 'dashed vertical bar', google translation)
- - "": [T: "perpendicular con s"] # 0xe98a (en: 'perpendicular with s', google translation)
- - "": [T: "ángulo con s"] # 0xe98b (en: 'angle with s', google translation)
- - "": [T: "apertura izquierda en ángulo esférico"] # 0xe98c (en: 'spherical angle opening left', google translation)
- - "": [T: "apertura angular izquierda"] # 0xe98d (en: 'angle opening left', google translation)
- - "": [T: "barra vertical con doble garfio"] # 0xe98e (en: 'vertical bar with double hook', google translation)
- - "⥾": [T: "barra vertical con doble garfio"] # 0x297e (en: 'vertical bar with double hook')
- - "": [T: "operador de punto medio radical libre"] # 0xe98f (en: 'medium dot operator free radical', google translation)
- - "": [T: "blanco apuntando al triángulo sobre la barra"] # 0xe990 (en: 'white up pointing triangle above bar', google translation)
- - "": [T: "idéntico y paralelo a"] # 0xe991 (en: 'identical and parallel to', google translation)
- - "": [T: "smash product"] # 0xe992 (en: 'smash product', google translation)
- - "⨳": [T: "smash product"] # 0x2a33
- - "": [T: "operador de triple barra con barra horizontal"] # 0xe993 (en: 'triple bar operator with horizontal bar', google translation)
- - "": [T: "idéntico a con doble barra cortada"] # 0xe994 (en: 'identical to with double slash', google translation)
- - "⧥": [T: "idéntico a con doble barra cortada"] # 0x29e5 (en: 'identical to with double slash')
- - "": [T: "barras triples cruzadas"] # 0xe995 (en: 'triple crossed bars', google translation)
- - "": [T: "barra vertical sobre círculo"] # 0xe996 (en: 'vertical bar over circle', google translation)
- - "": [T: "vertical proporcional a"] # 0xe997 (en: 'vertical proportional to', google translation)
- - "": [T: "luna en cuarto menguante"] # 0xe998 (google translation)
- - "": [T: "cuarto creciente"] # 0xe999 (google translation)
- - "": [T: "onda sinusoidal negativa"] # 0xe9a0 (en: 'negative sine wave', google translation)
- - "": [T: "punto entre paréntesis"] # 0xe9a1 (en: 'parenthesized dot', google translation)
- - "": [T: "paréntesis"] # 0xe9a2 (en: 'parens', google translation)
- - "": [T: "emoticono de sonrisa blanca"] # 0xe9a3 (en: 'white smile', google translation)
- - "": [T: "emoticono de ceño fruncido"] # 0xe9a4 (en: 'white frown', google translation)
- - "": [T: "hexágono"] # 0xe9a5 (en: 'hexagon', google translation)
- - "": [T: "equivalente a sobre signo más"] # 0xe9a6 (en: 'equivalent to over plus', google translation)
- - "": [T: "signo más sobre equivalente a"] # 0xe9a7 (en: 'plus over equivalent to', google translation)
- - "": [T: "intersección serifs"] # 0xe9b0 (en: 'intersection serifs', google translation)
- - "": [T: "union serifs"] # 0xe9b1 (google translation)
- - "": [T: "intersección cuadrada serifs"] # 0xe9b2 (en: 'square intersection serifs', google translation)
- - "": [T: "unión cuadrada serifs"] # 0xe9b3 (google translation)
- - "": [T: "precede equivalente a o sucede a"] # 0xe9e0 (en: 'precedes equivalent to or succeeds', google translation)
- - "": [T: "sucede equivalente a o precede"] # 0xe9e1 (en: 'succeeds equivalent to or precedes', google translation)
- - "": [T: "precede casi igual a o sucede a"] # 0xe9e2 (en: 'precedes almost equal to or succeeds', google translation)
- - "": [T: "sucede casi igual o precede"] # 0xe9e3 (en: 'succeeds almost equal to or precedes', google translation)
- - "": [T: "menor que equivalente a o mayor que"] # 0xe9f0 (en: 'less than equivalent to or greater than', google translation)
- - "": [T: "mayor que equivalente a o menor que"] # 0xe9f1 (en: 'greater than equivalent to or less than', google translation)
- - "": [T: "no vert mucho menor que"] # 0xea00 (en: 'not vert much less than', google translation)
- - "": [T: "no vert mucho mayor que"] # 0xea01 (en: 'not vert much greater than', google translation)
- - "": [T: "variante no mucho menor que"] # 0xea02 (en: 'not much less than variant', google translation)
- - "": [T: "variante no mucho mayor que"] # 0xea03 (en: 'not much greater than variant', google translation)
- - "": [T: "menor que vert no signos igual doble"] # 0xea04 (en: 'less vert not double equals', google translation)
- - "": [T: "gt vert no doble signo igual"] # 0xea05 (en: 'gt vert not double equals', google translation)
- - "": [T: "no menor que o igual a"] # 0xea06 (en: 'not less than or equal to', google translation)
- - "": [T: "no mayor que o igual a"] # 0xea07 (en: 'not greater than or equal to', google translation)
- - "": [T: "ni igual a ni menor que"] # 0xea09 (en: 'neither equal to nor less than', google translation)
- - "": [T: "no contiene ni igual a"] # 0xea0a (en: 'does not contain or equal to', google translation)
- - "": [T: "ni superconjunto ni igual a"] # 0xea0b (en: 'neither superset of nor equal to', google translation)
- - "": [T: "ni subconjunto ni igual a"] # 0xea0c (en: 'neither subset of nor equal to', google translation)
- - "": [T: "subconjunto con solidus invertido"] # 0xea0d (en: 'reverse solidus subset', google translation)
- - "": [T: "ni igual a ni mayor que"] # 0xea0e (en: 'neither equal to nor greater than', google translation)
- - "": [T: "no menos operador tilde"] # 0xea0f (en: 'not minus tilde operator', google translation)
- - "": [T: "ni igual a ni menor que"] # 0xea10 (en: 'neither equal to nor less than', google translation)
- - "": [T: "no operador tilde"] # 0xea11 (en: 'not tilde operator', google translation)
- - "": [T: "ni elemento de ni igual a"] # 0xea12 (en: 'not element of or equal to', google translation)
- - "": [T: "ni igual ni mayor que"] # 0xea13 (en: 'neither equal to nor greater than', google translation)
- - "": [T: "no casi igual"] # 0xea14 (en: 'not almost equal', google translation)
- - "": [T: "no sucede similar"] # 0xea15 (en: 'not succeeds similar', google translation)
- - "": [T: "menor que o igual a inclinado con barra cortada"] # 0xea16 (en: 'less than or slanted equal to with slash', google translation)
- - "": [T: "mayor que o igual a inclinado con barra cortada"] # 0xea17 (en: 'greater than or slanted equal to with slash', google translation)
- - "": [T: "superconjunto solidus"] # 0xea1a (google translation)
- - "": [T: "no contiene"] # 0xea1b (en: 'does not contain', google translation)
- - "": [T: "no menor que o igual a"] # 0xea1d (en: 'not less than or equal to', google translation)
- - "": [T: "no mayor que o igual a"] # 0xea1e (en: 'not greater than or equal to', google translation)
- - "": [T: "no casi igual a menos"] # 0xea1f (en: 'not almost equal to minus', google translation)
- - "": [T: "conjunto negado de afiliación con punto encima"] # 0xea22 (en: 'negated set membership dot above', google translation)
- - "": [T: "no ángulo de vert"] # 0xea2c (en: 'not vert angle', google translation)
- - "": [T: "no paralelo inclinado"] # 0xea2d (en: 'not parallel slanted', google translation)
- - "": [T: "no operador de barra"] # 0xea2e (en: 'not bar operator', google translation)
- - "": [T: "no operador de barra doble"] # 0xea2f (en: 'not double bar operator', google translation)
- - "": [T: "no operador de triple barra"] # 0xea30 (en: 'not triple bar operator', google translation)
- - "": [T: "menor que pero no aproximadamente igual a"] # 0xea32 (en: 'less than but not approximately equal to', google translation)
- - "⪉": [T: "menor que pero no aproximadamente igual a"] # 0x2a89 (en: 'less than but not approximately equal to')
- - "": [T: "mayor que pero no aproximadamente igual a"] # 0xea33 (en: 'greater than but not approximately equal to', google translation)
- - "⪊": [T: "mayor que pero no aproximadamente igual a"] # 0x2a8a (en: 'greater than but not approximately equal to')
- - "": [T: "menor que o no igual a"] # 0xea34 (en: 'less than or not equal to', google translation)
- - "": [T: "mayor que o no igual a"] # 0xea35 (en: 'greater than or not equal to', google translation)
- - "": [T: "menor que no anidado"] # 0xea36 (en: 'not nested less than', google translation)
- - "": [T: "mayor que no anidado"] # 0xea37 (en: 'not nested greater than', google translation)
- - "": [T: "no mucho menor que"] # 0xea38 (en: 'not much less than', google translation)
- - "": [T: "no mucho mayor que"] # 0xea39 (en: 'not much greater than', google translation)
- - "": [T: "precede pero no equivalente a"] # 0xea3a (en: 'precedes but not equivalent to', google translation)
- - "": [T: "sucede pero no equivalente a"] # 0xea3b (en: 'succeeds but not equivalent to', google translation)
- - "": [T: "precede pero no es igual a"] # 0xea3c (en: 'precedes but not equal to', google translation)
- - "": [T: "sucede pero no es igual a"] # 0xea3d (en: 'succeeds but not equal to', google translation)
- - "": [T: "ni es igual a ni precede"] # 0xea3e (en: 'does not equal or precede', google translation)
- - "": [T: "ni es igual a ni sucede"] # 0xea3f (en: 'does not equal or succeed', google translation)
- - "": [T: "precede pero no es igual a"] # 0xea40 (en: 'precedes but not equal to', google translation)
- - "⪵": [T: "precede pero no es igual a"] # 0x2ab5 (en: 'precedes but not equal to')
- - "": [T: "sucede pero no es igual a"] # 0xea41 (en: 'succeeds but not equal to', google translation)
- - "⪶": [T: "sucede pero no es igual a"] # 0x2ab6 (en: 'succeeds but not equal to')
- - "": [T: "ni subconjunto de ni igual a"] # 0xea42 (en: 'not subset of nor equal to', google translation)
- - "": [T: "ni superconjunto de ni igual a"] # 0xea43 (en: 'not superset of nor equal to', google translation)
- - "": [T: "subconjunto de o no igual a"] # 0xea44 (en: 'subset of or not equal to', google translation)
- - "": [T: "superconjunto de o no igual a"] # 0xea45 (en: 'superset of or not equal to', google translation)
- - "": [T: "ni subconjunto de ni igual a"] # 0xea46 (en: 'not subset of nor equal to', google translation)
- - "": [T: "ni superconjunto de ni igual a"] # 0xea47 (en: 'not superset of nor equal to', google translation)
- - "": [T: "no triple menor que"] # 0xea48 (en: 'not triple less than', google translation)
- - "": [T: "no triple mayor que"] # 0xea49 (en: 'not triple greater than', google translation)
- - "": [T: "no precede a igual"]
- - "": [T: "no sucede a igual"] # 0xea4d (en: 'not succeeds equals', google translation)
- - "": [T: "no subgrupo normal de con barra"] # 0xea50 (en: 'not normal subgroup of with bar', google translation)
- - "": [T: "no contiene como subgrupo normal con barra"] # 0xea51 (en: 'does not contain as normal subgroup with bar', google translation)
- - "": [T: "no diferencia entre"] # 0xea52 (en: 'not difference between', google translation)
- - "": [T: "no geométricamente equivalente a"] # 0xea53 (en: 'not geometrically equivalent to', google translation)
- - "": [T: "no vert similar"] # 0xea54 (en: 'not vert similar', google translation)
- - "": [T: "no igual o similar"] # 0xea55 (en: 'not equal or similar', google translation)
- - "": [T: "no vert aproximado"] # 0xea56 (en: 'not vert approximate', google translation)
- - "": [T: "no aproximadamente idéntico a"] # 0xea57 (en: 'not approximately identical to', google translation)
- - "": [T: "no bump igual"] # 0xea58 (en: 'not bumpy equals', google translation)
- - "": [T: "ni un solo bumpy igual a"] # 0xea59 (en: 'not bumpy single equals', google translation)
- - "": [T: "no punto igual"] # 0xea5a (en: 'not equal dot', google translation)
- - "": [T: "inverso no equivalente"] # 0xea5b (en: 'reverse not equivalent', google translation)
- - "": [T: "no subconjunto cuadrado"] # 0xea60 (en: 'not square subset', google translation)
- - "": [T: "no superconjunto cuadrado"] # 0xea61 (en: 'not square superset', google translation)
- - "": [T: "no casi igual sobre igual"] # 0xea62 (en: 'not almost equal over equal', google translation)
- - "": [T: "no estrictamente equivalente a"] # 0xea63 (en: 'not strictly equivalent to', google translation)
- - "": [T: "no congruente punto"] # 0xea64 (en: 'not congruent dot', google translation)
- - "": [T: "reverso no es igual"] # 0xea65 (en: 'reverse not equal', google translation)
- - "": [T: "no vert triángulo izquierdo es igual a"] # 0xea70 (en: 'not vert left triangle equals', google translation)
- - "": [T: "no vert triángulo recto es igual a"] # 0xea71 (en: 'not vert right triangle equals', google translation)
- - "": [T: "no parcial"] # 0xea80 (en: 'not partial', google translation)
- - "": [T: "extensor de adornos de flecha"] # 0xeb00 (en: 'arrow embellishment extender', google translation)
- - "": [T: "flecha hacia la derecha sobre flecha hacia la izquierda"] # 0xeb01 (en: 'arrow rightwards over arrow leftwards', google translation)
- - "": [T: "flecha hacia la derecha sobre flecha hacia la izquierda"] # 0xeb02 (en: 'arrow rightwards over arrow leftwards', google translation)
- - "": [T: "arpón a la derecha sobre arpón a la izquierda"] # 0xeb03 (en: 'harpoon right over harpoon left', google translation)
- - "": [T: "arpón a la derecha sobre arpón a la izquierda"] # 0xeb04 (en: 'harpoon right over harpoon left', google translation)
- - "": [T: "doble flecha al nordeste desde el sudoeste"] # 0xeb05 (en: 'double arrow northeast southwest', google translation)
- - "": [T: "doble flecha al noroeste desde el sudeste"] # 0xeb06 (en: 'double arrow northwest southeast', google translation)
- - "": [T: "extensor de arpón horizontal"] # 0xeb07 (en: 'horizontal harpoon extender', google translation)
- - "": [T: "arco en sentido contrario a las agujas del reloj a la izquierda de flecha"] # 0xeb08 (en: 'anticlockwise arc leftwards arrow', google translation)
- - "": [T: "arco en sentido contrario a las agujas del reloj a la derecha de flecha"] # 0xeb09 (en: 'anticlockwise arc rightwards arrow', google translation)
- - "": [T: "acento con flecha grande hacia la derecha"] # 0xeb0b (en: 'large rightwards arrow accent', google translation)
- - "": [T: "acento con flecha grande hacia la izquierda"] # 0xeb0c (en: 'large leftwards arrow accent', google translation)
- - "": [T: "punta de flecha hacia la izquierda"] # 0xeb0d (en: 'leftwards arrowhead', google translation)
- - "": [T: "punta de flecha hacia la derecha"] # 0xeb0e (en: 'rightwards arrowhead', google translation)
- - "": [T: "gran flecha derecha izquierda con trazo"] # 0xeb0f (en: 'large left right arrow with stroke', google translation)
- - "": [T: "extensor de flecha doble horizontal"] # 0xeb10 (en: 'horizontal double arrow extender', google translation)
- - "": [T: "gran flecha doble izquierda derecha con trazo"] # 0xeb11 (en: 'large left right double arrow with stroke', google translation)
- - "": [T: "flecha hacia abajo y hacia la izquierda de flecha hacia arriba"] # 0xeb12 (en: 'downwards arrow leftwards of upwards arrow', google translation)
- - "⇵": [T: "flecha hacia arriba y a la derecha de flecha hacia abajo"] # 0x21f5 (en: 'downwards arrow leftwards of upwards arrow')
- - "": [T: "flecha hacia la izquierda con la esquina hacia abajo"] # 0xeb13 (en: 'leftwards arrow with corner downwards', google translation)
- - "": [T: "flecha hacia la derecha con la esquina hacia arriba"] # 0xeb14 (en: 'rightwards arrow with corner upwards', google translation)
- - "": [T: "flecha hacia la izquierda con la esquina hacia arriba"] # 0xeb15 (en: 'leftwards arrow with corner upwards', google translation)
- - "": [T: "flecha superior semicircular en sentido contrario a las agujas del reloj con signo más"] # 0xeb16 (en: 'anticlockwise top semicircle arrow with plus', google translation)
- - "⤽": [T: "flecha superior semicircular en sentido contrario a las agujas del reloj con signo más"] # 0x293d (en: 'anticlockwise top semicircle arrow with plus')
- - "": [T: "flecha superior semicircular en sentido a las agujas del reloj con signo menos"] # 0xeb17 (en: 'clockwise top semicircle arrow with minus', google translation)
- - "⤼": [T: "flecha superior semicircular en sentido a las agujas del reloj con signo menos"] # 0x293c (en: 'clockwise top semicircle arrow with minus')
- - "": [T: "flecha hacia la derecha con cola con trazo"] # 0xeb18 (en: 'rightwards arrow with tail with stroke', google translation)
- - "": [T: "arpón derecho hacia abajo"] # 0xeb19 (en: 'right harpoon down', google translation)
- - "": [T: "arpón izquierdo hacia abajo"] # 0xeb1a (en: 'left harpoon down', google translation)
- - "": [T: "arpón derecho izquierdo hacia abajo"] # 0xeb1b (en: 'left right harpoon down', google translation)
- - "⥐": [T: "arpón derecho izquierdo hacia abajo"] # 0x2950 (en: 'left right harpoon down', MathPlayer: 'arpón inferior derecha-izquierda', google: 'arpón derecho izquierdo hacia abajo')
- - "": [T: "arpón derecho izquierdo hacia arriba"] # 0xeb1c (en: 'left right harpoon up', google translation)
- - "⥎": [T: "arpón izquierdo derecho hacia arriba"] # 0x294e (en: 'left right harpoon up', MathPlayer: 'arpón superior derecha-izquierda', google: 'arpón derecho izquierdo hacia arriba')
- - "": [T: "arpón izquierdo arriba y abajo"] # 0xeb1d (en: 'up down harpoon left', google translation)
- - "⥑": [T: "arpón izquierdo arriba y abajo"] # 0x2951 (en: 'up down harpoon left')
- - "": [T: "arpón derecho arriba y abajo"] # 0xeb1e (en: 'up down harpoon right', google translation)
- - "⥏": [T: "arpón derecho arriba y abajo"] # 0x294f (en: 'up down harpoon right')
- - "": [T: "flecha hacia arriba a la derecha de flecha hacia abajo"] # 0xeb1f (en: 'upwards arrow to the right of downwards arrow', google translation)
- - "⇵": [T: "flecha hacia arriba a la derecha de flecha hacia abajo"] # 0x21f5
- - "": [T: "arpón hacia la izquierda a barra con punta hacia arriba"] # 0xeb20 (en: 'leftwards harpoon to bar with barb upwards', google translation)
- - "⥒": [T: "arpón hacia la izquierda a barra con punta hacia arriba"] # 0x2952 (en: 'leftwards harpoon to bar with barb upwards', MathPlayer: 'leftwards harpoon to bar with barb upwards', google: 'arpón de la izquierda para bar con barb hacia arriba')
- - "": [T: "arpón hacia la derecha a barra con punta hacia arriba"] # 0xeb21 (en: 'rightwards harpoon to bar with barb upwards', google translation)
- - "⥓": [T: "arpón hacia la derechaa a barra con punta hacia arriba"] # 0x2953 (en: 'rightwards harpoon to bar with barb upwards', MathPlayer: 'rightwards harpoon to bar with barb upwards', google: 'arpoon a la derecha para bar con barb hacia arriba')
- - "": [T: "arpón hacia la izquierda a barra con punta hacia abajo"] # 0xeb22 (en: 'leftwards harpoon to bar with barb downwards', google translation)
- - "⥖": [T: "arpón hacia la izquierda a barra con punta hacia abajo"] # 0x2956 (en: 'leftwards harpoon to bar with barb downwards', MathPlayer: 'leftwards harpoon to bar with barb downwards', google: 'arpoon hacia la izquierda para bar con barb hacia abajo')
- - "": [T: "arpón hacia la derecha a barra con punta hacia abajo"] # 0xeb23 (en: 'rightwards harpoon to bar with barb downwards', google translation)
- - "⥗": [T: "arpón hacia la derecha a barra con punta hacia abajo"] # 0x2957 (en: 'rightwards harpoon to bar with barb downwards', MathPlayer: 'rightwards harpoon to bar with barb downwards', google: 'arpoon a la derecha para bar con barb hacia abajo')
- - "": [T: "arpón hacia la izquierda partiendo de barra con punta hacia arriba"] # 0xeb24 (en: 'leftwards harpoon from bar with barb upwards', google translation)
- - "⥚": [T: "arpón hacia la izquierda partiendo d barra con punta hacia arriba"] # 0x295a (en: 'leftwards harpoon from bar with barb upwards', MathPlayer: 'leftwards harpoon from bar with barb upwards', google: 'arpón de la izquierda desde el bar con barb al alza')
- - "": [T: "arpón hacia la derecha partiendo de barra con punta hacia arriba"] # 0xeb25 (en: 'rightwards harpoon from bar with barb upwards', google translation)
- - "⥛": [T: "arpón hacia la derecha partiendo de barra con punta hacia arriba"] # 0x295b (en: 'rightwards harpoon from bar with barb upwards', MathPlayer: 'rightwards harpoon from bar with barb upwards', google: 'arpoon a la derecha desde el bar con barb al alza')
- - "": [T: "arpón hacia la izquierda partiendo de barra con punta hacia abajo"] # 0xeb26 (en: 'leftwards harpoon from bar with barb downwards', google translation)
- - "⥞": [T: "arpón hacia la izquierda partiendo de barra con punta hacia abajo"] # 0x295e (en: 'leftwards harpoon from bar with barb downwards', MathPlayer: 'leftwards harpoon from bar with barb downwards', google: 'arpón de la izquierda desde el bar con barb hacia abajo')
- - "": [T: "arpón hacia la derecha partiendo de barra con punta hacia abajo"] # 0xeb27 (en: 'rightwards harpoon from bar with barb downwards', google translation)
- - "⥟": [T: "arpón hacia la derecha partiendo de barra con punta hacia abajo"] # 0x295f (en: 'rightwards harpoon from bar with barb downwards', MathPlayer: 'rightwards harpoon from bar with barb downwards', google: 'arpoon a la derecha desde el bar con barb hacia abajo')
- - "": [T: "arpón hacia arriba a barra con punta a la izquierda"] # 0xeb28 (en: 'upwards harpoon to bar with barb leftwards', google translation)
- - "⥘": [T: "arpón hacia arriba a barra con púa a la izquierda"] # 0x2958 (en: 'upwards harpoon to bar with barb leftwards', MathPlayer: 'upwards harpoon to bar with barb leftwards', google: 'hace arriba hacia arriba para bar con barb a la izquierda')
- - "": [T: "arpón hacia abajo a barra con punta hacia la izquierda"] # 0xeb29 (en: 'downwards harpoon to bar with barb leftwards', google translation)
- - "⥙": [T: "arpón hacia abajo a barra con punta hacia la izquierda"] # 0x2959 (en: 'downwards harpoon to bar with barb leftwards', MathPlayer: 'downwards harpoon to bar with barb leftwards', google: 'harpoon hacia abajo para bar con barb a la izquierda')
- - "": [T: "arpón hacia arriba a barra con punta hacia la derecha"] # 0xeb2a (en: 'upwards harpoon to bar with barb rightwards', google translation)
- - "⥔": [T: "arpón hacia arriba a barra con punta hacia la derecha"] # 0x2954 (en: 'upwards harpoon to bar with barb rightwards', MathPlayer: 'upwards harpoon to bar with barb rightwards', google: 'hace arriba hacia arriba para bar con barb a la derecha')
- - "": [T: "arpón hacia abajo a barra con punta hacia la derecha"] # 0xeb2b (en: 'downwards harpoon to bar with barb rightwards', google translation)
- - "⥕": [T: "arpón hacia abajo a barra con punta hacia la derecha"] # 0x2955 (en: 'downwards harpoon to bar with barb rightwards', MathPlayer: 'downwards harpoon to bar with barb rightwards', google: 'harpoon hacia abajo para bar con barb a la derecha')
- - "": [T: "arpón hacia harriba partiendo de barra con punta hacia la izquierda"] # 0xeb2c (en: 'upwards harpoon from bar with barb leftwards', google translation)
- - "⥠": [T: "arpón hacia arriba partiendo de barra con punta hacia la izquierda"] # 0x2960 (en: 'upwards harpoon from bar with barb leftwards', MathPlayer: 'upwards harpoon from bar with barb leftwards', google: 'hacia arriba hacia arriba desde el bar con barb a la izquierda')
- - "": [T: "arpón hacia abajo partiendo de barra con punta hacia la izquierda"] # 0xeb2d (en: 'downwards harpoon from bar with barb leftwards', google translation)
- - "⥡": [T: "arpón hacia abajo partiendo de barra con punta hacia la izquierda"] # 0x2961 (en: 'downwards harpoon from bar with barb leftwards', MathPlayer: 'downwards harpoon from bar with barb leftwards', google: 'hosto hacia abajo de bar con barb a la izquierda')
- - "": [T: "arpón hacia arriba partiendo de barra con punta hacia la derecha"] # 0xeb2e (en: 'upwards harpoon from bar with barb rightwards', google translation)
- - "⥜": [T: "arpón hacia arriba partiendo de barra con punta hacia la derecha"] # 0x295c (en: 'upwards harpoon from bar with barb rightwards', MathPlayer: 'upwards harpoon from bar with barb rightwards', google: 'hace arriba hacia arriba desde el bar con barb a la derecha')
- - "": [T: "arpón hacia abajo partiendo de barra con punta hacia la derecha"] # 0xeb2f (en: 'downwards harpoon from bar with barb rightwards', google translation)
- - "⥝": [T: "arpón hacia abajo partiendo de barra con punta hacia la derecha"] # 0x295d (en: 'downwards harpoon from bar with barb rightwards', MathPlayer: 'downwards harpoon from bar with barb rightwards', google: 'hosto hacia abajo desde el bar con barb a la derecha')
- - "": [T: "flecha hacia arriba a barra"] # 0xeb30 (en: 'upwards arrow to bar', google translation)
- - "⤒": [T: "flecha hacia arriba a barra"] # 0x2912
- - "": [T: "flecha hacia abajo a barra"] # 0xeb31 (en: 'downwards arrow to bar', google translation)
- - "⤓": [T: "flecha hacia abajo a barra"] # 0x2913
- - "": [T: "arpón hacia arriba a la izquierda de arpón hacia abajo"] # 0xeb32 (en: 'upwards harpoon to the left of downwards harpoon', google translation)
- - "⥮": [T: "arpón hacia arriba a la izquierda de arpón hacia abajo"] # 0x296e (en: 'upwards harpoon to the left of downwards harpoon', MathPlayer: 'upwards harpoon to the left of downwards harpoon', google: 'hacia arriba harpoon a la izquierda de la arpón hacia abajo')
- - "": [T: "arpón hacia arriba a la derecha de arpón hacia abajo"] # 0xeb33 (en: 'upwards harpoon to the right of downwards harpoon', google translation)
- - "⥯": [T: "arpón hacia arriba a la derecha de arpón hacia abajo"] # 0x296f (en: 'upwards harpoon to the right of downwards harpoon', MathPlayer: 'upwards harpoon to the right of downwards harpoon', google: 'hacia arriba hacia arriba a la derecha de la arpón hacia abajo')
- - "": [T: "punta de flecha hacia arriba"] # 0xeb34 (en: 'upwards arrowhead', google translation)
- - "": [T: "punta de flecha hacia abajo"] # 0xeb35 (en: 'downwards arrowhead', google translation)
- - "": [T: "doble arpón con punta hacia abajo a la izquierda y punta hacia arriba a la derecha"] # 0xeb36 (en: 'double harpoon with leftwards barb down rightwards barb up', google translation)
- - "": [T: "doble arpón con punta hacia arriba a la izquierda y con punta hacia abajo a la derecha"] # 0xeb37 (en: 'double harpoon with leftwards barb up rightwards barb down', google translation)
- - "": [T: "flecha hacia la izquierda sobre barra"] # 0xeb38 (en: 'leftwards arrow over bar', google translation)
- - "": [T: "flecha hacia la derecha sobre barra"] # 0xeb39 (en: 'rightwards arrow over bar', google translation)
- - "": [T: "flecha hacia la izquierda debajo de barra"] # 0xeb3a (en: 'leftwards arrow under bar', google translation)
- - "": [T: "flecha hacia la derecha debajo de barra"] # 0xeb3b (en: 'rightwards arrow under bar', google translation)
- - "": [T: "triple flecha derecha e izquierda"] # 0xeb3c (en: 'left right triple arrow', google translation)
- - "": [T: "doble flecha nordeste sudeste"] # 0xeb3f (en: 'double arrow northeast southeast', google translation)
- - "": [T: "flecha semicircular izquierda en sentido contrario a las agujas del reloj"] # 0xeb40 (en: 'anticlockwise left semicircle arrow', google translation)
- - "⤹": [T: "flecha semicircular izquierda en sentido contrario a las agujas del reloj"] # 0x2939 (en: 'anticlockwise left semicircle arrow')
- - "": [T: "flecha semicircular izquierda en sentido a las agujas del reloj"] # 0xeb41 (en: 'clockwise left semicircle arrow', google translation)
- - "": [T: "círculo abierto izquierdo flecha derecha izquierda"] # 0xeb42 (en: 'left open circle left right arrow', google translation)
- - "": [T: "flecha hacia la derecha sobre tilde"] # 0xeb44 (en: 'rightwards arrow over tilde', google translation)
- - "⥴": [T: "flecha hacia la derecha sobre tilde"] # 0x2974 (en: 'rightwards arrow over tilde')
- - "": [T: "flecha hacia la izquierda sobre tilde"] # 0xeb45 (en: 'leftwards arrow over tilde', google translation)
- - "⥳": [T: "flecha hacia la derecha sobre tilde"] # 0x2973 (en: 'leftwards arrow over tilde')
- - "": [T: "arpón hacia la izquierda sobre barra"] # 0xeb48 (en: 'leftwards harpoon over bar', google translation)
- - "⥪": [T: "arpón hacia la izquierda sobre barra"] # 0x296a (en: 'leftwards harpoon over bar')
- - "": [T: "arpón hacia la derecha sobre barra"] # 0xeb49 (en: 'rightwards harpoon over bar', google translation)
- - "⥬": [T: "arpón hacia la derecha sobre barra"] # 0x296c (en: 'rightwards harpoon over bar')
- - "": [T: "arpón hacia la izquierda debajo de barra"] # 0xeb4a (en: 'leftwards harpoon under bar', google translation)
- - "⥫": [T: "arpón hacia la izquierda debajo de barra"] # 0x296b (en: 'leftwards harpoon under bar')
- - "": [T: "arpón hacia la derecha debajo de barra"] # 0xeb4b (en: 'rightwards harpoon under bar', google translation)
- - "⥭": [T: "arpón hacia la derecha debajo de barra"] # 0x296d (en: 'rightwards harpoon under bar')
- - "": [T: "flecha corta negra hacia la izquierda"] # 0xeb4c (en: 'squat black leftwards arrow', google translation)
- - "": [T: "flecha semicircular derecha en sentido a las agujas del reloj"] # 0xeb50 (en: 'clockwise right semicircle arrow', google translation)
- - "⤸": [T: "flecha semicircular derecha en sentido a las agujas del relojt"] # 0x2938 (en: 'clockwise right semicircle arrow')
- - "": [T: "flecha semicircular derecha en sentido contrario a las agujas del reloj"] # 0xeb51 (en: 'anticlockwise right semicircle arrow', google translation)
- - "": [T: "círculo abierto izquierdo arpón izquierdo derecho"] # 0xeb52 (en: 'left open circle left right harpoon', google translation)
- - "": [T: "flecha hacia arriba y hacia la izquierda de barra vertical"] # 0xeb58 (en: 'upwards arrow leftwards of vertical bar', google translation)
- - "": [T: "flecha hacia abajo hacia la izquierda de barra vertical"] # 0xeb59 (en: 'downwards arrow leftwards of vertical bar', google translation)
- - "": [T: "flecha hacia arriba hacia la derecha de barra vertical"] # 0xeb5a (en: 'upwards arrow rightwards of vertical bar', google translation)
- - "": [T: "flecha hacia abajo hacia la derecha de barra vertical"] # 0xeb5b (en: 'downwards arrow rightwards of vertical bar', google translation)
- - "": [T: "flecha hacia la derecha con garfio hacia abajo extendido"] # 0xeb5c (en: 'rightwards arrow with extended downwards hook', google translation)
- - "": [T: "flecha hacia la izquierda con gancho extendido"] # 0xeb5d (en: 'leftwards arrow with extended hook', google translation)
- - "": [T: "flecha hacia la izquierda con gancho hacia abajo extendido"] # 0xeb5e (en: 'leftwards arrow with extended downwards hook', google translation)
- - "": [T: "flecha hacia la derecha con garfio extendido"] # 0xeb5f (en: 'rightwards arrow with extended hook', google translation)
- - "": [T: "no flecha derecha ondulada"] # 0xeb60 (en: 'not right arrow wavy', google translation)
- - "": [T: "no flecha derecha curva"] # 0xeb61 (en: 'not right arrow curved', google translation)
- - "": [T: "arpón hacia arriba hacia la izquierda de barra vertical"] # 0xeb68 (en: 'upwards harpoon leftwards of vertical bar', google translation)
- - "": [T: "arpoon hacia abajo hacia la izquierda de barra vertical"] # 0xeb69 (en: 'downwards harpoon leftwards of vertical bar', google translation)
- - "": [T: "arpón hacia arriba hacia la derecha de barra vertical"] # 0xeb6a (en: 'upwards harpoon rightwards of vertical bar', google translation)
- - "": [T: "arpón hacia abajo hacia la derecha de barra vertical"] # 0xeb6b (en: 'downwards harpoon rightwards of vertical bar', google translation)
- - "": [T: "extensor de flecha doble vertical"] # 0xeb6c (en: 'vertical double arrow extender', google translation)
- - "": [T: "arpón vertical con extensor de punta izquierda"] # 0xeb6d (en: 'vertical harpoon with barb left extender', google translation)
- - "": [T: "arpón vertical con extensor de punta derecha"] # 0xeb6e (en: 'vertical harpoon with barb right extender', google translation)
- - "": [T: "arpón derecho sobre arpón izquierdo a la derecha"] # 0xeb6f (en: 'right harpoon over left harpoon right', google translation)
- - "": [T: "arpón derecho sobre arpón izquierdo a la izquierda"] # 0xeb70 (en: 'right harpoon over left harpoon left', google translation)
- - "": [T: "arpón izquierdo sobre arpón derecho a la derecha"] # 0xeb71 (en: 'left harpoon over right harpoon right', google translation)
- - "": [T: "arpón izquierdo sobre arpón derecho a la izquierda"] # 0xeb72 (en: 'left harpoon over right harpoon left', google translation)
- - "": [T: "flecha hacia la izquierda partiendo de punta de flecha de barra"] # 0xeb73 (en: 'leftwards arrow from bar arrowhead', google translation)
- - "": [T: "flecha hacia la izquierda y derecha partiendo de extensor de barra"] # 0xeb74 (en: 'leftwards rightwards arrow from bar extender', google translation)
- - "": [T: "flecha hacia la izquierda partiendo de cola de barra"] # 0xeb75 (en: 'leftwards arrow from bar tail', google translation)
- - "": [T: "flecha hacia la derecha partiendo de cola de barra"] # 0xeb76 (en: 'rightwards arrow from bar tail', google translation)
- - "": [T: "flecha hacia la derecha partiendo de punta de flecha de barra"] # 0xeb77 (en: 'rightwards arrow from bar arrowhead', google translation)
- - "": [T: "arpón hacia arriba partiendo de barra punzante con punta de flecha hacia la izquierda"] # 0xeb78 (en: 'upwards harpoon from bar with barb leftwards arrowhead', google translation)
- - "": [T: "flecha hacia la derecha sobre flecha derecha hacia la izquierda"] # 0xeb79 (en: 'rightwards arrow over leftwards arrow right', google translation)
- - "": [T: "flecha derecha sobre flecha izquierda hacia la izquierda"] # 0xeb7a (en: 'rightwards arrow over leftwards arrow left', google translation)
- - "": [T: "flecha hacia la izquierda sobre flecha derecha hacia la derecha"] # 0xeb7b (en: 'leftwards arrow over rightwards arrow right', google translation)
- - "": [T: "flecha hacia la izquierda sobre flecha derecha hacia la izquierda"] # 0xeb7c (en: 'leftwards arrow over rightwards arrow left', google translation)
- - "": [T: "flecha hacia arriba partiendo de punta de flecha de barra"] # 0xeb7d (en: 'upwards arrow from bar arrowhead', google translation)
- - "": [T: "flecha hacia arriba partiendo de la cola de la barra"] # 0xeb7e (en: 'upwards arrow from bar tail', google translation)
- - "": [T: "flecha hacia abajo partiendo de la cola de la barra"] # 0xeb7f (en: 'downwards arrow from bar tail', google translation)
- - "": [T: "flecha hacia abajo partiendo de la punta de flecha de la barra"] # 0xeb80 (en: 'downwards arrow from bar arrowhead', google translation)
- - "": [T: "arpón hacia abajo partiendo de punta de flecha derecha de barra punzante"] # 0xeb81 (en: 'downwards harpoon from bar with barb rightwards arrowhead', google translation)
- - "": [T: "arpón hacia arriba a la izquierda del fondo del arpón hacia abajo"] # 0xeb82 (en: 'upwards harpoon to the left of downwards harpoon bottom', google translation)
- - "": [T: "arpón hacia arriba a la izquierda de extensor de arpón hacia abajo"] # 0xeb83 (en: 'upwards harpoon to the left of downwards harpoon extender', google translation)
- - "": [T: "arpón hacia abajo a la izquierda de parte superior de arpón hacia arriba"] # 0xeb84 (en: 'downwards harpoon to the left of upwards harpoon top', google translation)
- - "": [T: "arpón hacia arriba a la izquierda de parte superior de arpón hacia abajo"] # 0xeb85 (en: 'upwards harpoon to the left of downwards harpoon top', google translation)
- - "": [T: "arpón hacia abajo a la izquierda de extensor de arpón hacia arriba"] # 0xeb86 (en: 'downwards harpoon to the left of the upwards harpoon extender', google translation)
- - "": [T: "arpón hacia arriba a la izquierda de parte inferior d arpón hacia abajo"] # 0xeb87 (en: 'downwards harpoon to the left of the upwards harpoon bottom', google translation)
- - "": [T: "flecha hacia arriba hacia la izquierda del fondo de flecha hacia abajo"] # 0xeb88 (en: 'upwards arrow leftwards of downwards arrow bottom', google translation)
- - "": [T: "flecha hacia abajo hacia la izquierda de la parte superiorde flecha hacia arriba"] # 0xeb89 (en: 'downwards arrow leftwards of upwards arrow top', google translation)
- - "": [T: "flecha hacia arriba hacia la izquierda de la parte superior de flecha hacia abajo"] # 0xeb8a (en: 'upwards arrow leftwards of downwards arrow top', google translation)
- - "": [T: "flecha hacia abajo hacia la izquierda de la parte inferior de flecha hacia arriba"] # 0xeb8b (en: 'downwards arrow leftwards of upwards arrow bottom', google translation)
- - "": [T: "extensor de flechas hacia izquierda y derecha"] # 0xeb8c (en: 'leftwards rightwards arrows extender', google translation)
- - "": [T: "extensor de flecha nordeste"] # 0xeb8d (google translation)
- - "": [T: "extensor de flecha noroeste"] # 0xeb8e (google translation)
- - "": [T: "paréntesis izquierdo apuntando hacia abajo"] # 0xec00 (en: 'down pointing brace left', google translation)
- - "": [T: "paréntesis medio apuntando hacia abajo"] # 0xec01 (google translation)
- - "": [T: "paréntesis derecho apuntando hacia abajo"] # 0xec02 (en: 'down pointing brace right', google translation)
- - "": [T: "extensor de paréntesis horizontal"] # 0xec03 (en: 'horizontal brace extender', google translation)
- - "": [T: "paréntesis izquierdo apuntando hacia arriba"] # 0xec04 (en: 'up pointing brace left', google translation)
- - "": [T: "paréntesis medio apuntando hacia arriba"] # 0xec05 (en: 'up pointing brace mid', google translation)
- - "": [T: "paréntesis derecho apuntando hacia arriba"] # 0xec06 (en: 'up-pointing brace right', google translation)
- - "": [T: "barra vertical izquierda"] # 0xec07 (en: 'left vertical bar', google translation)
- - "": [T: "barra vertical derecha"] # 0xec08 (en: 'right vertical bar', google translation)
- - "": [T: "doble barra vertical izquierda"] # 0xec09 (en: 'left double vertical bar', google translation)
- - "": [T: "doble barra vertical derecha"] # 0xec0a (en: 'right double vertical bar', google translation)
- - "": [T: "extensor de soporte horizontal"] # 0xec0b (en: 'horizontal bracket extender', google translation)
- - "": [T: "debajo de corchete"] # 0xec0c (en: 'under square bracket', google translation)
- - "⎵": [T: "debajo de corchete"] # 0x23b5 (en: 'under square bracket')
- - "": [T: "encima de corchete"] # 0xec0d (en: 'over square bracket', google translation)
- - "⎴": [T: "encima de corchete"] # 0x23b4 (en: 'over square bracket')
- - "": [T: "debajo de paréntesis izquierdo"] # 0xec0e (en: 'under bracket left', google translation)
- - "": [T: "debajo de paréntesis derecho"] # 0xec0f (en: 'under bracket right', google translation)
- - "": [T: "sobre paréntesis izquierdo"] # 0xec10 (en: 'over bracket left', google translation)
- - "": [T: "encima de paréntesis derecho"] # 0xec11 (en: 'over bracket right', google translation)
- - "": [T: "abrir paréntesis 1"] # 0xec12 (en: 'left parens 1', google translation)
- - "": [T: "abrir paréntesis 2"] # 0xec13 (en: 'left parens 2', google translation)
- - "": [T: "abrir paréntesis 3"] # 0xec14 (en: 'left parens 3', google translation)
- - "": [T: "abrir paréntesis 4"] # 0xec15 (en: 'left parens 4', google translation)
- - "": [T: "cerrar paréntesis 1"] # 0xec16 (en: 'right parens 1', google translation)
- - "": [T: "cerrar paréntesis 2"] # 0xec17 (en: 'right parens 2', google translation)
- - "": [T: "cerrar paréntesis 3"] # 0xec18 (en: 'right parens 3', google translation)
- - "": [T: "cerrar paréntesis 4"] # 0xec19 (en: 'right parens 4', google translation)
- - "": [T: "radical 1"] # 0xec1a (google translation)
- - "": [T: "radical 2"] # 0xec1b (google translation)
- - "": [T: "radical 3"] # 0xec1c (google translation)
- - "": [T: "radical 4"] # 0xec1d (google translation)
- - "": [T: "radical 5"] # 0xec1e (google translation)
- - "": [T: "radical inferior"] # 0xec1f (en: 'radical bottom', google translation)
- - "": [T: "extensor de radical vertical"] # 0xec20 (en: 'radical vertical extender', google translation)
- - "": [T: "radical superior"] # 0xec21 (en: 'radical top', google translation)
- - "": [T: "soporte blanco izquierdo superior"] # 0xec22 (en: 'left white bracket top', google translation)
- - "": [T: "extensor de soporte blanco izquierdo"] # 0xec23 (en: 'left white bracket extender', google translation)
- - "": [T: "soporte blanco izquierdo inferior"] # 0xec24 (en: 'left white bracket bottom', google translation)
- - "": [T: "soporte blanco derecho superior"] # 0xec25 (en: 'right white bracket top', google translation)
- - "": [T: "extensor de soporte blanco derecho"] # 0xec26 (en: 'right white bracket extender', google translation)
- - "": [T: "soporte blanco derecho inferior"] # 0xec27 (en: 'right white bracket bottom', google translation)
- - "": [T: "soporte blanco izquierdo rotacional"] # 0xec30 (en: 'left white curly bracket', google translation)
- - "": [T: "soporte blanco derecho rotacional"] # 0xec31 (en: 'right white curly bracket', google translation)
- - "": [T: "signo de división largo"] # 0xec32 (google translation)
- - "": [T: "extensor de signo de división largo"] # 0xec33 (en: 'long division sign extender', google translation)
- - "": [T: "división corta"] # 0xec34 (en: 'short division', google translation)
- - "": [T: "doble sudoeste al nordeste unión em"] # 0xec40 (en: 'double southwest to northeast em bond', google translation)
- - "": [T: "doble noroeste al sudeste unión em"] # 0xec41 (en: 'double northwest to southeast em bond', google translation)
- - "": [T: "enlace em horizontal único"] # 0xec42 (en: 'single horizontal em bond', google translation)
- - "": [T: "doble enlace em horizontal"] # 0xec43 (en: 'double horizontal em bond', google translation)
- - "": [T: "triple enlace em horizontal"] # 0xec44 (en: 'triple horizontal em bond', google translation)
- - "": [T: "enlace em único vertical"] # 0xec45 (en: 'single vertical em bond', google translation)
- - "": [T: "doble enlace em vertical"] # 0xec46 (en: 'double vertical em bond', google translation)
- - "": [T: "triple enlace em vertical"] # 0xec47 (en: 'triple vertical em bond', google translation)
- - "": [T: "menr que enlace em"] # 0xec48 (en: 'less than em bond', google translation)
- - "": [T: "mayor que enlace em"] # 0xec49 (en: 'greater than em bond', google translation)
- - "": [T: "enlace único horizontal"] # 0xec4a (en: 'single horizontal en bond', google translation)
- - "": [T: "doble enlace horizontal en"] # 0xec4b (en: 'double horizontal en bond', google translation)
- - "": [T: "triple enlace horizontal en"] # 0xec4c (en: 'triple horizontal en bond', google translation)
- - "": [T: "rectángulo superior izquierdo"] # 0xec80 (en: 'top left rectangle', google translation)
- - "": [T: "rectángulo inferior izquierdo"] # 0xec81 (en: 'bottom left rectangle', google translation)
- - "": [T: "rectángulo superior derecho"] # 0xec90 (en: 'top right rectangle', google translation)
- - "": [T: "rectángulo inferior derecho"] # 0xec91 (en: 'bottom right rectangle', google translation)
- - "": [T: "intersección de división sintética"] # 0xec92 (en: 'synthetic division corner', google translation)
- - "": [T: "extensor horizontal de división sintética"] # 0xec93 (en: 'synthetic division horizontal extender', google translation)
- - "": [T: "extensor vertical de división sintética"] # 0xec94 (en: 'synthetic division vertical extender', google translation)
- - "": [T: "extensor de límite izquierdo del fondo"] # 0xec95 (en: 'left ceiling floor extender', google translation)
- - "": [T: "extensor de límite derecho del fondo"] # 0xec96 (en: 'right ceiling floor extender', google translation)
- - "": [T: "por encima de extensor de soporte"] # 0xec97 (en: 'over bracket extender', google translation)
- - "": [T: "extensor de barra vertical"] # 0xec98 (en: 'vertical bar extender', google translation)
- - "": [T: "extensor de barra vertical doble izquierda"] # 0xec99 (en: 'left double vertical bar extender', google translation)
- - "": [T: "extensor de barra horizontal"] # 0xec9a (en: 'horizontal bar extender', google translation)
- - "": [T: "debajo de extensor de soporte"] # 0xec9c (en: 'under bracket extender', google translation)
- - "": [T: "apuntando hacia abajo de paréntesis derecho"] # 0xec9d (en: 'down pointing paren right', google translation)
- - "": [T: "apuntando hacia abajo de extensor de paréntesis"] # 0xec9e (en: 'down pointing paren extender', google translation)
- - "": [T: "apuntando hacia abajo de paréntesis izquierdo"] # 0xec9f (en: 'down pointing paren left', google translation)
- - "": [T: "apuntando hacia arriba de extensor de paréntesis"] # 0xeca0 (en: 'up pointing brace extender', google translation)
- - "": [T: "apuntando hacia arriba de paréntesis de izquierda"] # 0xeca1 (en: 'up pointing paren left', google translation)
- - "": [T: "apuntando hacia arriba de extensor de paréntesis"] # 0xeca2 (en: 'up pointing paren extender', google translation)
- - "": [T: "apuntando hacia arriba de paréntesis derecho"] # 0xeca3 (en: 'up pointing paren right', google translation)
- - "": [T: "apuntando hacia abajo de extensor de paréntesis"] # 0xeca4 (google translation)
- - "": [T: "constante de Planck sobre dos barras pi"] # 0xed00 (en: 'planck constant over two pi bar', google translation)
- - "": [T: "espejo g"] # 0xed01 (en: 'mirror g', google translation)
- - "": [T: "j sin puntos"] # 0xed02 (google translation)
- - "": [T: "digamma"] # 0xed03 (google translation)
- - "ϝ": [T: "digamma"] # 0x3dd
- - "": [T: "d"] # 0xed10 (en: 'd', google translation)
- - "": [T: "e"] # 0xed11 (en: 'e', google translation)
- - "": [T: "i"] # 0xed12 (en: 'i', google translation)
- - "": [T: "j"] # 0xed13 (en: 'j', google translation)
- - "ⅅ":
- - spell: "translate('.', 'ⅅ', 'DD')" # 0xed16, 0x2145
-
-# The private use chars are efrom MathType
- - "": [T: "bucle integral de contorno en sentido contrario a las agujas del reloj"] # 0xee00 (en: 'anticlockwise contour integral loop', google translation)
- - "": [T: "bucle integral de contorno en sentido de las agujas del reloj"] # 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: "ornamentación de estatus conjunto"] # 0xee0d (en: 'joint status embellishment', google translation)
- - "": [T: "ornamentación de estatus conjunto"] # 0xee0e (en: 'joint status embellishment left', google translation)
- - "": [T: "ornamentación derecha de estatus conjunto"] # 0xee0f (en: 'joint status embellishment right', google translation)
- - "": [T: "extensión de ornamentos de estatus conjunto"] # 0xee10 (en: 'joint status embellishment extender', google translation)
- - "": [T: "bucle integral"] # 0xee11 (en: 'integral loop', google translation)
- - "": [T: "doble bucle integral"] # 0xee12 (en: 'integral loop double', google translation)
- - "": [T: "triple bucle integral"] # 0xee13 (en: 'integral loop triple', google translation)
- - "": [T: "doble expansión de bucle integral"] # 0xee15 (en: 'expanding integral loop double', google translation)
- - "": [T: "triple expansión de bucle integral"] # 0xee16 (en: 'expanding integral loop triple', google translation)
- - "": [T: "asintóticamente igual al acento"] # 0xee17 (en: 'asymptotically equal to accent', google translation)
- - "": [T: "signo igual a acetno"] # 0xee18 (en: 'equal sign accent', google translation)
- - "": [T: "prima cuádruple"] # 0xee19 (en: 'quadruple prime', google translation)
- - "⁗": [T: "prima cuádruple"] # 0x2057 (en: 'quadruple prime', MathPlayer: 'cuarta', google: 'prime cuádruple')
- - "": [T: "acento de barra con círculo abierto izquierdo"] # 0xee1a (en: 'bar accent with open circle left', google translation)
- - "": [T: "acento de barra con círculo cerrado izquierdo"] # 0xee1b (en: 'bar accent with closed circle left', google translation)
- - "": [T: "acento de barra con círculo abierto derecho"] # 0xee1c (en: 'bar accent with open circle right', google translation)
- - "": [T: "acento de barra con punto encima"] # 0xee1d (en: 'bar accent with over dot', google translation)
- - "": [T: "acento de barra con punto debajo"] # 0xee1e (en: 'bar accent with under dot', google translation)
- - "": [T: "acento de barra con doble punto encima"] # 0xee1f (en: 'bar accent with double over dot', google translation)
- - "": [T: "acento de barra con doble punto debajo"] # 0xee20 (en: 'bar accent with double under dot', google translation)
- - "": [T: "acento de barra con signo de intercalación"] # 0xee21 (en: 'bar accent with caret', google translation)
- - "": [T: "marcado debajo de acento de barra"] # 0xee22 (en: 'thick under bar accent', google translation)
- - "": [T: "acento de barra con círculo cerrado a la derecha"] # 0xee23 (en: 'bar accent with closed circle right', google translation)
- - "": [T: "gran punto arriba"] # 0xee24 (en: 'large dot above', google translation)
- - "": [T: "marca de alineación"] # 0xef00 (en: 'alignment mark', google translation)
- - "": [t: ""] # 0xef01
- - "": [t: ""] # 0x200b
- - "": [t: ""] # 0xef02
- - " ": [t: ""] # 0x2009
- - "": [t: ""] # 0xef03
- - " ": [t: ""] # 0x205f
- - "": [t: ""] # 0xef04
- - "": [t: ""] # 0xef05
- - " ": [t: ""] # 0x2003
- - "": [t: ""] # 0xef06
- - "": [t: ""] # 0xef07
- - "": [t: ""] # 0xef08
- - "": [t: ""] # 0xef09
- - "": [t: ""] # 0xef0a
- - " ": [t: ""] # 0x200a
- - "": [t: ""] # 0xef22
- - "": [t: ""] # 0xef23
- - "": [t: ""] # 0xef24
- - "": [t: ""] # 0xef29
- - "": [T: "término ausente"] # 0xef41 (en: 'missing term', google translation)
- - "": [T: "flecha integral de contorno en sentido de las agujas del reloj a la izquierda"] # 0xef80 (en: 'clockwise contour integral arrow on left', google translation)
- - "": [T: "integral con cuadrado"] # 0xef81 (en: 'integral with square', google translation)
- - "": [T: "integral con barra cortada"] # 0xef82 (en: 'integral with slash', google translation)
- - "": [T: "integral invertida"] # 0xef83 (en: 'reversed integral', google translation)
- - "": [T: "doble cero sobre doble cero"] # 0xef90 (en: 'double zero over double zero', google translation)
- - "": [T: "cero con barra cortada"] # 0xef91 (en: 'zero with slash', google translation)
-
- # 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: "fraktur" # (google translation)
- - spell: "translate('.', '𝔄𝔅𝔇𝔈𝔉𝔊𝔍𝔎𝔏𝔐𝔑𝔒𝔓𝔔𝔖𝔗𝔘𝔙𝔚𝔛𝔜', 'ABCDEFGHIJKLMNOPQRSTUVWXY')"
-
- - "-": # 0xf000 - 0xf018
- - T: "fraktur" # (google translation)
- - spell: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXY')"
-
- - "𝔞-𝔷": # 0x1d51e - 0x1d537
- - T: "fraktur" # (google translation)
- - spell: "translate('.', '𝔞𝔟𝔠𝔡𝔢𝔣𝔤𝔥𝔦𝔧𝔨𝔩𝔪𝔫𝔬𝔭𝔮𝔯𝔰𝔱𝔲𝔳𝔴𝔵𝔶𝔷', 'abcdefghijklmnopqrstuvwxyz')"
- - "-": # 0xf01a - 0xf033
- - T: "fraktur" # (google translation)
- - spell: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "𝕬-𝖅": # 0x1D56C - 0x1D585
- - T: "fraktur bold" # (google translation)
- - spell: "translate('.', '𝕬𝕭𝕮𝕯𝕰𝕱𝕲𝕳𝕴𝕵𝕶𝕷𝕸𝕹𝕺𝕻𝕼𝕽𝕾𝕿𝖀𝖁𝖂𝖃𝖄𝖅', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "-": # 0xf040 - 0xf059
- - T: "fraktur bold" # (google translation)
- - spell: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "𝖆-𝖟": # 0x1d586 - 0x1d59f
- - T: "fraktur bold" # (google translation)
- - spell: "translate('.', '𝖆𝖇𝖈𝖉𝖊𝖋𝖌𝖍𝖎𝖏𝖐𝖑𝖒𝖓𝖔𝖕𝖖𝖗𝖘𝖙𝖚𝖛𝖜𝖝𝖞𝖟', 'abcdefghijklmnopqrstuvwxyz')"
- - "-": # 0xf05a - 0xf073
- - T: "fraktur bold" # (google translation)
- - 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)
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "doble tachadura"] # (en: 'double struck', google translation)
- - spell: "translate('.', '𝔸𝔹𝔻𝔼𝔽𝔾𝕀𝕁𝕂𝕃𝕄𝕆𝕊𝕋𝕌𝕍𝕎𝕏𝕐', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "-": # 0xf080 - 0xf098
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "doble tachadura"] # (en: 'double struck', google translation)
- - spell: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "𝕒-𝕫": # 0x1d552 - 0x1d56b
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "doble tachadura"] # (en: 'double struck', google translation)
- - spell: "translate('.', '𝕒𝕓𝕔𝕕𝕖𝕗𝕘𝕙𝕚𝕛𝕜𝕝𝕞𝕟𝕠𝕡𝕢𝕣𝕤𝕥𝕦𝕧𝕨𝕩𝕪𝕫', 'abcdefghijklmnopqrstuvwxyz')"
- - "-": # 0xf09a - 0xf0b3
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "doble tachadura"] # (en: 'double struck', google translation)
- - spell: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
- - "𝟘-𝟡": # 0x1d7d8 - 0x1d7e1
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "doble tachadura"] # (en: 'double struck', google translation)
- - spell: "translate('.', '𝟘𝟙𝟚𝟛𝟜𝟝𝟞𝟟𝟠𝟡', '0123456789')"
- - "-": # 0xf0c0 - 0xf0c9
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "doble tachadura"] # (en: 'double struck', google translation)
- - spell: "translate('.', '', '0123456789')"
-
- - "": [T: "doble nabla tachada"] # 0xf0ca (en: 'double struck nabla', google translation)
- - "": [T: "doble constante de Euler tachada"] # 0xf0cb (en: 'double struck euler constant', google translation)
-
- # script chars in math alphabetic block and also MathType private use area
- - "𝒜-𝒵": # 0x1d49c - 0x1d4b5
- - T: "guión" # (en: 'script', google translation)
- - spell: "translate('.', '𝒜𝒞𝒟𝒢𝒥𝒦𝒩𝒪𝒫𝒬𝒮𝒯𝒰𝒱𝒲𝒳𝒴𝒵', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "-": # 0xf100 - 0xf119
- - T: "guión" # (en: 'script', google translation)
- - spell: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "𝒶-𝓏": # 0x1d4b6 - 0x1d4cf
- - T: "guión" # (en: 'script', google translation)
- - spell: "translate('.', '𝒶𝒷𝒸𝒹𝒻𝒽𝒾𝒿𝓀𝓁𝓂𝓃𝓅𝓆𝓇𝓈𝓉𝓊𝓋𝓌𝓍𝓎𝓏', 'abcdefghijklmnopqrstuvwxyz')"
- - "-": # 0xf11a - 0xf133
- - T: "guión" # (en: 'script', google translation)
- - spell: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
-
- # bold script chars in math alphabetic block and also MathType private use area
- - "𝓐-𝓩": # 0x1d4d0 - 0x1d4e9
- - T: "guión en negrita" # (en: 'script bold', google translation)
- - spell: "translate('.', '𝓐𝓑𝓒𝓓𝓔𝓕𝓖𝓗𝓘𝓙𝓚𝓛𝓜𝓝𝓞𝓟𝓠𝓡𝓢𝓣𝓤𝓥𝓦𝓧𝓨𝓩', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "-": # 0xf140 - 0xf159
- - T: "guión en negrita" # (en: 'script bold', google translation)
- - spell: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "𝓪-𝔃": # 0x1d4ea - 0x1d503
- - T: "guión en negrita" # (en: 'script bold', google translation)
- - spell: "translate('.', '𝓪𝓫𝓬𝓭𝓮𝓯𝓰𝓱𝓲𝓳𝓴𝓵𝓶𝓷𝓸𝓹𝓺𝓻𝓼𝓽𝓾𝓿𝔀𝔁𝔂𝔃', 'abcdefghijklmnopqrstuvwxyz')"
- - "-": # 0xf15a - 0xf173
- - T: "guión en negrita" # (en: 'script bold', google translation)
- - spell: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "-": # 0xf180 - 0xf199
- - spell: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "": # 0xf19a
- - 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: "mayúscula"] # (en: 'cap', google translation)
- else: [x: "$SpeechOverrides_CapitalLetters"]
- - pitch:
- value: "$CapitalLetters_Pitch"
- replace: [T: "ligadura ae"] # (en: 'ligature ae', google translation)
- - "": # 0xf19b
- - 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: "mayúscula"] # (en: 'cap', google translation)
- else: [x: "$SpeechOverrides_CapitalLetters"]
- - pitch:
- value: "$CapitalLetters_Pitch"
- replace: [T: "s puntiaguda"] # (en: 'sharp s', google translation)
- - "": # 0xf19c
- - 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: "mayúscula"] # (en: 'cap', google translation)
- else: [x: "$SpeechOverrides_CapitalLetters"]
- - pitch:
- value: "$CapitalLetters_Pitch"
- replace: [T: "o con trazo"] # (en: 'o with stroke', google translation)
-
- # MathType only has a few of the cap Greek letters in PUA
- - "": # 0xf201 - 0xf209
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "doble tachadura"] # (en: 'double struck', google translation)
- - spell: "translate('.', '', 'ΔΨΛΠΣΘΓΩΥ')"
-
- - "-": # 0xf220 - 0xf236
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "doble tachadura"] # (en: 'double struck', google translation)
- - spell: "translate('.', '', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
-
- - "": [T: "doble tachadura en sigma final"] # 0xf237 (en: 'double struck final sigma', google translation)
- - "": [T: "doble tachadura en rho"] # 0xf250 (en: 'double struck rho', google translation)
- - "": [T: "doble tachadura en phi"] # 0xf251 (en: 'double struck phi', google translation)
- - "𝐀-𝐙": # 0x1d400 - 0x1d419
- - T: "negrita" # (en: 'bold', google translation)
- - spell: "translate('.', '𝐀𝐁𝐂𝐃𝐄𝐅𝐆𝐇𝐈𝐉𝐊𝐋𝐌𝐍𝐎𝐏𝐐𝐑𝐒𝐓𝐔𝐕𝐖𝐗𝐘𝐙', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "-": # 0xf260 - 0xf279
- - T: "negrita" # (en: 'bold', google translation)
- - spell: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "𝐚-𝐳": # 0x1d41a - 0x1d433
- - T: "negrita" # (en: 'bold', google translation)
- - spell: "translate('.', '𝐚𝐛𝐜𝐝𝐞𝐟𝐠𝐡𝐢𝐣𝐤𝐥𝐦𝐧𝐨𝐩𝐪𝐫𝐬𝐭𝐮𝐯𝐰𝐱𝐲𝐳', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "-": # 0xf27a - 0xf293
- - T: "negrita" # (en: 'bold', google translation)
- - spell: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "𝐴-𝑍": # 0x1d434 - 0x1d44d
- - spell: "translate('.', '𝐴𝐵𝐶𝐷𝐸𝐹𝐺𝐻𝐼𝐽𝐾𝐿𝑀𝑁𝑂𝑃𝑄𝑅𝑆𝑇𝑈𝑉𝑊𝑋𝑌𝑍', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "-": # 0xf294 - 0xf2ad
- - spell: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "𝑎-𝑧": # 0x1d44e - 0x1d467
- - spell: "translate('.', '𝑎𝑏𝑐𝑑𝑒𝑓𝑔𝑖𝑗𝑘𝑙𝑚𝑛𝑜𝑝𝑞𝑟𝑠𝑡𝑢𝑣𝑤𝑥𝑦𝑧', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "-": # 0xf2ae - 0xf2c7
- - spell: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "𝑨-𝒁": # 0x1d468 - 0x1d481
- # - T: "negrita cursiva"
- - T: "negrita" # (en: 'bold', google translation)
- - spell: "translate('.', '𝑨𝑩𝑪𝑫𝑬𝑭𝑮𝑯𝑰𝑱𝑲𝑳𝑴𝑵𝑶𝑷𝑸𝑹𝑺𝑻𝑼𝑽𝑾𝑿𝒀𝒁', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "-": # 0xf2c8 - 0xf2e1
- # - T: "negrita cursiva"
- - T: "negrita" # (en: 'bold', google translation)
- - spell: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "𝒂-𝒛": # 0x1d482 - 0x1d49b
- # - T: "negrita cursiva"
- - T: "negrita" # (en: 'bold', google translation)
- - spell: "translate('.', '𝒂𝒃𝒄𝒅𝒆𝒇𝒈𝒉𝒊𝒋𝒌𝒍𝒎𝒏𝒐𝒑𝒒𝒓𝒔𝒕𝒖𝒗𝒘𝒙𝒚𝒛', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "-": # 0xf2e2 - 0xf2fb
- # - T: "negrita cursiva" # (en: 'bold', google translation)
- - spell: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "𝖠-𝖹": # 0x1d5a0 - 0x1d5b9
- - spell: "translate('.', '𝖠𝖡𝖢𝖣𝖤𝖥𝖦𝖧𝖨𝖩𝖪𝖫𝖬𝖭𝖮𝖯𝖰𝖱𝖲𝖳𝖴𝖵𝖶𝖷𝖸𝖹', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "-": # 0xf300 - 0xf319
- - spell: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "𝖺-𝗓": # 0x1d5ba - 0x1d5d3
- - spell: "translate('.', '𝖺𝖻𝖼𝖽𝖾𝖿𝗀𝗁𝗂𝗃𝗄𝗅𝗆𝗇𝗈𝗉𝗊𝗋𝗌𝗍𝗎𝗏𝗐𝗑𝗒𝗓', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "-": # 0xf31a - 0xf333
- - spell: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "𝗔-𝗭": # 0x1d5d4 - 0x1d5ed
- - T: "negrita" # (en: 'bold', google translation)
- - spell: "translate('.', '𝗔𝗕𝗖𝗗𝗘𝗙𝗚𝗛𝗜𝗝𝗞𝗟𝗠𝗡𝗢𝗣𝗤𝗥𝗦𝗧𝗨𝗩𝗪𝗫𝗬𝗭', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "-": # 0xf334 - 0xf34d
- - T: "negrita" # (en: 'bold', google translation)
- - spell: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "𝗮-𝘇": # 0x1d5ee - 0x1d607
- - T: "negrita" # (en: 'bold', google translation)
- - spell: "translate('.', '𝗮𝗯𝗰𝗱𝗲𝗳𝗴𝗵𝗶𝗷𝗸𝗹𝗺𝗻𝗼𝗽𝗾𝗿𝘀𝘁𝘂𝘃𝘄𝘅𝘆𝘇', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "-": # 0xf34e - 0xf367
- - T: "negrita" # (en: 'bold', google translation)
- - spell: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
- - "𝘈-𝘡": # 0x1d608 - 0x1d621
- # - T: "cursiva"
- - spell: "translate('.', '𝘈𝘉𝘊𝘋𝘌𝘍𝘎𝘏𝘐𝘑𝘒𝘓𝘔𝘕𝘖𝘗𝘘𝘙𝘚𝘛𝘜𝘝𝘞𝘟𝘠𝘡', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
- - "-": # 0xf368 - 0xf381
- # - T: "cursiva"
- - spell: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "𝘢-𝘻": # 0x1d622 - 0x1d63b
- # - T: "cursiva"
- - spell: "translate('.', '𝘢𝘣𝘤𝘥𝘦𝘧𝘨𝘩𝘪𝘫𝘬𝘭𝘮𝘯𝘰𝘱𝘲𝘳𝘴𝘵𝘶𝘷𝘸𝘹𝘺𝘻', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "-": # 0xf382 - 0xf39b
- # - T: "cursiva"
- - spell: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "𝘼-𝙕": # 0x1d63c - 0x1d655
- # - T: "negrita cursiva"
- - T: "negrita" # (en: 'bold', google translation)
- - spell: "translate('.', '𝘼𝘽𝘾𝘿𝙀𝙁𝙂𝙃𝙄𝙅𝙆𝙇𝙈𝙉𝙊𝙋𝙌𝙍𝙎𝙏𝙐𝙑𝙒𝙓𝙔𝙕', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "-": # 0xf39c - 0xf3b5
- # - T: "negrita cursiva"
- - T: "negrita" # (en: 'bold', google translation)
- - spell: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "𝙖-𝙯": # 0x1d656 - 0x1d66f
- # - T: "negrita cursiva"
- - T: "negrita" # (en: 'bold', google translation)
- - spell: "translate('.', '𝙖𝙗𝙘𝙙𝙚𝙛𝙜𝙝𝙞𝙟𝙠𝙡𝙢𝙣𝙤𝙥𝙦𝙧𝙨𝙩𝙪𝙫𝙬𝙭𝙮𝙯', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "-": # 0xf3b6 - 0xf3cf
- # - T: "negrita cursiva"
- - T: "negrita" # (en: 'bold', google translation)
- - spell: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "𝙰-𝚉": # 0x1d670 - 0x1d689
- - spell: "translate('.', '𝙰𝙱𝙲𝙳𝙴𝙵𝙶𝙷𝙸𝙹𝙺𝙻𝙼𝙽𝙾𝙿𝚀𝚁𝚂𝚃𝚄𝚅𝚆𝚇𝚈𝚉', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "-": # 0xf3d0 - 0xf3e9
- - spell: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "𝚊-𝚣": # 0x1d68a - 0x1d6a3
- - spell: "translate('.', '𝚊𝚋𝚌𝚍𝚎𝚏𝚐𝚑𝚒𝚓𝚔𝚕𝚖𝚗𝚘𝚙𝚚𝚛𝚜𝚝𝚞𝚟𝚠𝚡𝚢𝚣', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "-": # 0xf3ea - 0xf403
- - spell: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "": [T: "i sin punto"] # 0xf404 (google translation)
- - "𝚤": [T: "ci cursiva sin punto"] # 0x1d6a4 (en: 'dotless i', google: 'dotless i')
- - "𝚥": [T: "j cursiva sin punto"] # 0x1d6a5 (en: 'dotless j', google: 'dotless j')
-
- - "𝚨-𝛀": # 0x1d6a8 - 0x1d6c0
- - T: "j cursiva sin punto" # (en: 'bold', google: 'atrevido')
- - spell: "translate('.', '𝚨𝚩𝚪𝚫𝚬𝚭𝚮𝚯𝚰𝚱𝚲𝚳𝚴𝚵𝚶𝚷𝚸𝚹𝚺𝚻𝚼𝚽𝚾𝚿𝛀', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
-
- - "-": # 0xf408 - 0xf420
- - T: "j cursiva sin punto" # (en: 'bold', google: 'atrevido')
- - spell: "translate('.', '', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
-
- - "𝛂-𝛚": # 0x1d6c2 - 0x1d6da
- - T: "j cursiva sin punto" # (en: 'bold', google: 'atrevido')
- - spell: "translate('.', '𝛂𝛃𝛄𝛅𝛆𝛇𝛈𝛉𝛊𝛋𝛌𝛍𝛎𝛏𝛐𝛑𝛒𝛓𝛔𝛕𝛖𝛗𝛘𝛙𝛚', 'αβγδεζηθικλμνξοπρςστυφχψω')"
-
- - "-": # 0xf422 - 0xf43a
- - T: "j cursiva sin punto" # (en: 'bold', google: 'atrevido')
- - spell: "translate('.', '', 'αβγδεζηθικλμνξοπρςστυφχψω')"
-
- - "": [T: "nabla en negrita"] # 0xf421 (google translation)
- - "𝛁": [T: "nabla en negrita"] # 0x1d6c1 (google translation)
-
- - "𝛛𝛜𝛝𝛞𝛟𝛠𝛡": # 0x1D6DB - 0x1D6E1
- - T: "negrita" # (en: 'bold', google translation)
- - spell: "translate('.', '𝛛𝛜𝛝𝛞𝛟𝛠𝛡', '∂εθκφρπ')"
-
- - "": # 0xF43C - 0xF441
- - T: "negrita" # (en: 'bold', google translation)
- - spell: "translate('.', '', '∂εθκφρπ')"
-
- - "𝛢-𝛺": # 0x1d6e2 - 0x1d6fa
- # - T: "cursiva"
- - spell: "translate('.', '𝛢𝛣𝛤𝛥𝛦𝛧𝛨𝛩𝛪𝛫𝛬𝛭𝛮𝛯𝛰𝛱𝛲𝛳𝛴𝛵𝛶𝛷𝛸𝛹𝛺', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
-
- - "-": # 0xf442 - 0xf45a
- # - T: "cursiva"
- - spell: "translate('.', '', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
-
- - "𝛼-𝜔": # 0x1d6fc - 0x1d714
- # - T: "cursiva"
- - spell: "translate('.', '𝛼𝛽𝛾𝛿𝜀𝜁𝜂𝜃𝜄𝜅𝜆𝜇𝜈𝜉𝜊𝜋𝜌𝜍𝜎𝜏𝜐𝜑𝜒𝜓𝜔', 'αβγδεζηθικλμνξοπρςστυφχψω')"
-
- - "-": # 0xf45c - 0xf474
- # - T: "cursiva"
- - spell: "translate('.', '', 'αβγδεζηθικλμνξοπρςστυφχψω')"
-
- - "": [T: "nabla en cursiva"] # 0xf45b (en: 'italic nabla', google translation)
- - "𝛻": [T: "nabla en cursiva"] # 0x1d6fb (en: 'italic nabla', google translation)
-
- - "𝜕𝜖𝜗𝜘𝜙𝜚𝜛": # 0x1d715 - 0x1d71b
- # - T: "cursiva"
- - spell: "translate('.', '𝜕𝜖𝜗𝜘𝜙𝜚𝜛', '∂εθκφρπ')"
-
- - "": # 0xf475 - 0xf47b
- # - T: "cursiva"
- - spell: "translate('.', '', '∂εθκφρπ')"
-
- - "𝜜-𝜴": # 0x1d71c - 0x1d734
- # - T: "negrita cursiva"
- - T: "negrita" # (en: 'bold', google translation)
- - spell: "translate('.', '𝜜𝜝𝜞𝜟𝜠𝜡𝜢𝜣𝜤𝜥𝜦𝜧𝜨𝜩𝜪𝜫𝜬𝜭𝜮𝜯𝜰𝜱𝜲𝜳𝜴', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
-
- - "-": # 0xf47c - 0xf494
- # - T: "negrita cursiva"
- - T: "negrita" # (en: 'bold', google translation)
- - spell: "translate('.', '', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
-
- - "𝜶-𝝎": # 0x1d736 - 0x1d74e
- # - T: "negrita cursiva"
- - T: "negrita" # (en: 'bold', google translation)
- - spell: "translate('.', '𝜶𝜷𝜸𝜹𝜺𝜻𝜼𝜽𝜾𝜿𝝀𝝁𝝂𝝃𝝄𝝅𝝆𝝇𝝈𝝉𝝊𝝋𝝌𝝍𝝎', 'αβγδεζηθικλμνξοπρςστυφχψω')"
-
- - "-": # 0xf496 - 0xf4ae
- # - T: "negrita cursiva"
- - T: "negrita" # (en: 'bold', google translation)
- - spell: "translate('.', '', 'αβγδεζηθικλμνξοπρςστυφχψω')"
-
- - "𝝏𝝐𝝑𝝒𝝓𝝔𝝕": # 0x1d74f - 0x1d755
- # - T: "negrita cursiva"
- - T: "negrita" # (en: 'bold', google translation)
- - spell: "translate('.', '𝝏𝝐𝝑𝝒𝝓𝝔𝝕', '∂εθκφρπ')"
-
- - "": # 0xf422 - 0xf43a
- # - T: "negrita cursiva"
- - T: "negrita" # (en: 'bold', google translation)
- - spell: "translate('.', '', '∂εθκφρπ')"
-
- - "𝜵": [T: "nabla en cursiva y negrita"] # 0x1d735 (en: 'bold italic nabla', google translation)
- - "": [T: "nabla en cursiva y negrita"] # 0xf495 (en: 'bold italic nabla', google translation)
-
- - "𝝖-𝝮": # 0x1d756 - 0x1d76e
- - T: "negrita" # (en: 'bold', google translation)
- - spell: "translate('.', '𝝖𝝗𝝘𝝙𝝚𝝛𝝜𝝝𝝞𝝟𝝠𝝡𝝢𝝣𝝤𝝥𝝦𝝧𝝨𝝩𝝪𝝫𝝬𝝭𝝮', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
- - "-": # 0xf4b6 - 0xf4ce
- - T: "negrita" # (en: 'bold', google translation)
- - spell: "translate('.', '', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
-
- - "𝝰-𝞈": # 0x1d770 - 0x1d788
- - T: "negrita" # (en: 'bold', google translation)
- - spell: "translate('.', '𝝰𝝱𝝲𝝳𝝴𝝵𝝶𝝷𝝸𝝹𝝺𝝻𝝼𝝽𝝾𝝿𝞀𝞁𝞂𝞃𝞄𝞅𝞆𝞇𝞈', 'αβγδεζηθικλμνξοπρςστυφχψω')"
-
- - "-": # 0xf4d0 - 0xf4e8
- - T: "negrita" # (en: 'bold', google translation)
- - spell: "translate('.', '', 'αβγδεζηθικλμνξοπρςστυφχψω')"
-
- - "𝞉𝞊𝞋𝞌𝞍𝞎𝞏": # 0x1d789 - 0x1d78f
- - T: "negrita" # (en: 'bold', google translation)
- - spell: "translate('.', '𝞉𝞊𝞋𝞌𝞍𝞎𝞏', '∂εθκφρπ')"
-
- - "": # 0xf4e9 - 0xf4ef
- - T: "negrita" # (en: 'bold', google translation)
- - spell: "translate('.', '', '∂εθκφρπ')"
-
- - "": [T: "nabla en negrita"] # 0xf4cf (google translation)
- - "𝝯": [T: "nabla en negrita"] # 0x1d76f (google translation)
-
- - "𝞐-𝞨": # 0x1d790 - 0x1d7a8
- # - T: "negrita cursiva"
- - T: "negrita" # (en: 'bold', google translation)
- - spell: "translate('.', '𝞐𝞑𝞒𝞓𝞔𝞕𝞖𝞗𝞘𝞙𝞚𝞛𝞜𝞝𝞞𝞟𝞠𝞡𝞢𝞣𝞤𝞥𝞦𝞧𝞨', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
-
- - "-": # 0xf4f0 - 0xf508
- # - T: "negrita cursiva"
- - T: "negrita" # (en: 'bold', google translation)
- - spell: "translate('.', '', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
-
- - "𝞪-𝟂": # 0x1d7aa - 0x1d7c2
- # - T: "negrita cursiva"
- - T: "negrita" # (en: 'bold', google translation)
- - spell: "translate('.', '𝞪𝞫𝞬𝞭𝞮𝞯𝞰𝞱𝞲𝞳𝞴𝞵𝞶𝞷𝞸𝞹𝞺𝞻𝞼𝞽𝞾𝞿𝟀𝟁𝟂', 'αβγδεζηθικλμνξοπρςστυφχψω')"
-
- - "-": # 0xf50a - 0xf522
- # - T: "negrita cursiva"
- - T: "negrita" # (en: 'bold', google translation)
- - spell: "translate('.', '', 'αβγδεζηθικλμνξοπρςστυφχψω')"
-
- - "𝟃𝟄𝟅𝟆𝟇𝟈𝟉": # 0x1d7c3 - 0x1d7c9
- # - T: "negrita cursiva"
- - T: "negrita" # (en: 'bold', google translation)
- - spell: "translate('.', '𝟃𝟄𝟅𝟆𝟇𝟈𝟉', '∂εθκφρπ')"
-
- - "": # 0xf523 - 0xf529
- # - T: "negrita cursiva"
- - T: "negrita" # (en: 'bold', google translation)
- - spell: "translate('.', '', '∂εθκφρπ')"
-
- - "": [T: "nabla en negrita"] # 0xf509 (google translation)
- - "𝞩": [T: "nabla en negrita"] # 0x1d7a9 (google translation)
-
- - "": [T: "cero en negrita"] # 0xf52e (en: 'bold zero', google translation)
- - "𝟎": [T: "cero en negrita"] # 0x1d7ce (en: 'bold zero', google translation)
- - "": [T: "uno en negrita"] # 0xf52f (en: 'bold one', google translation)
- - "𝟏": [T: "negrita"] # 0x1d7cf (en: 'bold one', google translation)
- - "": [T: "dos en negrita"] # 0xf530 (en: 'bold two', google translation)
- - "𝟐": [T: "dos en negrita"] # 0x1d7d0 (en: 'bold two', google translation)
- - "": [T: "tres en negrita"] # 0xf531 (en: 'bold three', google translation)
- - "𝟑": [T: "tres en negrita"] # 0x1d7d1 (en: 'bold three', google translation)
- - "": [T: "cuatro en negrita"] # 0xf532 (en: 'bold four', google translation)
- - "𝟒": [T: "bold en negrita"] # 0x1d7d2 (en: 'bold four', google translation)
- - "": [T: "cinco en negrita"] # 0xf533 (en: 'bold five', google translation)
- - "𝟓": [T: "cinco en negrita"] # 0x1d7d3 (en: 'bold five', google translation)
- - "": [T: "seis en negrita"] # 0xf534 (en: 'bold six', google translation)
- - "𝟔": [T: "seis en negrita"] # 0x1d7d4 (en: 'bold six', google translation)
- - "": [T: "siete en negrita"] # 0xf535 (en: 'bold seven', google translation)
- - "𝟕": [T: "siete en negrita"] # 0x1d7d5 (en: 'bold seven', google translation)
- - "": [T: "ocho en negrita"] # 0xf536 (en: 'bold eight', google translation)
- - "𝟖": [T: "ocho en negrita"] # 0x1d7d6 (en: 'bold eight', google translation)
- - "": [T: "nueve en negrita"] # 0xf537 (en: 'bold nine', google translation)
- - "𝟗": [T: "nueve en negrita"] # 0x1d7d7 (en: 'bold nine', google translation)
- - "": [T: "cero"] # 0xf542 (en: 'zero', google translation)
- - "𝟢": [T: "cero"] # 0x1d7e2 (en: 'zero', google translation)
- - "": [T: "uno"] # 0x1d7e3 (en: 'one', google translation)
- - "": [T: "dos"] # 0xf544 (en: 'two', google translation)
- - "𝟤": [T: "dos"] # 0x1d7e4 (en: 'two', google translation)
- - "": [T: "tres"] # 0xf545 (en: 'three', google translation)
- - "𝟥": [T: "tres"] # 0x1d7e5 (en: 'three', google translation)
- - "": [T: "cuatro"] # 0xf546 (en: 'four', google translation)
- - "𝟦": [T: "cuatro"] # 0x1d7e6 (en: 'four', google translation)
- - "": [T: "cinco"] # 0xf547 (en: 'five', google translation)
- - "𝟧": [T: "cinco"] # 0x1d7e7 (en: 'five', google translation)
- - "": [T: "seis"] # 0xf548 (en: 'six', google translation)
- - "𝟨": [T: "seis"] # 0x1d7e8 (en: 'six', google translation)
- - "": [T: "siete"] # 0xf549 (en: 'seven', google translation)
- - "𝟩": [T: "siete"] # 0x1d7e9 (en: 'seven', google translation)
- - "": [T: "ocho"] # 0xf54a (en: 'eight', google translation)
- - "𝟪": [T: "ocho"] # 0x1d7ea (en: 'eight', google translation)
- - "": [T: "nueve"] # 0xf54b (en: 'nine', google translation)
- - "𝟫": [T: "nueve"] # 0x1d7eb (en: 'nine', google translation)
- - "": [T: "cero en negrita"] # 0xf54c (en: 'bold zero', google translation)
- - "𝟬": [T: "cero en negrita"] # 0x1d7ec (en: 'bold zero', google translation)
- - "": [T: "uno en negrita"] # 0xf54d (en: 'bold one', google translation)
- - "𝟭": [T: "uno en negrita"] # 0x1d7ed (en: 'bold one', google translation)
- - "": [T: "dos en negrita"] # 0xf54e (en: 'bold two', google translation)
- - "𝟮": [T: "dos en negrita"] # 0x1d7ee (en: 'bold two', google translation)
- - "": [T: "tres en negrita"] # 0xf54f (en: 'bold three', google translation)
- - "𝟯": [T: "tres en negrita"] # 0x1d7ef (en: 'bold three', google translation)
- - "": [T: "cuatro en negrita"] # 0xf550 (en: 'bold four', google translation)
- - "𝟰": [T: "bold en negrita"] # 0x1d7f0 (en: 'bold four', google translation)
- - "": [T: "cinco en negrita"] # 0xf551 (en: 'bold five', google translation)
- - "𝟱": [T: "bcinco en negrita"] # 0x1d7f1 (en: 'bold five', google translation)
- - "": [T: "seis negrita"] # 0xf552 (en: 'bold six', google translation)
- - "𝟲": [T: "seis negrita"] # 0x1d7f2 (en: 'bold six', google translation)
- - "": [T: "siete negrita"] # 0xf553 (en: 'bold seven', google translation)
- - "𝟳": [T: "siete en negrita"] # 0x1d7f3 (en: 'bold seven', google translation)
- - "": [T: "ocho en negrita"] # 0xf554 (en: 'bold eight', google translation)
- - "𝟴": [T: "ocho en negrita"] # 0x1d7f4 (en: 'bold eight', google translation)
- - "": [T: "nueve en negrita"] # 0xf555 (en: 'bold nine', google translation)
- - "𝟵": [T: "nueve en negrita"] # 0x1d7f5 (en: 'bold nine', google translation)
- - "": [T: "cero"] # 0xf556 (en: 'zero', google translation)
- - "𝟶": [T: "cero"] # 0x1d7f6 (en: 'zero', google translation)
- - "": [T: "uno"] # 0xf557 (en: 'one', google translation)
- - "𝟷": [T: "uno"] # 0x1d7f7 (en: 'one', google translation)
- - "": [T: "dos"] # 0xf558 (en: 'two', google translation)
- - "𝟸": [T: "dos"] # 0x1d7f8 (en: 'two', google translation)
- - "": [T: "tres"] # 0xf559 (en: 'three', google translation)
- - "𝟹": [T: "tres"] # 0x1d7f9 (en: 'three', google translation)
- - "": [T: "cuatro"] # 0xf55a (en: 'four', google translation)
- - "𝟺": [T: "cuatro"] # 0x1d7fa (en: 'four', google translation)
- - "": [T: "cinco"] # 0xf55b (en: 'five', google translation)
- - "𝟻": [T: "cinco"] # 0x1d7fb (en: 'five', google translation)
- - "": [T: "seis"] # 0xf55c (en: 'six', google translation)
- - "𝟼": [T: "seis"] # 0x1d7fc (en: 'six', google translation)
- - "": [T: "siete"] # 0xf55d (en: 'seven', google translation)
- - "𝟽": [T: "siete"] # 0x1d7fd (en: 'seven', google translation)
- - "": [T: "ocho"] # 0xf55e (en: 'eight', google translation)
- - "𝟾": [T: "ocho"] # 0x1d7fe (en: 'eight', google translation)
- - "": [T: "nueve"] # 0xf55f (en: 'nine', google translation)
- - "𝟿": [T: "nueve"] # 0x1d7ff (en: 'nine', google translation)
- - "": [T: "carácter desconocido"] # 0xf700 (en: 'unknown character', google translation)
- - "": [T: "triángulos inferior derecho e inferior izquierdo"] # 0xf726 (en: 'lower right and lower left triangles', google translation)
- - "": [T: "extensor de puntos suspensivos horizontales"] # 0xf72d (en: 'horizontal ellipsis extender', google translation)
- - "": [T: "extensor de puntos suspensivos de línea media horizontal"] # 0xf72e (en: 'midline horizontal ellipsis extender', google translation)
- - "": [T: "extensor radical"] # 0xf8e5 (en: 'radical extender', google translation)
- - "": [T: "extensor de flecha vertical"] # 0xf8e6 (en: 'vertical arrow extender', google translation)
- - "": [T: "extensor de flecha horizontal"] # 0xf8e7 (en: 'horizontal arrow extender', google translation)
- - "": [T: "señal registrada sans serif"] # 0xf8e8 (en: 'registered sign sans serif', google translation)
- - "": [T: "copyright sign sans serif"] # 0xf8e9 (google translation)
- - "": [T: "signo de marca comercial sans serif"] # 0xf8ea (en: 'trade mark sign sans serif', google translation)
- - "": [T: "paréntesis superior izquierdo"] # 0xf8eb (en: 'left paren top', google translation)
- - "": [T: "extensor de paréntesis izquierdo"] # 0xf8ec (en: 'left paren extender', google translation)
- - "": [T: "paréntesis izquierdo inferior"] # 0xf8ed (en: 'left paren bottom', google translation)
- - "": [T: "soporte izquierdo superior"] # 0xf8ee (en: 'left bracket top', google translation)
- - "": [T: "extensor de soporte izquierdo"] # 0xf8ef (en: 'left bracket extender', google translation)
- - "": [T: "soporte izquierdo inferior"] # 0xf8f0 (en: 'left bracket bottom', google translation)
- - "": [T: "soporte izquierdo superior"] # 0xf8f1 (en: 'left brace top', google translation)
- - "": [T: "soporte izquierdo medio"] # 0xf8f2 (en: 'left brace mid', google translation)
- - "": [T: "soporte izquierdo inferior"] # 0xf8f3 (en: 'left brace bottom', google translation)
- - "": [T: "extensor de soporte"] # 0xf8f4 (en: 'brace extender', google translation)
- - "": [T: "extensor integral"] # 0xf8f5 (en: 'integral extender', google translation)
- - "": [T: "paréntesis superior derecho"] # 0xf8f6 (en: 'right paren top', google translation)
- - "": [T: "extensor de paréntesis derecho"] # 0xf8f7 (en: 'right paren extender', google translation)
- - "": [T: "paréntesis inferior derecho"] # 0xf8f8 (en: 'right paren bottom', google translation)
- - "": [T: "soporte derecho superior"] # 0xf8f9 (en: 'right bracket top', google translation)
- - "": [T: "extensor de soporte derecho"] # 0xf8fa (en: 'right bracket extender', google translation)
- - "": [T: "soporte derecho inferior"] # 0xf8fc (en: 'right brace top', google translation)
- - "": [T: "soporte derecho medio"] # 0xf8fd (en: 'right brace mid', google translation)
- - "": [T: "soporte derecho inferior"] # 0xf8fe (en: 'right brace bottom', google translation)
- - "": [T: "logotipo de apple"] # 0xf8ff (en: 'apple logo', google translation)
- - "ff": [T: "ff ligadas"] # 0xfb00 (en: 'ff', google: 'ff')
- - "fi": [T: "fi ligadas"] # 0xfb01 (en: 'fi', google: 'f')
- - "fl": [T: "fl ligadas"] # 0xfb02 (en: 'fl', google: 'florida')
- - "ffi": [T: "ffl ligadas"] # 0xfb04 (en: 'ffl', google: 'ffl')
- - "ſt": [T: "pie"] # 0xfb05 (en: 'ft', google translation)
- - "st": [T: "calle"] # 0xfb06 (en: 'st', google translation)
- - "︠": [T: "mitad de ornamentación izquierda en ligadura"] # 0xfe20 (en: 'ligature left half embellishment', google translation)
- - "︡": [T: "mitad de ornamentación derecha en ligadura"] # 0xfe21 (en: 'ligature right half embellishment', google translation)
- - "︢": [T: "doble tilde con media ornamentación izquierda"] # 0xfe22 (en: 'double tilde left half embellishment', google translation)
- - "︣": [T: "doble tilde medio adorno"] # 0xfe23 (en: 'double tilde right half embellishment', google translation)
- - "︤": [T: "macron dejó medio adorno"] # 0xfe24 (en: 'macron left half embellishment', google translation)
- - "︥": [T: "macron medio adorno"] # 0xfe25 (en: 'macron right half embellishment', google translation)
- - "︦": [T: "unir el adorno de macron"] # 0xfe26 (en: 'conjoining macron embellishment', google translation)
- - "︵": [T: "paréntesis superior"] # 0xfe35 (en: 'over paren')
- - "︶": [T: "paréntesis inferior"] # 0xfe36 (en: 'under paren')
- - "︷": [T: "llave superior"] # 0xfe37 (en: 'over brace')
- - "︸": [T: "llave inferior"] # 0xfe38 (en: 'under brace')
- - "︿": [T: "paréntesis angular superior"] # 0xfe3f (en: 'over angle bracket')
- - "﹀": [T: "paréntesis angular inferior"] # 0xfe40 (en: 'under angle bracket')
- - "﹨": [T: "división entera"] # 0xfe68 (en: 'integer divide')
- - "": [T: "objeto desconocido o faltante"] # 0xfffc (en: 'unknown or missing object', google translation)
- - "�": [T: "caracter desconocido o faltante"] # 0xfffd (en: 'unknown or missing character', google: 'personaje desconocido o faltante')
-
+---
+
+ - "¤": [T: "moneda"] # 0xa4 (en: 'currency sign')
+ - "¥": [T: "yen"] # 0xa5
+ - "¦": [T: "barra vertical partida"] # 0xa6 (en: 'broken bar')
+ - "§": [T: "sección"] # 0xa7 (en: 'section')
+ - "¨": [T: "diéresis"] # 0xa8 (en: 'double dot')
+ - "©": [T: "copyright"] # 0xa9
+ - "ª": [T: "ordinal femenino"] # 0xaa (en: 'feminine ordinal indicator')
+ - "«": [T: "abrir comillas angulare"] # 0xab (en: 'left-pointing double angle quote mark', MathPlayer: 'abre comillas angulares', google: 'marca de cotización de doble ángulo de punta izquierda')
+ - "¯": # 0xaf
+ - test:
+ if: "ancestor::m:modified-variable and preceding-sibling::*[1][self::m:mi]"
+ then: [T: "barra"] # (google translation)
+ else: [T: "barra"] # (en: 'line')
+ - "²": [T: "al cuadrado"] # 0xb2 (en: 'two', MathPlayer: 'super 2', google: 'dos')
+ - "³": [T: "al cubo"] # 0xb3 (en: 'three', MathPlayer: 'super 3', google: 'tres')
+ - "µ": [T: "micro"] # 0xb5
+ - "¹": [T: "super 1"] # 0xb9 (en: 'one', google: 'uno')
+ - "º": [T: "ordinal masculino"] # 0xb9 (en: 'masculine ordinal indicator')
+ - "ʰ": [T: "modificador pequeño h"] # 0x2b0 (en: 'modifier small h', google translation)
+ - "ʱ": [T: "modificador pequeño h con gancho"] # 0x2b1 (en: 'modifier small h with hook', google translation)
+ - "ʲ": [T: "modificador pequeño j"] # 0x2b2 (en: 'modifier small j', google translation)
+ - "ʳ": [T: "modificador pequeño r"] # 0x2b3 (en: 'modifier small r', google translation)
+ - "ʴ": [T: "modificador pequeño girado r"] # 0x2b4 (en: 'modifier small turned r', google translation)
+ - "ʵ": [T: "modificador pequeño girado r con gancho"] # 0x2b5 (en: 'modifier small turned r with hook', google translation)
+ - "ʶ": # 0x2b6
+ - T: "modificador pequeño invertido" # (en: 'modifier small inverted', google translation)
+ - spell: "translate('R', 'R', 'R')"
+
+ - "ʷ": [T: "modificador pequeño w"] # 0x2b7 (en: 'modifier small w', google translation)
+ - "ʸ": [T: "modificador pequeño y"] # 0x2b8 (en: 'modifier small y', google translation)
+ - "ʹ": [T: "prima"] # 0x2b9 (en: 'modifier prime', google: 'modificador prime')
+ - "ʺ": [T: "dos prima"] # 0x2ba (en: 'modifier double prime', google: 'modificador doble prime')
+ - "ʻ": [T: "modificador girado por coma"] # 0x2bb (en: 'modifier turned comma', google translation)
+ - "ʼ": [T: "apóstrofo modificador"] # 0x2bc (en: 'modifier apostrophe', google translation)
+ - "ʽ": [T: "modificador de coma invertida"] # 0x2bd (en: 'modifier reversed comma', google translation)
+ - "ʾ": [T: "semianillo a la derecha"] # 0x2be (en: 'modifier right half ring', google: 'modificador de medio anillo derecho')
+ - "ʿ": [T: "semianillo a la izquierda"] # 0x2bf (en: 'modifier left half ring', google: 'modificador de medio anillo izquierdo')
+ - "ˀ": [T: "modificador de parada glótica"] # 0x2c0 (en: 'modifier glottal stop', google translation)
+ - "ˁ": [T: "modificador invertido de parada glótica"] # 0x2c1 (en: 'modifier reversed glottal stop', google translation)
+ - "˂": [T: "modificador de punta de flecha izquierda"] # 0x2c2 (en: 'modifier left arrowhead', google translation)
+ - "˃": [T: "modificador de punta de flecha derecha"] # 0x2c3 (en: 'modifier right arrowhead', google translation)
+ - "˄": [T: "modificador de punta de flecha hacia arriba"] # 0x2c4 (en: 'modifier up arrowhead', google translation)
+ - "˅": [T: "modificador de punta de flecha hacia abajo"] # 0x2c5 (en: 'modifier down arrowhead', google translation)
+ - "ˆ": [T: "circunflejo"] # 0x2c6 (en: 'modifier circumflex accent', google: 'acento circunflejo modificador')
+ - "ˇ": [T: "carón"] # 0x2c7 (en: 'caron', google: 'caron')
+ - "ˈ": [T: "línea vertical modificador"] # 0x2c8 (en: 'modifier vertical line', google translation)
+ - "ˉ": [T: "modificador macron"] # 0x2c9 (en: 'modifier macron', google translation)
+ - "ˊ": [T: "modificador acento agudo"] # 0x2ca (en: 'modifier acute accent', google translation)
+ - "ˋ": [T: "modificador acento grave"] # 0x2cb (en: 'modifier grave accent', google translation)
+ - "ˌ": [T: "modificador línea baja vertical"] # 0x2cc (en: 'modifier low vertical line', google translation)
+ - "ˍ": [T: "modificador bajo macron"] # 0x2cd (en: 'modifier low macron', google translation)
+ - "ˎ": [T: "modificador acento acento grave bajo"] # 0x2ce (en: 'modifier low grave accent', google translation)
+ - "ˏ": [T: "modificador acento bajo agudo"] # 0x2cf (en: 'modifier low acute accent', google translation)
+ - "ː": [T: "modificador de colon triangular"] # 0x2d0 (en: 'modifier triangular colon', google translation)
+ - "ˑ": [T: "modificador de medio colon triangular"] # 0x2d1 (en: 'modifier half triangular colon', google translation)
+ - "˒": [T: "modificador centrado en la mitad del anillo rerecho"] # 0x2d2 (en: 'modifier centered right half ring', google translation)
+ - "˓": [T: "modificador centrado en la mitad del anillo izquierdo"] # 0x2d3 (en: 'modifier centered left half ring', google translation)
+ - "˔": [T: "modificador de tadck superior"] # 0x2d4 (en: 'modifier up tadck', google translation)
+ - "˕": [T: "modificador hacia abajo"] # 0x2d5 (en: 'modifier down tack', google translation)
+ - "˖": [T: "modificador más signo"] # 0x2d6 (en: 'modifier plus sign', google translation)
+ - "˗": [T: "medio anillo derecho por debajo de la ornamentación"] # 0x339 (en: 'right half ring below embellishment', google translation)
+ - "̺": [T: "puente invertido debajo de la ornamentación"] # 0x33a (en: 'inverted bridge below embellishment', google translation)
+ - "̻": [T: "cuadrado por debajo de la ornamentación"] # 0x33b (en: 'square below embellishment', google translation)
+ - "̼": [T: "gaviota por debajo del adorno"] # 0x33c (en: 'seagull below embellishment', google translation)
+ - "̽": [T: "x por encima del adorno"] # 0x33d (en: 'x above embellishment', google translation)
+ - "̾": [T: "ornamentación de tilde vertical"] # 0x33e (en: 'vertical tilde embellishment', google translation)
+ - "̿": [T: "ornamentación de doble superposición"] # 0x33f (en: 'double overline embellishment', google translation)
+ - "̀": [T: "ornamentación de la señal de tono grave"] # 0x340 (en: 'grave tone mark embellishment', google translation)
+ - "́": [T: "ornamentación de la señal de tono agudo"] # 0x341 (en: 'acute tone mark embellishment', google translation)
+
+ - "ΪΫϏ": # 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: "mayúscula"] # (en: 'cap', google translation)
+ else: [x: "$SpeechOverrides_CapitalLetters"]
+ - pitch:
+ value: "$CapitalLetters_Pitch"
+ replace: [spell: "translate('.', 'ΪΫϏ', 'ιυϗ')"]
+ - T: "con dialytika" # (en: 'with dialytika', google translation)
+ - "ϊ": [T: "iota con dialytika"] # 0x3ca (en: 'iota with dialytika', google translation)
+ - "ϋ": [T: "épsilon con dialytika"] # 0x3cb (en: 'upsilon with dialytika', google translation)
+ - "ό": [T: "ómicron con tonos"] # 0x3cc (en: 'omicron with tonos', google translation)
+ - "ύ": [T: "épsilon con tonos"] # 0x3cd (en: 'upsilon with tonos', google translation)
+ - "ώ": [T: "omega con tonos"] # 0x3ce (en: 'omega with tonos', google translation)
+ - "ϐ": [T: "símbolo beta"] # 0x3d0 (en: 'beta')
+ - "ϑ": [T: "variante de theta"] # 0x3d1 (en: 'theta', google: 'theta')
+ - "ϒ": [T: "ípsilon con gancho"] # 0x3d2 (en: 'upsilon with hook', google: 'upsilon con gancho')
+ - "ϓ": [T: "épsilon con diéresis y gancho"] # 0x3d4 (en: 'upsilon with diaeresis and hook', google translation)
+ - "ϗ": [T: "símbolo kai griego"] # 0x3d7 (en: 'kai')
+ - "А-Я": # 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: "mayúscula"] # (en: 'cap', google translation)
+ else: [x: "$SpeechOverrides_CapitalLetters"]
+ - pitch:
+ value: "$CapitalLetters_Pitch"
+ replace: [spell: "translate('.', 'АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ', 'абвгдежзийклмнопрстуфхцчшщъыьэюя')"]
+ - "а": [T: "a"] # 0x430 (google: 'а')
+ - "б": [T: "be"] # 0x431 (google: 'ser')
+ - "в": [T: "ve"] # 0x432 (google: 'veinte')
+ - "г": [T: "ghe"] # 0x433
+ - "д": [T: "de"] # 0x434 (google: 'delaware')
+ - "е": [T: "ie"] # 0x435 (google: 'es decir')
+ - "ж": [T: "zhe"] # 0x436
+ - "з": [T: "i"] # 0x438 (google: 'и')
+ - "й": [T: "i corta"] # 0x439 (en: 'short i', google: 'corto i')
+ - "к": [T: "ka"] # 0x43a
+ - "л": [T: "em"] # 0x43c
+ - "н": [T: "o"] # 0x43e (google: 'о')
+ - "п": [T: "pe"] # 0x43f (google: 'educación física')
+ - "р": [T: "er"] # 0x440
+ - "с": [T: "es"] # 0x441
+ - "т": [T: "te"] # 0x442
+ - "у": [T: "u"] # 0x443 (google: 'у')
+ - "ф": [T: "ef"] # 0x444
+ - "х": [T: "ha"] # 0x445 (google: 'ja')
+ - "ц": [T: "tse"] # 0x446
+ - "ч": [T: "che"] # 0x447
+ - "ш": [T: "sha"] # 0x448
+ - "щ": [T: "shcha"] # 0x449
+ - "ъ": [T: "signo duro"] # 0x44a (en: 'hard sign')
+ - "ы": [T: "yeru"] # 0x44b
+ - "ь": [T: "signo suave"] # 0x44c (en: 'soft sign')
+ - "э": [T: "e"] # 0x44d (google: 'э')
+ - "ю": [T: "yu"] # 0x44e
+ - "я": [T: "ya"] # 0x44f
+ - "‐": [T: "menos"] # 0x2010 (en: 'hyphen')
+ - "‑": [T: "guión indivisible"] # 0x2011 (en: 'hyphen', google: 'guión')
+ - "‒": [T: "figura Dash"] # 0x2012 (en: 'figure dash', google: 'figura dash')
+ - "―": [T: "barra horizontal"] # 0x2015 (en: 'horizontal bar')
+ - "•": # 0x2022
+ - test:
+ if: "@data-chem-formula-op"
+ then: [T: "punto"] # (en: 'dot', google translation)
+ else: [T: "bala"] # (en: 'bullet')
+
+ - "‰": [T: "tanto por millar"] # 0x2030 (en: 'per mille')
+ - "‱": [T: "tanto por diez mil"] # 0x2031 (en: 'per ten thousand')
+ - "′": [T: "prima"] # 0x2032 (en: 'prime')
+ - "‸": [T: "signo de intercalación"] # 0x2038 (en: 'to the', google: 'hacia')
+ - "‹": [T: "comillas izquierda"] # 0x2039 (en: 'single left pointing angle quote mark', MathPlayer: 'abre comillas', google: 'marque de cotización de ángulo de punta individual izquierdo')
+ - "›": [T: "comillas derecha"] # 0x203a (en: 'single right pointing angle quote mark', MathPlayer: 'cierra comillas', google: 'marque de cita de ángulo de punta de la derecha única')
+ - "‼": [T: "doble signo de exclamación"] # 0x203c (en: 'double factorial', google: 'doble factorial')
+ - "⁄": [T: "barra de fracción"] # 0x2044 (en: 'divided by')
+ - "⁅": [T: "corchete izquierdo"] # 0x2045 (en: 'left square bracket with quill')
+ - "⁆": [T: "corchete derecho"] # 0x2046 (en: 'right square bracket with quill')
+ - "⁗": [T: "cuatro prima"] # 0x2057 (en: 'quadruple prime', MathPlayer: 'cuarta', google: 'prime cuádruple')
+ - "": [T: ""] # 0x2060
+ - "": [T: ""] # 0x2063
+ - "": [T: "más"] # 0x2064 (en: 'and', google: 'y')
+ - "⁰": [T: "a la potencia de cero"] # 0x2070 (en: 'to the zeroth power', google translation)
+ - "ⁱ": [T: "superíndice i"] # 0x2071 (en: 'to the eihth power', google: 'al poder eihth')
+ - "⁴": [T: "a la cuarta potencia"] # 0x2074 (en: 'to the fourth power', google translation)
+ - "⁵": [T: "a la quinta potencia"] # 0x2075 (en: 'to the fifth power', google translation)
+ - "⁶": [T: "a la sexta potencia"] # 0x2076 (en: 'to the sixth power', google translation)
+ - "⁷": [T: "a la séptima potencia"] # 0x2077 (en: 'to the seventh power', google translation)
+ - "⁸": [T: "a la octava potencia"] # 0x2078 (en: 'to the eighth power', google translation)
+ - "⁹": [T: "a la novena potencia"] # 0x2079 (en: 'to the ninth power', google translation)
+ - "⁺": [T: "superíndice signo más"] # 0x207a (en: 'superscript plus sign', google: 'superscript plus sign')
+ - "⁻": [T: "superíndice menos"] # 0x207b (en: 'superscript minus', google: 'superscript menos')
+ - "⁼": [T: "superíndice signo igual"] # 0x207c (en: 'superscript equals sign', google: 'superscript es igual a signo')
+ - "⁽": [T: "paréntesis izquierdo superíndice"] # 0x207d (en: 'superscript left parenthesis', google: 'superscript dejó paréntesis')
+ - "⁾": [T: "paréntesis derecho superíndice"] # 0x207e (en: 'superscript right parenthesis', google: 'superscript dirección de entrega de paréntesis')
+ - "ⁿ": [T: "superíndice n"] # 0x207f (en: 'to the ennth power', google: 'al poder de enth')
+ - "₀": [T: "bajo cero"] # 0x2080 (en: 'sub zero', google translation)
+ - "₁": [T: "sub uno"] # 0x2081 (en: 'sub one', google translation)
+ - "₂": [T: "sub dos"] # 0x2082 (en: 'sub two', google translation)
+ - "₃": [T: "sub tres"] # 0x2083 (en: 'sub three', google translation)
+ - "₄": [T: "sub cuatro"] # 0x2084 (en: 'sub four', google translation)
+ - "₅": [T: "sub cinco"] # 0x2085 (en: 'sub five', google translation)
+ - "₆": [T: "sub seis"] # 0x2086 (en: 'sub six', google translation)
+ - "₇": [T: "sub siete"] # 0x2087 (en: 'sub seven', google translation)
+ - "₈": [T: "sub ocho"] # 0x2088 (en: 'sub eight', google translation)
+ - "₉": [T: "sub nueve"] # 0x2089 (en: 'sub nine', google translation)
+ - "₊": [T: "subíndice signo más"] # 0x208a (en: 'subscript plus sign', google: 'subscript plus sign')
+ - "₋": [T: "subíndice menos"] # 0x208b (en: 'subscript minus sign', google: 'subíndico menos signo')
+ - "₌": [T: "subíndice signo igual"] # 0x208c (en: 'subscript equals sign', google: 'el subíndice es igual al signo')
+ - "₍": [T: "subíndice paréntesis derecho"] # 0x208e (en: 'subscript right parenthesis', google: 'subíndice de paréntesis derecha')
+ - "ₐ": [T: "subíndice a"] # 0x2090 (en: 'sub A', google: 'sub a')
+ - "ₑ": [T: "subíndice e"] # 0x2091 (en: 'sub E', google: 'sub e')
+ - "ₒ": [T: "subíndice o"] # 0x2092 (en: 'sub O', google: 'sub o')
+ - "ₓ": [T: "subíndice x"] # 0x2093 (en: 'sub X', google: 'sub x')
+ - "ₕ": [T: "subíndice h"] # 0x2095 (en: 'sub H', google: 'sub h')
+ - "ₖ": [T: "subíndice k"] # 0x2096 (en: 'sub K', google: 'sub k')
+ - "ₗ": [T: "subíndice l"] # 0x2097 (en: 'sub L', google: 'sub l')
+ - "ₘ": [T: "subíndice m"] # 0x2098 (en: 'sub M', google: 'sub m')
+ - "ₙ": [T: "subíndice n"] # 0x2099 (en: 'sub N', google: 'sub n')
+ - "ₚ": [T: "subíndice p"] # 0x209a (en: 'sub P', google: 'sub p')
+ - "ₛ": [T: "subíndice s"] # 0x209b (en: 'sub S', google: 'sub s')
+ - "ₜ": [T: "subíndice t"] # 0x209c (en: 'sub T', google: 'sub t')
+ - "₠": [T: "unidades de corriente europeas"] # 0x20a0 (en: 'european currenty units', google translation)
+ - "₡": [T: "dos puntos"] # 0x20a1 (en: 'colons', google: 'colons')
+ - "₢": [T: "cruzeiro"] # 0x20a2 (en: 'cruzeiro', google: 'cruzeiro')
+ - "₣": [T: "franco"] # 0x20a3 (en: 'franc')
+ - "₤": [T: "lira"] # 0x20a4
+ - "₥": [T: "molinos"] # 0x20a5 (en: 'mills')
+ - "₦": [T: "naira"] # 0x20a6
+ - "₧": [T: "peseta"] # 0x20a7
+ - "₨": [T: "rupia"] # 0x20a8 (en: 'rupees', google: 'rupias')
+ - "₩": [T: "won"] # 0x20a9 (google: 'ganado')
+ - "₪": [T: "nuevo sheqel"] # 0x20aa (en: 'new sheqels', google: 'nuevo sheqels')
+ - "₫": [T: "dong"] # 0x20ab (google: 'polla')
+ - "€": [T: "euro"] # 0x20ac (en: 'euros', google: 'euros')
+ - "₭": [T: "kip"] # 0x20ad (google: 'dormir')
+ - "₮": [T: "tugrik"] # 0x20ae
+ - "₯": [T: "dracma"] # 0x20af (en: 'drachma')
+ - "₰": [T: "penique alemán"] # 0x20b0 (en: 'german pennies', google: 'centavos alemanes')
+ - "₱": [T: "peso"] # 0x20b1 (en: 'pesos', google: 'pesos')
+ - "₲": [T: "guaraníes"] # 0x20b2 (en: 'guaranis', google translation)
+ - "₳": [T: "australs"] # 0x20b3 (google translation)
+ - "₴": [T: "hryvnias"] # 0x20b4 (google translation)
+ - "₵": [T: "cedis"] # 0x20b5 (google translation)
+ - "₶": [T: "livre tournois"] # 0x20b6 (google translation)
+ - "₷": [T: "spesmilos"] # 0x20b7 (google translation)
+ - "₸": [T: "tenges"] # 0x20b8 (google translation)
+ - "₹": [T: "rupias indias"] # 0x20b9 (en: 'indian rupees', google translation)
+ - "₺": [T: "liras turcas"] # 0x20ba (en: 'turkish liras', google translation)
+ - "⃐": [T: "arpón izquierdo por encima de la ornamentación"] # 0x20d0 (en: 'left harpoon above embellishment', google: 'arpón de izquierda por encima del adorno')
+ - "⃑": [T: "arpón derecho por encima de la ornamentación"] # 0x20d1 (en: 'right harpoon above embellishment', google: 'arpón derecho por encima del adorno')
+ - "⃒": [T: "línea vertical larga con ornamentación superpuesta"] # 0x20d2 (en: 'long vertical line overlay embellishment', google translation)
+ - "⃓": [T: "línea vertical corta con ornamentación superpuesta"] # 0x20d3 (en: 'short vertical line overlay embellishment', google translation)
+ - "⃔": [T: "flecha en sentido contrario a las agujas del reloj por encima de la ornamentación"] # 0x20d4 (en: 'anticlockwise arrow above embellishment', google translation)
+ - "⃕": [T: "flecha en el sentido de las agujas del reloj por encima de la ornamentación"] # 0x20d5 (en: 'clockwise arrow above embellishment', google translation)
+ - "⃖": [T: "flecha izquierda por encima de la ornamentación"] # 0x20d6 (en: 'left arrow above embellishment', google: 'flecha izquierda por encima del adorno')
+ - "⃗": [T: "flecha derecha por encima de la ornamentación"] # 0x20d7 (en: 'right arrow above embellishment', google: 'flecha derecha por encima del adorno')
+ - "⃘": [T: "ornamentación superpuesta al anillo"] # 0x20d8 (en: 'ring overlay embellishment', google translation)
+ - "⃙": [T: "anillo en el sentido de las agujas del reloj con ornamentación superpuesta"] # 0x20d9 (en: 'clockwise ring overlay embellishment', google translation)
+ - "⃚": [T: "anilo en sentido contrario a las agujas del reloj con ornamentación superpuesta"] # 0x20da (en: 'anticlockwise ring overlay embellishment', google translation)
+ - "⃛": [T: "tres puntos"] # 0x20db (en: 'triple dot', google: 'triple punto')
+ - "⃜": [T: "cuatro puntos "] # 0x20dc (en: 'quadruple dot', google: 'punto cuádruple')
+ - "⃝": [T: "ornamentación de círculo envolvente"] # 0x20dd (en: 'enclosing circle embellishment', google translation)
+ - "⃞": [T: "ornamentación de cuadrado envolvente"] # 0x20de (en: 'enclosing square embellishment', google translation)
+ - "⃟": [T: "ornamentación de rombo envolvente"] # 0x20df (en: 'enclosing diamond embellishment', google translation)
+ - "⃠": [T: "ornamentación con bara inversa de círculo envolvente"] # 0x20e0 (en: 'enclosing circle backslash embellishment', google translation)
+ - "⃡": [T: "doble flecha por encima de la ornamentación"] # 0x20e1 (en: 'left right arrow above embellishment', google: 'flecha derecha izquierda por encima del adorno')
+ - "⃢": [T: "ornamentación de pantalla envolvente"] # 0x20e2 (en: 'enclosing screen embellishment', google translation)
+ - "⃣": [T: "ornamentación de clave envolvente"] # 0x20e3 (en: 'enclosing keycap embellishment', google translation)
+ - "⃤": [T: "ornamentación de triángulo envolvente apuntando hacia arriba"] # 0x20e4 (en: 'enclosing upward pointing triangle embellishment', google translation)
+ - "⃥": [T: "solidus invertido con ornamentación superpuesta"] # 0x20e5 (en: 'reverse solidus overlay embellishment', google translation)
+ - "⃦": [T: "doble vértice con ornamentación de trazo"] # 0x20e6 (en: 'double verticle stroke embellishment', google translation)
+ - "⃧": [T: "símbolo de anualidad con ornamentación"] # 0x20e7 (en: 'annuity symbol embellishment', google translation)
+ - "⃨": [T: "triple punto bajo"] # 0x20e8 (en: 'triple underdot', google translation)
+ - "⃩": [T: "amplio puente por encima de la ornamentación"] # 0x20e9 (en: 'wide bridge above embellishment', google translation)
+ - "⃪": [T: "flecha izquierda con ornamentación superpuesta"] # 0x20ea (en: 'leftwards arrow overlay embellishment', google translation)
+ - "⃫": [T: "largo y doble solidus con ornamentación superpuesta"] # 0x20eb (en: 'long double solidus overlay embellishment', google translation)
+ - "⃬": [T: "arpón hacia la derecha con ornamentación apuntando hacia abajo"] # 0x20ec (en: 'rightwards harpoon with barb downwards embellishment', google translation)
+ - "⃭": [T: "arpón hacia la izquierda con ornamentación apuntando hacia abajo"] # 0x20ed (en: 'leftwards harpoon with barb downwards embellishment', google translation)
+ - "⃮": [T: "flecha izquierda por debajo de la ornamentación"] # 0x20ee (en: 'left arrow below embellishment', google translation)
+ - "⃯": [T: "flecha derecha por debajo de la ornamentación"] # 0x20ef (en: 'right arrow below embellishment', google translation)
+ - "⃰": [T: "asterisco por encima de la ornamentación"] # 0x20f0 (en: 'asterisk above embellishment', google translation)
+ - "℄": [T: "símbolo de línea central"] # 0x2104 (en: 'center line symbol', google translation)
+ - "℅": [T: "para"] # 0x2105 (en: 'care of', google: 'cuidado de')
+ - "℆": [T: "cada una"] # 0x2106 (google: 'cadada una')
+ - "ℇ": [T: "constante de euler"] # 0x2107 (en: 'euler's constant', google: 'la constante de euler')
+ - "℈": [T: "escrúpulo"] # 0x2108 (en: 'scruples', google translation)
+ - "ℊ": [T: "g cursiva"] # 0x210a (en: 'script g', google: 'guión g')
+ - "ℌℑℨℭ": # 0x210c, 0x2111, 0x2128, 0x212d
+ - T: "g cursiva" # (en: 'fraktur', google: 'fraktur')
+ - spell: "translate('.', 'ℌℑℨℭ', 'HIZC')"
+
+ - "ℍℙℾℿ": # 0x210d, 0x2119, 0x213e, 0x213f
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "doble tachadura"] # (en: 'double struck', google translation)
+ - spell: "translate('.', 'ℍℙℾℿ', 'HPΓΠ')"
+
+ - "ℏ": # 0x210f
+ - test:
+ if: "($Verbosity='Terse')"
+ then: [T: "h bar"] # (google translation)
+ else: [T: "h barra"] # (en: 'reduced planck constant')
+
+ - "ℐℒ℘ℬℰℱℳ": # 0x2110, 0x2112, 0x2118, 0x2130, 0x2131, 0x2133
+ - T: "h barra" # (en: 'script')
+ - spell: "translate('.', 'ℐℒ℘ℬℰℱℳ', 'ILPBEFM')"
+
+ - "℔": [T: "L B símbolo de barra"] # 0x2114 (en: 'pounds', google: 'libras')
+ - "№": [T: "signo de número"] # 0x2116 (en: 'number')
+ - "℥": [T: "onza"] # 0x2125 (en: 'ounces')
+ - "Ω": [T: "ohmio"] # 0x2126 (en: 'ohms')
+ - "℧": [T: "iota invertida"] # 0x2129 (en: 'turned iota', google: 'convertido en iota')
+ - "Å": [T: "angstrom"] # 0x212b (en: 'angstroms')
+ - "ℯ": [T: "e cursiva"] # 0x212f (en: 'script e', google: 'guión e')
+
+ # coalesced some chars that use cap letters
+ - "Ⅎ℺⅁⅂⅃⅄": # 0x2132, 0x213a, 0x2141, 0x2142, 0x2143, 0x2144
+ - test:
+ - if: "'.' = '℺'"
+ then: [T: "rotado"] # (en: 'rotated', google translation)
+ - else_if: "'.' = 'Ⅎ'"
+ then: [T: "transformado"] # (en: 'turned', google translation)
+ - else_if: "'.' = '⅃'"
+ then: [T: "invertido sans-serif"] # (en: 'reversed sans-serif', google translation)
+ else: [T: "e cursiva"] # (en: 'turned sans-serif', google: 'convertido en sans-serif')
+ - spell: "translate('.', 'Ⅎ℺⅁⅂⅃⅄', 'FQGLLY')"
+
+ - "ℴ": [T: "o cursiva"] # 0x2134 (en: 'script o', google: 'guión o')
+ - "ℵ": [T: "alef"] # 0x2135 (en: 'first transfinite cardinal')
+ - "ℶ": [T: "bet"] # 0x2136 (en: 'second transfinite cardinal')
+ - "ℷ": [T: "guímel"] # 0x2137 (en: 'third transfinite cardinal')
+ - "ℸ": [T: "dálet"] # 0x2138 (en: 'fourth transfinite cardinal')
+ - "ℼ": [T: "pi en negrita de pizarra"] # 0x213c (en: 'double struck pi', google: 'double golpeado pi')
+ - "ℽ": [T: "gamma en negrita de pizarra"] # 0x213d (en: 'double struck gamma', google: 'double golpeó a gamma')
+ - "⅀": [T: "suma de n-ary en negrita"] # 0x2140 (en: 'double struck n-ary summation', google: 'suma de doble apolón n-ary')
+ - "⅋": [T: "ampersand invertido"] # 0x214b (en: 'turned ampersand', google: 'convertido en ampersand')
+ - "⅌": [T: "por"] # 0x214c (en: 'per', google: 'por')
+ - "ⅎ": [T: "f invertida"] # 0x214e (en: 'turned F', google: 'girado f')
+ - "⅐": [T: "un séptimo"] # 0x2150 (en: 'one seventh', google: 'un septimo')
+ - "⅑": [T: "un noveno"] # 0x2151 (en: 'one ninth', google: 'un noveno')
+ - "⅒": [T: "un dadoécimo"] # 0x2152 (en: 'one tenth', google: 'una décima parte')
+ - "⅓": [T: "un tercio"] # 0x2153 (en: 'one third', SRE: 'Vulgar Fracción Un Tercero')
+ - "⅔": [T: "dos tercios"] # 0x2154 (en: 'two thirds', SRE: 'Fracción vulgar dos tercios')
+ - "⅕": [T: "un quinto"] # 0x2155 (en: 'one fifth', SRE: 'Vulgar Fraction One Fifth')
+ - "⅖": [T: " franción comúndos quintos"] # 0x2156 (en: 'two fifths', MathPlayer: 'dos quintos', google: 'dos quintas partes')
+ - "⅗": [T: " fracción común tres quintos"] # 0x2157 (en: 'three fifths', SRE: 'Fracción vulgar tres quintos')
+ - "⅘": [T: " fracción común cuatro quintos"] # 0x2158 (en: 'four fifths', SRE: 'Fracción vulgar cuatro quintos')
+ - "⅙": [T: "un sexto"] # 0x2159 (en: 'one sixth', SRE: 'Vulgar Fracción Un Sexto')
+ - "⅚": [T: "cinco sextos"] # 0x215a (en: 'five sixths', SRE: 'Vulgar fracción cinco sextos')
+ - "⅛": [T: "fracción común un octavo"] # 0x215b (en: 'one eighth', MathPlayer: 'un octavo', google: 'un ath')
+ - "⅜": [T: "fracción común tres octavos"] # 0x215c (en: 'three eighths', MathPlayer: 'tres octavos', google: 'tres ats')
+ - "⅝": [T: "fracción común cinco octavos"] # 0x215d (en: 'five eighths', MathPlayer: 'cinco octavos', google: 'cinco ats')
+ - "⅞": [T: "fracción común siete octavos"] # 0x215e (en: 'seven eighths', MathPlayer: 'siete octavos', google: 'siete ats')
+ - "⅟": [T: "Numerador de fracción uno"] # 0x215f (en: 'one over', google: 'uno sobre')
+ - "Ⅰ": [T: "Ⅰ"] # 0x2160 (en: 'I', google translation)
+ - "Ⅱ": [T: "T"] # 0x2161 (en: 'I I', google translation)
+ - "Ⅲ": [T: "III"] # 0x2162 (en: 'I I I', google translation)
+ - "Ⅳ": [T: "IV"] # 0x2163 (en: 'I V', google translation)
+ - "Ⅴ": [T: "V"] # 0x2164 (en: 'V', google translation)
+ - "Ⅵ": [T: "VI"] # 0x2165 (en: 'V I', google translation)
+ - "Ⅶ": [T: "VII"] # 0x2166 (en: 'V I I', google translation)
+ - "Ⅷ": [T: "VIII"] # 0x2167 (en: 'V I I I', google translation)
+ - "Ⅸ": [T: "IX"] # 0x2168 (en: 'I X', google translation)
+ - "Ⅹ": [T: "XI"] # 0x216a (en: 'X I', google translation)
+ - "Ⅻ": [T: "XII"] # 0x216b (en: 'X I I', google translation)
+ - "Ⅼ": [T: "Ⅼ"] # 0x216c (en: 'L', google translation)
+ - "Ⅽ": [T: "Ⅽ"] # 0x216d (en: 'C', google translation)
+ - "Ⅾ": [T: "Ⅾ"] # 0x216e (en: 'D', google translation)
+ - "Ⅿ": [T: "Ⅿ"] # 0x216f (en: 'M', google translation)
+ - "ⅰ": [T: "ⅰ"] # 0x2170 (en: 'I', google translation)
+ - "ⅱ": [T: "I"] # 0x2171 (en: 'I I', google translation)
+ - "ⅲ": [T: "III"] # 0x2172 (en: 'I I I', google translation)
+ - "ⅳ": [T: "IV"] # 0x2173 (en: 'I V', google translation)
+ - "ⅴ": [T: "ⅴ"] # 0x2174 (en: 'V', google translation)
+ - "ⅵ": [T: "VI"] # 0x2175 (en: 'V I', google translation)
+ - "ⅶ": [T: "VII"] # 0x2176 (en: 'V I I', google translation)
+ - "ⅷ": [T: "VIII"] # 0x2177 (en: 'V I I I', google translation)
+ - "ⅸ": [T: "IX"] # 0x2178 (en: 'I X', google translation)
+ - "ⅹ": [T: "ⅹ"] # 0x2179 (en: 'X', google translation)
+ - "ⅺ": [T: "XI"] # 0x217a (en: 'X I', google translation)
+ - "ⅻ": [T: "XII"] # 0x217b (en: 'X I I', google translation)
+ - "ⅼ": [T: "ⅼ"] # 0x217c (en: 'L', google translation)
+ - "ⅽ": [T: "ⅽ"] # 0x217d (en: 'C', google translation)
+ - "ⅾ": [T: "ⅾ"] # 0x217e (en: 'D', google translation)
+ - "ⅿ": [T: "ⅿ"] # 0x217f (en: 'M', google translation)
+ - "↉": [T: "fracción común cero tercios"] # 0x2189 (en: 'zero thirds', google: 'cero tercios')
+ - "↔": [T: "flecha hacia izquierda y derecha"] # 0x2194 (en: 'left right arrow')
+ - "↕": [T: "flecha hacia arriba y abajo"] # 0x2195 (en: 'up down arrow')
+ - "↖": [T: "flecha hacia el noroeste"] # 0x2196 (en: 'north west arrow')
+ - "↗": # 0x2197
+ - test:
+ if: "ancestor::*[2][self::m:limit]"
+ then: [T: "enfoque desde abajo"] # (en: 'approaches from below', google translation)
+ else: [T: "flecha hacia el nordeste"] # (en: 'north east arrow')
+
+ - "↘": # 0x2198
+ - test:
+ if: "ancestor::*[2][self::m:limit]"
+ then: [T: "enfoque desde arriba"] # (en: 'approaches from above', google translation)
+ else: [T: "flecha hacia el sudeste"] # (en: 'south east arrow')
+
+ - "↙": [T: "flecha hacia el sudoeste"] # 0x2199 (en: 'south west arrow')
+ - "↚": [T: "flecha con trazo hacia la izquierda"] # 0x219a (en: 'leftwards arrow with stroke')
+ - "↛": [T: "flecha con trazo hacia la derecha"] # 0x219b (en: 'rightwards arrow with stroke')
+ - "↜": [T: "flecha izquierda ondulada"] # 0x219c (en: 'leftwards wave arrow')
+ - "↝": [T: "flecha derecha ondulada"] # 0x219d (en: 'rightwards wave arrow')
+ - "↞": [T: "flecha hacia la izquierda con doble punta"] # 0x219e (en: 'leftwards two headed arrow')
+ - "↟": [T: "flecha hacia arriba con doble punta"] # 0x219f (en: 'upwards two headed arrow')
+ - "↠": [T: "flecha hacia la derecha con doble punta"] # 0x21a0 (en: 'rightwards two headed arrow')
+ - "↡": [T: "flecha hacia abajo con doble punta"] # 0x21a1 (en: 'downwards two headed arrow')
+ - "↢": [T: "flecha hacia la izquierda con cola"] # 0x21a2 (en: 'leftwards arrow with tail')
+ - "↣": [T: "flecha hacia la derecha con cola"] # 0x21a3 (en: 'rightwards arrow with tail')
+ - "↤": [T: "flecha hacia la izquierda con barra"] # 0x21a4 (en: 'leftwards arrow from bar')
+ - "↥": [T: "flecha hacia arriba con barra"] # 0x21a5 (en: 'upwards arrow from bar')
+ - "↦": [T: "flecha derecha hacia arriba con barra"] # 0x21a6 (en: 'rightwards arrow from bar')
+ - "↧": [T: "flecha hacia abajo con barra"] # 0x21a7 (en: 'downwards arrow from bar')
+ - "↨": [T: "flecha hacia arriba y hacia abajo con base"] # 0x21a8 (en: 'up down arrow with base')
+ - "↩": [T: "flecha hacia la izquierda con gancho"] # 0x21a9 (en: 'leftwards arrow with hook')
+ - "↪": [T: "fflecha hacia la derecha con gancho"] # 0x21aa (en: 'rightwards arrow with hook')
+ - "↫": [T: "flecha hacia la izquierda con bucle"] # 0x21ab (en: 'leftwards arrow with loop')
+ - "↬": [T: "flecha hacia la derecha con bucle"] # 0x21ac (en: 'rightwards arrow with loop')
+ - "↭": [T: "flecha ondulada hacia la izquierda y la derecha"] # 0x21ad (en: 'left right wave arrow')
+ - "↮": [T: "flecha hacia la izquierda y derecha con trazo"] # 0x21ae (en: 'left right arrow with stroke')
+ - "↯": [T: "flecha hacia abajo en zigzag"] # 0x21af (en: 'downwards zigzag arrow')
+ - "↰": [T: "flecha hacia arriba con punta hacia la izquierda"] # 0x21b0 (en: 'upwards arrow with tip leftwards')
+ - "↱": [T: "flecha hacia arriba con punta hacia la derecha"] # 0x21b1 (en: 'upwards arrow with tip rightwards')
+ - "↲": [T: "flecha hacia abajo con punta hacia la izquierda"] # 0x21b2 (en: 'downwards arrow with tip leftwards')
+ - "↳": [T: "flecha hacia abajo con punta hacia la derecha"] # 0x21b3 (en: 'downwards arrow with tip rightwards')
+ - "↴": [T: "flecha hacia la derecha con intersección hacia abajo"] # 0x21b4 (en: 'rightwards arrow with corner downwards')
+ - "↵": [T: "flecha hacia abajo con intersección hacia la izquierda"] # 0x21b5 (en: 'downwards arrow with corner leftwards')
+ - "↶": [T: "flecha semicircular superior en sentido contrario a las agujas del reloj"] # 0x21b6 (en: 'anticlockwise top semicircle arrow')
+ - "↷": [T: "flecha semicircular superior en sentido de las agujas del reloj"] # 0x21b7 (en: 'clockwise top semicircle arrow')
+ - "↸": [T: "flecha noroeste hacia barra larga"] # 0x21b8 (en: 'north west arrow to long bar')
+ - "↹": [T: "flecha izquierda hacia barra por encima de flecha derecha hacia barra"] # 0x21b9 (en: 'leftwards arrow to bar over rightwards arrow to bar')
+ - "↺": [T: "flecha circular abierta en sentido contrario a las agujas del reloj"] # 0x21ba (en: 'anticlockwise open circle arrow')
+ - "↻": [T: "flecha circular abierta en sentido de las agujas del reloj"] # 0x21bb (en: 'clockwise open circle arrow')
+ - "↼": [T: "flecha izquierda con arpón en la parte superior"] # 0x21bc (en: 'left harpoon up')
+ - "↽": [T: "flecha izquierda con arpón en la parte inferior"] # 0x21bd (en: 'left harpoon down')
+ - "↾": [T: "arpón derecho hacia arriba"] # 0x21be (en: 'up harpoon right')
+ - "↿": [T: "arpón izquierdo hacia arriba"] # 0x21bf (en: 'up harpoon left')
+ - "⇀": [T: "arpón derecho hacia arriba"] # 0x21c0 (en: 'right harpoon up')
+ - "⇁": [T: "arpón derecho hacia abajo"] # 0x21c1 (en: 'right harpoon down')
+ - "⇂": [T: "arpón derecho hacia abajo"] # 0x21c2 (en: 'down harpoon right')
+ - "⇃": [T: "arpón izquierdo hacia abajo"] # 0x21c3 (en: 'down harpoon left')
+ - "⇄": [T: "flecha hacia la derecha por encima de flecha hacia la izquierda"] # 0x21c4 (en: 'rightwards arrow over leftwards arrow')
+ - "⇅": [T: "flecha hacia arriba a la izquierda de flecha hacia abajo"] # 0x21c5 (en: 'upwards arrow leftwards of downwards arrow')
+ - "⇆": [T: "flecha hacia la izquierda por encima de flecha hacia la derecha"] # 0x21c6 (en: 'leftwards arrow over rightwards arrow')
+ - "⇇": [T: "dos flechas hacia la izquierda"] # 0x21c7 (en: 'leftwards paired arrows')
+ - "⇈": [T: "dos flechas hacia arriba"] # 0x21c8 (en: 'upwards paired arrows')
+ - "⇉": [T: "dos flechas hacia la derecha"] # 0x21c9 (en: 'rightwards paired arrows')
+ - "⇊": [T: "dos flechas hacia abajo"] # 0x21ca (en: 'downwards paired arrows')
+ - "⇋": [T: "arpón izquierdo por encima de arpón derecho"] # 0x21cb (en: 'left harpoon over right harpoon')
+ - "⇌": [T: "arpón derecho por encima de arpón izquierdo"] # 0x21cc (en: 'right harpoon over left harpoon')
+ - "⇍": [T: "flecha doble izquierda con trazo"] # 0x21cd (en: 'leftwards double arrow with stroke')
+ - "⇎": [T: "flecha doble izquierda y derecha con trazo"] # 0x21ce (en: 'left right double arrow with stroke')
+ - "⇏": [T: "flecha doble hacia la derecha con trazo"] # 0x21cf (en: 'rightwards double arrow with stroke')
+ - "⇐": [T: "flecha doble hacia la izquierda"] # 0x21d0 (en: 'leftwards double arrow')
+ - "⇑": [T: "flecha doble hacia arriba"] # 0x21d1 (en: 'upwards double arrow')
+ - "⇓": [T: "flecha doble hacia abajo"] # 0x21d3 (en: 'downwards double arrow')
+ - "⇔": [T: "flecha doble vertical"] # 0x21d5 (en: 'up down double arrow')
+ - "⇖": [T: "flecha doble hacia noroeste"] # 0x21d6 (en: 'north west double arrow')
+ - "⇗": [T: "flecha doble hacia nordeste"] # 0x21d7 (en: 'north east double arrow')
+ - "⇘": [T: "flecha doble hacia sudeste"] # 0x21d8 (en: 'south east double arrow')
+ - "⇙": [T: "flecha doble hacia sudoeste"] # 0x21d9 (en: 'south west double arrow')
+ - "⇚": [T: "flecha triple hacia la izquierda"] # 0x21da (en: 'leftwards triple arrow')
+ - "⇛": [T: "flecha triple hacia la derecha"] # 0x21db (en: 'rightwards triple arrow')
+ - "⇜": [T: "flecha ondulada izquierda"] # 0x21dc (en: 'leftwards squiggle arrow')
+ - "⇝": [T: "flecha ondulada hacia la derecha"] # 0x21dd (en: 'rightwards squiggle arrow')
+ - "⇞": [T: "flecha hacia arriba con doble trazo"] # 0x21de (en: 'upwards arrow with double stroke')
+ - "⇟": [T: "flecha hacia abajo con doble trazo"] # 0x21df (en: 'downwards arrow with double stroke')
+ - "⇠": [T: "flecha de puntos hacia la izquierda"] # 0x21e0 (en: 'leftwards dashed arrow')
+ - "⇡": [T: "flecha de puntos hacia arriba"] # 0x21e1 (en: 'upwards dashed arrow')
+ - "⇢": [T: "flecha de puntos hacia la derecha"] # 0x21e2 (en: 'rightwards dashed arrow')
+ - "⇣": [T: "flecha de puntos hacia abajo"] # 0x21e3 (en: 'downwards dashed arrow')
+ - "⇤": [T: "flecha hacia la izquierda con barra"] # 0x21e4 (en: 'leftwards arrow to bar')
+ - "⇥": [T: "flecha hacia la derecha con barra"] # 0x21e5 (en: 'rightwards arrow to bar')
+ - "⇦": [T: "flecha blanca hacia la izquierda"] # 0x21e6 (en: 'leftwards white arrow')
+ - "⇧": [T: "flecha blanca hacia arriba"] # 0x21e7 (en: 'upwards white arrow')
+ - "⇨": [T: "flecha blanca hacia la derecha"] # 0x21e8 (en: 'rightwards white arrow')
+ - "⇩": [T: "flecha blanca hacia abajo"] # 0x21e9 (en: 'downwards white arrow')
+ - "⇪": [T: "flecha blanca hacia arriba partiendo de barra"] # 0x21ea (en: 'upwards white arrow from bar')
+ - "⇫": [T: "flecha blanca hacia arriba sobre un pedestal con barra horizontal"] # 0x21eb
+ - "⇬": [T: "flecha blanca hacia arriba sobre pedestal con barra horizontal"] # 0x21ec (en: 'upwards white arrow on pedestal with horizontal bar', google: 'arrow blanca hacia arriba en el pedestal con barra horizontal')
+ - "⇭": [T: "flecha blanca hacia arriba sobre un pedestal con barra vertical"] # 0x21ed (en: 'upwards white arrow on pedestal with vertical bar', google: 'arrow blanca hacia arriba en el pedestal con barra vertical')
+ - "⇮": [T: "flecha doble blanca hacia arriba"] # 0x21ee (en: 'upwards white double arrow', google: 'hacia arriba flecha doble blanca')
+ - "⇯": [T: "flecha doble blanca hacia arriba sobre un pedestal"] # 0x21ef (en: 'upwards white double arrow on pedestal', google: 'arrow doble blanca hacia arriba en el pedestal')
+ - "⇰": [T: "flecha blanca hacia la derecha partiendo de un muro"] # 0x21f0 (en: 'rightwards white arrow from wall', google: 'arrow blanca hacia la derecha desde la pared')
+ - "⇱": [T: "flecha noroeste hacia la intersección"] # 0x21f1 (en: 'north west arrow to corner', google: 'north west arrow a la esquina')
+ - "⇲": [T: "flecha sudeste hacia la intersección"] # 0x21f2 (en: 'south east arrow to corner', google: 'south east arrow a la esquina')
+ - "⇳": [T: "flecha blanca vertical"] # 0x21f3 (en: 'up down white arrow', google: 'arrow white arrow')
+ - "⇴": [T: "flecha derecha con círculo pequeño"] # 0x21f4 (en: 'right arrow with small circle')
+ - "⇵": [T: "flecha superior hacia la derecha de flecha inferior"] # 0x21f5 (en: 'downwards arrow leftwards of upwards arrow')
+ - "⇶": [T: "tres flechashacia la derecha"] # 0x21f6
+ - ⇷": [T: "flecha hacia la izquierda con trazo vertical"] # 0x21f7 (en: 'leftwards arrow with vertical stroke')
+ - "⇸": [T: "flecha hacia la derecha con trazo vertical"] # 0x21f8 (en: 'rightwards arrow with vertical stroke')
+ - "⇹": [T: "flecha izquierda derecha con trazo vertical"] # 0x21f9 (en: 'left right arrow with vertical stroke', google: 'flecha derecha izquierda con carrera vertical')
+ - "⇺": [T: "flecha hacia la izquierda con doble trazo vertical"] # 0x21fa (en: 'leftwards arrow with double vertical stroke', google: 'flecha hacia la izquierda con trazo vertical doble')
+ - "⇻": [T: "flecha hacia la derecha con doble trazo vertical"] # 0x21fb (en: 'rightwards arrow with double vertical stroke', google: 'flecha hacia la derecha con trazo vertical doble')
+ - "⇼": [T: "flecha izquierda derecha con doble trazo vertical"] # 0x21fc (en: 'left right arrow with double vertical stroke', google: 'flecha derecha izquierda con doble carrera vertical')
+ - "⇽": [T: "flecha hacia la izquierda con punta abierta"] # 0x21fd (en: 'leftwards open headed arrow')
+ - "⇾": [T: "flecha hacia la derecha con punta abierta"] # 0x21fe (en: 'rightwards open headed arrow')
+ - "⇿": [T: "flecha izquierda derecha con punta abierta"] # 0x21ff (en: 'left right open headed arrow')
+ - "∀": [T: "para todo"] # 0x2200 (en: 'for all')
+ - "∁": # 0x2201
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "el"] # (en: 'the', google translation)
+ - T: "complemento de" # (en: 'complement of')
+ - "∃": [T: "existe"] # 0x2203 (en: 'there exists')
+ - "∄": [T: "no existe"] # 0x2204 (en: 'there does not exist')
+ - "∅": [T: "conjunto vacío"] # 0x2205 (en: 'empty set')
+ - "∇": # 0x2207
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "el"] # (en: 'the', google translation)
+ - T: "gradiente" # (en: 'gradient of', google: 'gradiente de')
+ - "∋": [T: "comprende "] # 0x220b (en: 'contains the member')
+ - "∌": [T: "no comprende"] # 0x220c (en: 'does not contain the member')
+ - "∍": [T: "comprende "] # 0x220d (en: 'contains the member')
+ - "∎": [T: "fin de demostración"] # 0x220e (en: 'end of proof')
+ - "∏": [T: "producto"] # 0x220f (en: 'product')
+ - "∐": [T: "coproducto"] # 0x2210 (en: 'coproduct')
+ - "∑": [T: "suma"] # 0x2211 (en: 'sum', SRE: 'sumatorio')
+ - "−": [T: "menos"] # 0x2212 (en: 'minus')
+ - "∓": [T: "menos más"] # 0x2213 (en: 'minus or plus')
+ - "∔": [T: "punto más"] # 0x2214 (en: 'dot plus')
+ - "∕": [T: "dividido por"] # 0x2215 (en: 'divided by')
+ - "∖": [T: "menos"] # 0x2216 (en: 'set minus')
+ - "∗": [T: "asterisco"] # 0x2217 (en: 'times')
+ - "∙": # 0x2219
+ - test:
+ if: "@data-chem-formula-op"
+ then: [T: "punto"] # (en: 'dot', google translation)
+ else: [T: "bala"] # (en: 'times')
+
+ - "∛": # 0x221b
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "raíz cúbica de"] # (en: 'cube root of')
+ - "∜": # 0x221c
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "el"] # (en: 'the', google translation)
+ - T: "raíz cuarta de" # (en: 'fourth root of')
+ - "∞": [T: "infinito"] # 0x221e (en: 'infinity')
+ - "∟": [T: "ángulo recto"] # 0x221f (en: 'right angle')
+ - "∠": [T: "ángulo"] # 0x2220 (en: 'angle')
+ - "∡": [T: "ángulo medido"] # 0x2221 (en: 'measured angle')
+ - "∢": [T: "ángulo esférico"] # 0x2222 (en: 'spherical angle')
+ - "∧": [T: "y"] # 0x2227 (en: 'and')
+ - "∨": [T: "o"] # 0x2228 (en: 'or')
+ - "∩": [T: "intersección"] # 0x2229 (en: 'intersection')
+ - "∪": [T: "unión"] # 0x222a (en: 'union')
+ - "∫": [T: "integral"] # 0x222b
+ - "∬": [T: "integral doble"] # 0x222c (en: 'double integral')
+ - "∭": [T: "integral triple"] # 0x222d (en: 'triple integral')
+ - "∮": [T: "integral de contorno"] # 0x222e (en: 'contour integral')
+ - "∯": [T: "integral de superficie"] # 0x222f (en: 'surface integral')
+ - "∰": [T: "integral de volumen"] # 0x2230 (en: 'volume integral')
+ - "∱": [T: "integral de contorno en sentido de las agujas del reloj"] # 0x2231 (en: 'clockwise integral')
+ - "∲": [T: "integral de contorno en sentido de las agujas del reloj"] # 0x2232 (en: 'clockwise contour integral')
+ - "∳": [T: "integral de contorno en sentido contrario a las agujas del reloj"] # 0x2233 (en: 'anticlockwise contour integral')
+ - "∴": [T: "por lo tanto"] # 0x2234 (en: 'therefore')
+ - "∵": [T: "porque"] # 0x2235 (en: 'because')
+ - "∸": [T: "punto menos"] # 0x2238 (en: 'dot minus')
+ - "∹": [T: "exceso"] # 0x2239 (en: 'has excess compared to')
+ - "∺": # 0x223a
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "geométricamente proporcional a" # (en: 'geometrically proportional to')
+ - "∻": # 0x223b
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "homotético a" # (en: 'homothetic to')
+ - "≀": [T: "producto de guirnalda"] # 0x2240 (en: 'wreath product')
+ - "≁": [T: "no tilde"] # 0x2241 (en: 'not tilde')
+ - "≂": [T: "menos tilde"] # 0x2242 (en: 'minus tilde')
+ - "≃": # 0x2243
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "asintóticamente igual a" # (en: 'asymptotically equal to')
+ - "≄": # 0x2244
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "no asintóticamente igual a" # (en: 'not asymptotically equal to')
+ - "≅": # 0x2245
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "aproximadamente igual a" # (en: 'approximately equal to')
+ - "≆": # 0x2246
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "aproximado pero no igual a" # (en: 'approximately but not actually equal to')
+ - "≇": # 0x2247
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "ni proximadamente ni realmente igual a" # (en: 'neither approximately nor actually equal to')
+ - "≈": # 0x2248
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "casi igual a" # (en: 'almost equal to', SRE: 'aproximado')
+ - "≉": # 0x2249
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "no es casi igual a" # (en: 'not almost equal to')
+ - "≊": # 0x224a
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "igual o casi igual a" # (en: 'almost equal or equal to')
+ - "≋": [T: "triple tilde"] # 0x224b
+ - "≌": [T: "todo igual a"] # 0x224c (en: 'are all equal to')
+ - "≍": # 0x224d
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "equivalente a" # (en: 'equivalent to')
+ - "≎": # 0x224e
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "geométricamente equivalente a" # (en: 'geometrically equivalent to')
+ - "≏": # 0x224f
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "la"] # (en: 'the', google translation)
+ - T: "diferencia entre" # (en: 'difference between')
+ - "≐": [T: "se acerca al límite"] # 0x2250 (en: 'approaches the limit')
+ - "≑": # 0x2251
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "geométricamente igual a" # (en: 'geometrically equal to')
+ - "≒": # 0x2252
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "aproximadamente igual a o imagen de" # (en: 'approximately equal to or the image of')
+ - "≓": # 0x2253
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es la"] # (en: 'is the', google translation)
+ - T: "imagen de o aproximadamente igual a" # (en: 'image of or approximately equal to')
+ - "≔": [T: "dos puntos igual"] # 0x2254 (en: 'colon equals')
+ - "≕": [T: "igual dos puntos"] # 0x2255 (en: 'equals colon')
+ - "≖": [T: "igual incluyendo anillo"] # 0x2256 (en: 'ring in equal to')
+ - "≗": # 0x2257
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "aproximadamente igual a" # (en: 'approximately equal to')
+ - "≘": [T: "corresponde a"] # 0x2258 (en: 'corresponds to')
+ - "≙": [T: "estimación"] # 0x2259 (en: 'estimates')
+ - "≚": # 0x225a
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "equiángulo con" # (en: 'equiangular to')
+ - "≛": [T: "igual con estrella"] # 0x225b (en: 'star equals')
+ - "≜": [T: "delta igual a"] # 0x225c (en: 'delta equals')
+ - "≝": [T: "igual por definición a"] # 0x225d (en: 'is defined to be')
+ - "≞": # 0x225e
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "medido por" # (en: 'measured by')
+ - "≟": [T: "igual con interrogante"] # 0x225f (en: 'has an unknown relationship with')
+ - "≢": # 0x2262
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "no es idéntico a" # (en: 'not identical to')
+ - "≣": # 0x2263
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "estrictamente equivalente a" # (en: 'strictly equivalent to')
+ - "≨": # 0x2268
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "menor que pero no igual a" # (en: 'less than but not equal to')
+ - "≩": # 0x2269
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "mayor que pero no igual a" # (en: 'greater than but not equal to')
+ - "≪": # 0x226a
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "mucho menor que" # (en: 'much less than')
+ - "≫": # 0x226b
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "mucho mayor que" # (en: 'much greater than')
+ - "≬": # 0x226c
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "entre" # (en: 'between')
+ - "≭": # 0x226d
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "no equivalente a" # (en: 'not equivalent to')
+ - "≮": # 0x226e
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "no menor que" # (en: 'not less than')
+ - "≯": # 0x226f
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "no mayor que" # (en: 'not greater than')
+ - "≰": # 0x2270
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "no menor ni igual a" # (en: 'neither less than nor equal to')
+ - "≱": # 0x2271
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "no mayor ni igual a" # (en: 'neither greater than nor equal to')
+ - "≲": # 0x2272
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "menor o equivalente a" # (en: 'less than or equivalent to')
+ - "≳": # 0x2273
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "mayor o equivalente a" # (en: 'greater than or equivalent to')
+ - "≴": # 0x2274
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "no menor ni equivalente a" # (en: 'neither less than nor equivalent to')
+ - "≵": # 0x2275
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "no mayor ni equivalente a" # (en: 'neither greater than nor equivalent to')
+ - "≶": # 0x2276
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "menor o mayor que" # (en: 'less than or greater than')
+ - "≷": # 0x2277
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "mayor o menor que" # (en: 'greater than or less than')
+ - "≸": # 0x2278
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "no menor ni mayor que" # (en: 'neither less than nor greater than')
+ - "≹": # 0x2279
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "no mayor ni menor que" # (en: 'neither greater than nor less than')
+ - "≺": [T: "precede a"] # 0x227a (en: 'precedes')
+ - "≻": [T: "sigue a"] # 0x227b (en: 'succeeds')
+ - "≼": [T: "precede o es igual a"] # 0x227c (en: 'precedes or is equal to')
+ - "≽": [T: "sigue o es igual a"] # 0x227d (en: 'succeeds or is equal to')
+ - "≾": [T: "precede o es equivalente a"] # 0x227e (en: 'precedes or is equivalent to')
+ - "≿": [T: "sigue o es equivalente a"] # 0x227f (en: 'succeeds or is equivalent to')
+ - "⊀": [T: "no precede a"] # 0x2280 (en: 'does not precede')
+ - "⊁": [T: "no sigue a"] # 0x2281 (en: 'does not succeed')
+ - "⊈": # 0x2288
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "no incluido ni igual a" # (en: 'neither a subset of nor equal to')
+ - "⊉": # 0x2289
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "no contiene ni es igual a" # (en: 'neither a superset of nor equal to')
+ - "⊊": [T: "incluido estrictamente en"] # 0x228a (en: 'subset of with not equal to')
+ - "⊋": [T: "contiene estrictamente a"] # 0x228b (en: 'superset of with not equal to')
+ - "⊌": [T: "multiconjunto"] # 0x228c (en: 'multiset')
+ - "⊍": [T: "multiplicación de multiconjuntos"] # 0x228d (en: 'multiset multiplication')
+ - "⊎": [T: "unión de multiconjuntos"] # 0x228e (en: 'multiset union')
+ - "⊏": [T: "imagen cuadrada de"] # 0x228f (en: 'square image of')
+ - "⊐": [T: "original cuadrado de"] # 0x2290 (en: 'square original of')
+ - "⊑": [T: "imagen cuadrada de o igual a"] # 0x2291 (en: 'square image of or equal to')
+ - "⊒": [T: "original cuadrado de o igual a"] # 0x2292 (en: 'square original of or equal to')
+ - "⊓": [T: "intersección cuadrada"] # 0x2293 (en: 'square cap')
+ - "⊔": [T: "unión cuadrada"] # 0x2294 (en: 'square cup')
+ - "⊕": [T: "signo más en forma de círculo"] # 0x2295 (en: 'circled plus')
+ - "⊖": [T: "signo menos en forma de círculo"] # 0x2296 (en: 'circled minus')
+ - "⊗": [T: "signo por en forma de círculo"] # 0x2297 (en: 'circled times')
+ - "⊘": [T: "barra en forma de círculo"] # 0x2298 (en: 'circled slash')
+ - "⊙": [T: "punto en forma de círculo"] # 0x2299 (en: 'circled dot operator')
+ - "⊚": [T: "anillo en círculo"] # 0x229a (en: 'circled ring')
+ - "⊛": [T: "asterisco en círculo"] # 0x229b (en: 'circled asterisk')
+ - "⊜": [T: "signo igual en círculo"] # 0x229c (en: 'circled equals')
+ - "⊝": [T: "signo menos en círculo"] # 0x229d (en: 'circled dash')
+ - "⊞": [T: "signo más en forma de cuadrado"] # 0x229e (en: 'squared plus')
+ - "⊟": [T: "menos en forma de cuadrado"] # 0x229f (en: 'squared minus')
+ - "⊠": [T: "signo por en forma de cuadrado"] # 0x22a0 (en: 'squared times')
+ - "⊡": [T: "punto en forma de cuadrado"] # 0x22a1 (en: 'squared dot operator')
+ - "⊢": [T: "t horizontal hacia la izquierda"] # 0x22a2 (en: 'proves')
+ - "⊣": [T: "t horizontal hacia la derecha"] # 0x22a3 (en: 'does not yield')
+ - "⊤": [T: "perpendicular"] # 0x22a4 (en: 'top')
+ - "⊥": # 0x22a5
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "perpendicular invertida" # (en: 'bottom')
+ - "⊦": [T: "afirmación"] # 0x22a6 (en: 'reduces to')
+ - "⊧": [T: "modela"] # 0x22a7 (en: 'models')
+ - "⊨": # 0x22a8
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "verdadero" # (en: 'true')
+ - "⊩": [T: "obliga"] # 0x22a9 (en: 'forces')
+ - "⊪": [T: "triple barra vertical torniquete a la derecha"] # 0x22aa (en: 'triple vertical bar right turnstile')
+ - "⊫": [T: "doble barra vertical con doble torniquete a la derecha"] # 0x22ab (en: 'double vertical bar double right turnstile')
+ - "⊬": [T: "no demuestra"] # 0x22ac (en: 'does not prove')
+ - "⊭": # 0x22ad
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "falso" # (en: 'not true')
+ - "⊮": [T: "no obliga"] # 0x22ae (en: 'does not force')
+ - "⊯": [T: "doble barra vertical negada con doble torniquete a la derecha"] # 0x22af (en: 'negated double vertical bar double right turnstile')
+ - "⊰": [T: "precede con respecto a"] # 0x22b0 (en: 'precedes under relation')
+ - "⊱": [T: "sigue con respecto a"] # 0x22b1 (en: 'succeeds under relation')
+ - "⊲": # 0x22b2
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "subgrupo normal de" # (en: 'a normal subgroup of')
+ - "⊳": [T: "contiene como subgrupo normal a"] # 0x22b3 (en: 'contains as a normal subgroup')
+ - "⊴": # 0x22b4
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "subgrupo normal o es igual a" # (en: 'a normal subgroup of or equal to')
+ - "⊵": [T: "contiene como subgrupo normal o es igual a"] # 0x22b5 (en: 'contains as a normal subgroup or equal to')
+ - "⊶": # 0x22b6
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "el original de" # (en: 'the original of')
+ - "⊷": # 0x22b7
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "imagen de" # (en: 'an image of')
+ - "⊸": [T: "multifunción"] # 0x22b8 (en: 'multimap')
+ - "⊹": [T: "matriz hermitiana conjugada"] # 0x22b9 (en: 'hermitian conjugate matrix')
+ - "⊺": [T: "intercalada"] # 0x22ba (en: 'intercalate')
+ - "⊻": [T: "o excluyente"] # 0x22bb (en: 'xor')
+ - "⊼": [T: "no y"] # 0x22bc (en: 'nand')
+ - "⊽": [T: "no o"] # 0x22bd (en: 'nor')
+ - "⊾": [T: "ángulo recto con arco"] # 0x22be (en: 'right angle with arc')
+ - "⊿": [T: "triángulo rectángulo"] # 0x22bf (en: 'right triangle')
+ - "⋀": [T: "y"] # 0x22c0 (en: 'logical and')
+ - "⋁": [T: "o"] # 0x22c1 (en: 'logical or')
+ - "⋂": [T: "intersección"] # 0x22c2 (en: 'intersection')
+ - "⋃": [T: "unión"] # 0x22c3 (en: 'union')
+ - "⋄": [T: "operador diamante"] # 0x22c4 (en: 'diamond operator')
+ - "⋅": # 0x22c5
+ - test:
+ if: "@data-chem-formula-op"
+ then: [T: "punto"] # (en: 'dot', google translation)
+ else: [T: "punto"] # (en: 'times')
+
+ - "⋆": [T: "operador estrella"] # 0x22c6 (en: 'times')
+ - "⋇": [T: "dividido por"] # 0x22c7 (en: 'division times')
+ - "⋈": [T: "moño"] # 0x22c8 (en: 'bowtie')
+ - "⋉": # 0x22c9
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "factor normal izquierdo producto semidirecto" # (en: 'the left normal factor semidirect product of')
+ - "⋊": # 0x22ca
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "factor normal derecho producto semidirecto" # (en: 'the right normal factor semidirect product of')
+ - "⋋": # 0x22cb
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "producto semidirecto izquierdo" # (en: 'the left semidirect product of')
+ - "⋌": # 0x22cc
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "producto semidirecto derecho" # (en: 'the right semidirect product of')
+ - "⋍": [T: "tilde invertida igual a"] # 0x22cd (en: 'reversed tilde equals')
+ - "⋎": [T: "o rotacional"] # 0x22ce (en: 'curly logical or')
+ - "⋏": [T: "y rotacional"] # 0x22cf (en: 'curly logical and')
+ - "⋐": # 0x22d0
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "subconjunto doble de" # (en: 'a double subset of')
+ - "⋑": # 0x22d1
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "superconjunto doble de" # (en: 'a double superset of')
+ - "⋒": # 0x22d2
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "la"] # (en: 'the', google translation)
+ - T: "doble intersección" # (en: 'double intersection of')
+ - "⋓": # 0x22d3
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "la"] # (en: 'the', google translation)
+ - T: "doble unión" # (en: 'double union of')
+ - "⋔": # 0x22d4
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "el"] # (en: 'the', google translation)
+ - T: "intersección propia de" # (en: 'proper intersection of')
+ - "⋕": # 0x22d5
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "paralela o igual a" # (en: 'equal to and parallel to')
+ - "⋖": [T: "menor que con punto"] # 0x22d6 (en: 'less than with dot')
+ - "⋗": [T: "mayor que con punto"] # 0x22d7 (en: 'greater than with dot')
+ - "⋘": # 0x22d8
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "mucho menor que" # (en: 'very much less than')
+ - "⋙": # 0x22d9
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "mucho mayor que" # (en: 'very much greater than')
+ - "⋚": # 0x22da
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "menor que igual a o mayor que" # (en: 'less than equal to or greater than')
+ - "⋛": # 0x22db
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "mayor que igual a o menor que" # (en: 'greater than equal to or less than')
+ - "⋜": # 0x22dc
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "menor o igual que" # (en: 'equal to or less than')
+ - "⋝": # 0x22dd
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "mayor o igual que" # (en: 'equal to or greater than')
+ - "⋞": # 0x22de
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "precede o es igual a" # (en: 'equal to or precedes')
+ - "⋟": # 0x22df
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "sigue o es igual a" # (en: 'equal to or succeeds')
+ - "⋠": [T: "no precede ni es igual a"] # 0x22e0 (en: 'does not precede nor is equal to')
+ - "⋡": [T: "no sigue ni es igual a"] # 0x22e1 (en: 'does not succeed nor is equal to')
+ - "⋢": [T: "no es imagen cuadrada ni igual a"] # 0x22e2 (en: 'not square image of or equal to')
+ - "⋣": [T: "no es original cuadrada ni igual a"] # 0x22e3 (en: 'not square original of or equal to')
+ - "⋤": [T: "imagen cuadrada precisa"] # 0x22e4 (en: 'square image of or not equal to')
+ - "⋥": [T: "cuadrada original precisa"] # 0x22e5 (en: 'square original of or not equal to')
+ - "⋦": # 0x22e6
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "menor que no equivalente a" # (en: 'less than but not equivalent to')
+ - "⋧": # 0x22e7
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "mayor que no equivalente a" # (en: 'greater than but not equivalent to')
+ - "⋨": [T: "precede pero no es equivalente a"] # 0x22e8 (en: 'precedes but is not equivalent to')
+ - "⋩": [T: "sigue pero no es equivalente a"] # 0x22e9 (en: 'succeeds but is not equivalent to')
+ - "⋪": # 0x22ea
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "no subgrupo normal de" # (en: 'not a normal subgroup of')
+ - "⋫": [T: "no contiene como subgrupo normal a"] # 0x22eb (en: 'does not contain as a normal subgroup')
+ - "⋬": # 0x22ec
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "no es subgrupo normal ni igual a" # (en: 'not a normal subgroup of nor is equal to')
+ - "⋭": [T: "no contiene como subgrupo normal ni es igual a"] # 0x22ed (en: 'does not contain as a normal subgroup nor is equal to')
+ - "⋮": [T: "puntos suspensivos verticales"] # 0x22ee (en: 'vertical ellipsis')
+ - "⋯": [T: "puntos suspensivos altos"] # 0x22ef (en: 'dot dot dot')
+ - "⋰": [T: "puntos suspensivos diagonales hacia arriba"] # 0x22f0 (en: 'upwards diagonal ellipsis')
+ - "⋱": [T: "puntos suspensivos diagonales hacia abajo"] # 0x22f1 (en: 'diagonal ellipsis')
+ - "⋲": [T: "pertenece a con trazo horizontal"] # 0x22f2 (en: 'element of with long horizontal stroke')
+ - "⋳": [T: "pertenece a con barra vertical al final del trazo horizontal"] # 0x22f3 (en: 'element of with vertical bar at end of horizontal stroke')
+ - "⋴": [T: "pertenece a con barra vertical al final del trazo horizontal"] # 0x22f4 (en: 'element of with vertical bar at end of horizontal stroke')
+ - "⋵": [T: "pertenece a con punto arriba"] # 0x22f5 (en: 'element of with dot above')
+ - "⋶": [T: "pertenece a con barra arriba"] # 0x22f6 (en: 'element of with overbar')
+ - "⋷": [T: "perteneciente subrayado"] # 0x22f7 (en: 'element of with overbar')
+ - "⋸": [T: "perteneciente subrayado"] # 0x22f8 (en: 'element of with underbar')
+ - "⋹": [T: "pertenece con dos trazos horizontales"] # 0x22f9 (en: 'element of with two horizontal strokes')
+ - "⋺": [T: "contiene o es igual a"] # 0x22fa (en: 'contains with long horizontal stroke')
+ - "⋻": [T: "contiene barra vertical al final de trazo horizontal"] # 0x22fb (en: 'contains with vertical bar at end of horizontal stroke')
+ - "⋼": [T: "contiene barra vertical al final de trazo horizontal"] # 0x22fc (en: 'contains with vertical bar at end of horizontal stroke')
+ - "⋽": [T: "contiene barra superior"] # 0x22fd (en: 'contains with overbar')
+ - "⋾": [T: "incluye barra superior"] # 0x22fe (en: 'contains with overbar')
+ - "⋿": [T: "z anotación pertenencia a bolsa"] # 0x22ff (en: 'z notation bag membership')
+ - "⌀": [T: "diámetro"] # 0x2300 (en: 'diameter')
+ - "⌁": [T: "flecha eléctrica"] # 0x2301 (en: 'electric arrow', google: 'flecha eléctrica')
+ - "⌂": [T: "casa"] # 0x2302 (en: 'house')
+ - "⌃": [T: "flecha arriba"] # 0x2303 (en: 'up arrowhead', google: 'arrowhead de flecha')
+ - "⌄": [T: "flecha con punta hacia abajo"] # 0x2304 (en: 'down arrowhead', google: 'abajo de arrowhead')
+ - "⌅": [T: "proyectiva"] # 0x2305 (en: 'projective')
+ - "⌆": [T: "perspectiva"] # 0x2306 (en: 'perspective')
+ - "⌇": [T: "línea ondulada"] # 0x2307 (en: 'wavy line')
+ - "⌈": [T: "límite superior izquierdo"] # 0x2308 (en: 'left ceiling')
+ - "⌉": [T: "límite superior derecho"] # 0x2309 (en: 'right ceiling')
+ - "⌊": [T: "límite inferior izquierdo"] # 0x230a (en: 'left floor')
+ - "⌋": [T: "límite inferior derecho"] # 0x230b (en: 'right floor')
+ - "⌌": [T: "corte inferior derecho"] # 0x230c (en: 'bottom right crop')
+ - "⌍": [T: "corte inferior izquierdo"] # 0x230d (en: 'bottom left crop')
+ - "⌎": [T: "corte superior derecho "] # 0x230e (en: 'top right crop', MathPlayer: 'corte superior derecho', google: 'cropa de arriba a la derecha')
+ - "⌏": [T: "corte superior izquierdo"] # 0x230f (en: 'top left crop')
+ - "⌐": [T: "no invertido"] # 0x2310 (en: 'reversed not sign')
+ - "⌑": [T: "rombo cuadrado"] # 0x2311 (en: 'square lozenge', google: 'pombra cuadrada')
+ - "⌒": [T: "arco"] # 0x2312 (en: 'arc')
+ - "⌓": [T: "segmento"] # 0x2313 (en: 'segment')
+ - "⌔": [T: "sector"] # 0x2314
+ - "⌕": [T: "grabadora telefónica"] # 0x2315 (en: 'telephone recorder', google: 'recordadora telefónica')
+ - "⌖": [T: "indicador de posición"] # 0x2316 (en: 'position indicator crosshairs', google: 'posición indicador de mira')
+ - "⌗": [T: "viewdata square"] # 0x2317 (google translation)
+ - "⌘": [T: "lugar del signo de interés"] # 0x2318 (en: 'place of interest sign', google: 'señal de lugar de interés')
+ - "⌙": [T: "signo no invertido"] # 0x2319 (en: 'turned not sign', google translation)
+ - "⌚": [T: "reloj"] # 0x231a (en: 'watch', google: 'mirar')
+ - "⌛": [T: "reloj de arena"] # 0x231b (en: 'hourglass', google translation)
+ - "⌜": [T: "ángulo superior izquierdo"] # 0x231c (en: 'top left corner')
+ - "⌝": [T: "ángulo superior derecho"] # 0x231d (en: 'top right corner')
+ - "⌞": [T: "ángulo inferior izquierdo"] # 0x231e (en: 'bottom left corner')
+ - "⌟": [T: "ángulo inferior derecho"] # 0x231f (en: 'bottom right corner')
+ - "⌠": [T: "mitad superior de integral"] # 0x2320 (en: 'top half integral')
+ - "⌡": [T: "mitad inferior de integral"] # 0x2321 (en: 'bottom half integral')
+ - "⌢": [T: "ceño fruncido"] # 0x2322 (en: 'frown', google: 'fruncir el ceño')
+ - "⌣": [T: "sonrisa"] # 0x2323 (en: 'smile')
+ - "⌤": [T: "flecha arriba entre dos barras horizontales"] # 0x2324 (en: 'up arrowhead between two horizontal bars', google: 'arrowehead de flecha entre dos barras horizontales')
+ - "⌥": [T: "clave de opción"] # 0x2325 (en: 'option key', google translation)
+ - "⌦": [T: "borrar hacia la derecha"] # 0x2326 (en: 'erase to the right', google translation)
+ - "⌧": [T: "x en un rectángulo"] # 0x2327 (en: 'x in a rectangle box', google translation)
+ - "⌨": [T: "teclado"] # 0x2328 (en: 'keyboard', google translation)
+ - "〈": [T: "paréntesis angular izquierdo"] # 0x2329 (en: 'left pointing angle bracket')
+ - "〉": [T: "paréntesis angular derecho"] # 0x232a (en: 'right pointing angle bracket')
+ - "⌫": [T: "borrar hacia la izquierda"] # 0x232b (en: 'erase to the left', google translation)
+ - "⌬": [T: "anillo de benceno"] # 0x232c (en: 'benzene ring', google translation)
+ - "⌭": [T: "cilindro"] # 0x232d (en: 'cylindricity')
+ - "⌮": [T: "perfil"] # 0x232e (en: 'all around profile', google: 'alrededor de perfil')
+ - "⌯": [T: "simetría"] # 0x232f (en: 'symmetry', google translation)
+ - "⌰": [T: "desviación total"] # 0x2330 (en: 'total runout', google translation)
+ - "⌱": [T: "origen de dimensión"] # 0x2331 (en: 'dimension origin', google translation)
+ - "⌲": [T: "cónico cónico"] # 0x2332 (en: 'conical taper', google translation)
+ - "⌳": [T: "pendiente"] # 0x2333 (en: 'slope', google translation)
+ - "⌴": [T: "contrataladro"] # 0x2334 (en: 'counterbore', google translation)
+ - "⌵": [T: "avellanador"] # 0x2335 (en: 'countersink', google translation)
+ - "⍰": [T: "interrogación en caja"] # 0x2370 (en: 'unknown box', google: 'caja desconocida')
+ - "⎕": [T: "caja"] # 0x2395 (en: 'box', google translation)
+ - "⏞": [T: "corchete rotacional superior"] # 0x23DE (en: 'top brace')
+ - "⏟": [T: "corchete rotacional inferior"] # 0x23DF (en: 'bottom brace')
+ - "①-⑨": # 0x2460 - 0x2469
+ - T: "corchete rotacional inferior" # (en: 'circled')
+ - spell: "translate('.', '①②③④⑤⑥⑦⑧⑨', '123456789')"
+ - "⑩": [T: "diez en un círculo"] # 0x2469 (en: 'circled ten', google translation)
+ - "⑪": [T: "once en un círculo"] # 0x246a (en: 'circled eleven', google translation)
+ - "⑫": [T: "doce en un círculo"] # 0x246b (en: 'circled twelve', google translation)
+ - "⑬": [T: "trece en un círculo"] # 0x246c (en: 'circled thirteen', google translation)
+ - "⑭": [T: "catorce en un círculo"] # 0x246d (en: 'circled fourteen', google translation)
+ - "⑮": [T: "quince en un círculo"] # 0x246e (en: 'circled fifteen', google translation)
+ - "⑯": [T: "dieciséis en un círculo"] # 0x246f (en: 'circled sixteen', google translation)
+ - "⑰": [T: "diecisiete en un círculo"] # 0x2470 (en: 'circled seventeen', google translation)
+ - "⑱": [T: "dieciocho en un círculo"] # 0x2471 (en: 'circled eighteen', google translation)
+ - "⑱": [T: "diecinueve en un círculo"] # 0x2471 (en: 'circled nineteen', google translation)
+ - "⑳": [T: "veinte en un círculo"] # 0x2473 (en: 'circled twenty', google translation)
+ - "⑴-⑼": # 0x2474 - 0x247d
+ - T: "entre paréntesis" # (en: 'parenthesized', google translation)
+ - spell: "translate('.', '⑴⑵⑶⑷⑸⑹⑺⑻⑼', '123456789')"
+ - "⑽": [T: "diez entre paréntesis"] # 0x247d (en: 'parenthesized ten', google translation)
+ - "⑾": [T: "once entre paréntesis"] # 0x247e (en: 'parenthesized eleven', google translation)
+ - "⑿": [T: "doce entre paréntesis"] # 0x247f (en: 'parenthesized twelve', google translation)
+ - "⒀": [T: "trece entre paréntesis"] # 0x2480 (en: 'parenthesized thirteen', google translation)
+ - "⒁": [T: "catorce entre paréntesis"] # 0x2481 (en: 'parenthesized fourteen', google translation)
+ - "⒂": [T: "quince entre paréntesis"] # 0x2482 (en: 'parenthesized fifteen', google translation)
+ - "⒃": [T: "dieciséis entre paréntesis"] # 0x2483 (en: 'parenthesized sixteen', google translation)
+ - "⒄": [T: "diecisiete entre paréntesis"] # 0x2484 (en: 'parenthesized seventeen', google translation)
+ - "⒅": [T: "dieciocho entre paréntesis"] # 0x2485 (en: 'parenthesized eighteen', google translation)
+ - "⒆": [T: "diecinueve entre paréntesis"] # 0x2486 (en: 'parenthesized nineteen', google translation)
+ - "⒇": [T: "veinte entre paréntesis"] # 0x2487 (en: 'parenthesized twenty', google translation)
+ - "⒈-⒐": # 0x2488 - 0x2491
+ - spell: "translate('.', '⒈⒉⒊⒋⒌⒍⒎⒏⒐', '123456789')"
+ - T: "con periodo" # (en: 'with period', google translation)
+ - "⒑": [T: "diez con signo de periodo"] # 0x2491 (en: 'ten with period', google translation)
+ - "⒒": [T: "once con signo de periodo"] # 0x2492 (en: 'eleven with period', google translation)
+ - "⒓": [T: "doce con signo de periodo"] # 0x2493 (en: 'twelve with period', google translation)
+ - "⒔": [T: "trece con signo de periodo"] # 0x2494 (en: 'thirteen with period', google translation)
+ - "⒕": [T: "catorce con signo de periodo"] # 0x2495 (en: 'fourteen with period', google translation)
+ - "⒖": [T: "quince con signo de periodo"] # 0x2496 (en: 'fifteen with period', google translation)
+ - "⒗": [T: "dieciséis con signo de periodo"] # 0x2497 (en: 'sixteen with period', google translation)
+ - "⒘": [T: "diecisiete con signo de periodo"] # 0x2498 (en: 'seventeen with period', google translation)
+ - "⒙": [T: "dieciocho con signo de periodo"] # 0x2499 (en: 'eighteen with period', google translation)
+ - "⒚": [T: "diecinueve con signo de periodo"] # 0x249a (en: 'nineteen with period', google translation)
+ - "⒛": [T: "veinte con signo de periodo"] # 0x249b (en: 'twenty with period', google translation)
+ - "⒜-⒵": # 0x249c - 0x24b5
+ - T: "entre paréntesis" # (en: 'parenthesized', google translation)
+ - spell: "translate('.', '⒜⒝⒞⒟⒠⒡⒢⒣⒤⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "Ⓐ-Ⓩ":
+ - T: "dentro de uncírculo" # (en: 'circled', google translation)
+ - spell: "translate('.', 'ⒶⒷⒸⒹⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉⓊⓋⓌⓍⓎⓏ', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "🅐-🅩": # 0x1f150 - 0x1f169
+ - T: "dentro de un círculo negro" # (en: 'black circled', google translation)
+ - spell: "translate('.', '🅐🅑🅒🅓🅔🅕🅖🅗🅘🅙🅚🅛🅜🅝🅞🅟🅠🅡🅢🅣🅤🅥🅦🅧🅨🅩', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "ⓐ-ⓩ": # 0x24d0 - 0x24e9
+ - T: "dentro de un círculo" # (en: 'circled', google translation)
+ - spell: "translate('.', 'ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ', 'abcdefghijklmnopqrstuvwxyz')"
+ - "⓪": [T: "cero en un círculo"] # 0x24ea (en: 'circled zero', google translation)
+ - "⓫": [T: "once en un círculo negro"] # 0x24eb (google translation)
+ - "⓬": [T: "doce en un círculo negro"] # 0x24ec (en: 'black circled twelve', google translation)
+ - "⓭": [T: "trece en un círculo negro"] # 0x24ed (en: 'black circled thirteen', google translation)
+ - "⓮": [T: "catorce en un círculo negro"] # 0x24ee (en: 'black circled fourteen', google translation)
+ - "⓯": [T: "quince en un círculo negro"] # 0x24ef (en: 'black circled fifteen', google translation)
+ - "⓰": [T: "dieciséis en un círculo negro"] # 0x24f0 (en: 'black circled sixteen', google translation)
+ - "⓱": [T: "diecisiete en un círculo negro"] # 0x24f1 (en: 'black circled seventeen', google translation)
+ - "⓲": [T: "dieciocho en un círculo negro"] # 0x24f2 (en: 'black circled eighteen', google translation)
+ - "⓳": [T: "diecinueve en un círculo negro"] # 0x24f3 (en: 'black circled nineteen', google translation)
+ - "⓴": [T: "veinte en un círculo negro"] # 0x24f4 (en: 'black circled twenty', google translation)
+ - "⓵-⓽": # 0x24f5 - 0x24fe
+ - T: "doble círculo" # (en: 'double circled', google translation)
+ - spell: "translate('.', '⓵⓶⓷⓸⓹⓺⓻⓼⓽', '123456789')"
+ - "⓾": [T: "diez en un doble círculo"] # 0x24fe (en: 'double circled ten', google translation)
+ - "⓿": [T: "cero en círculo negro"] # 0x24ff (en: 'black circled zero', google translation)
+ - "■": [T: "cuadrado negro"] # 0x25a0 (en: 'black square')
+ - "□": [T: "cuadrado blanco"] # 0x25a1 (en: 'white square')
+ - "▢": [T: "cuadrado blanco con esquinas redondeadas"] # 0x25a2 (en: 'white square with rounded corners')
+ - "▣": [T: "cuadrado blanco que contiene cuadrado pequeño negro"] # 0x25a3 (en: 'white square containing small black square', google: 'cuadrado blanco que contiene un pequeño cuadrado negro')
+ - "▤": [T: "cuadrado con relleno horizontal"] # 0x25a4 (en: 'square with horizontal fill')
+ - "▥": [T: "cuadrado con relleno vertical"] # 0x25a5 (en: 'square with vertical fill')
+ - "▦": [T: "cuadrado con relleno octogonal de rayas"] # 0x25a6 (en: 'square with orthogonal crosshatch fill', google: 'cuadrado con relleno ortogonal de muñeca')
+ - "▧": [T: "cuadrado con la esquina superior izquierda hacia la parte derecha inferior del relleno"] # 0x25a7 (en: 'square with upper left to lower right fill', google: 'cuadrado con la parte superior izquierda a la parte inferior del relleno derecho')
+ - "▨": [T: "cuadrado con la parte superior derecha hacia la parte inferior izquierda del relleno"] # 0x25a8 (en: 'square with upper right to lower left fill', google: 'cuadrado con la parte superior derecha a la parte inferior izquierda del relleno')
+ - "▩": [T: "cuadrado con relleno diagonal rayado"] # 0x25a9 (en: 'square with diagonal crosshatch fill', google: 'cuadrado con relleno de shatch diagonal')
+ - "▪": [T: "cuadrado pequeño negro"] # 0x25aa (en: 'black small square')
+ - "▫": [T: "cuadrado pequeño blanco"] # 0x25ab (en: 'white small square')
+ - "▬": [T: "rectángulo negro"] # 0x25ac (en: 'black rectangle')
+ - "▭": [T: "rectángulo blanco"] # 0x25ad (en: 'white rectangle')
+ - "▮": [T: "rectángulo relleno vertical"] # 0x25ae (en: 'black vertical rectangle')
+ - "▯": [T: "rectángulo vertical blanco"] # 0x25af (en: 'white vertical rectangle')
+ - "▰": [T: "paralelogramo negro"] # 0x25b0 (en: 'black parallelogram', google: 'paralelograma negro')
+ - "▱": [T: "paralelogramo blanco"] # 0x25b1 (en: 'white parallelogram')
+ - "▲": [T: "triángulo negro apuntando hacia arriba"] # 0x25b2 (en: 'black up pointing triangle')
+ - "△": [T: "triángulo blanco apuntando hacia arriba"] # 0x25b3 (en: 'white up pointing triangle')
+ - "▴": [T: "triángulo negro pequeño apuntando hacia arriba"] # 0x25b4 (en: 'black up pointing small triangle')
+ - "▵": [T: "triángulo blanco pequeño apuntando hacia arriba"] # 0x25b5 (en: 'white up pointing small triangle')
+ - "▶": [T: "triángulo negro apuntando hacia la derecha"] # 0x25b6 (en: 'black right pointing triangle')
+ - "▷": [T: "triángulo blanco apuntando hacia la derecha"] # 0x25b7 (en: 'white right pointing triangle')
+ - "▸": [T: "triángulonegro pequeño apuntando hacia la derecha"] # 0x25b8 (en: 'black right pointing small triangle')
+ - "▹": [T: "triángulo blanco pequeño apuntando hacia la derecha"] # 0x25b9 (en: 'white right pointing small triangle')
+ - "►": [T: "indicador negro apuntando a la derecha"] # 0x25ba (en: 'black right pointing pointer', google: 'puntero de punta derecha negra')
+ - "▻": [T: "indicador blanco apuntando hacia la derecha"] # 0x25bb (en: 'white right pointing pointer', google: 'puntero de punta derecha blanca')
+ - "▼": [T: "triángulo negro apuntando hacia abajo"] # 0x25bc (en: 'black down pointing triangle')
+ - "▽": [T: "triángulo blanco apuntando hacia abajo"] # 0x25bd (en: 'white down pointing triangle')
+ - "▾": [T: "pequeño triángulo negro apuntando hacia abajo"] # 0x25be (en: 'black down pointing small triangle')
+ - "▿": [T: "triángulo pequeño blanco apuntando hacia abajo"] # 0x25bf (en: 'white down pointing small triangle')
+ - "◀": [T: "triángulo negro apuntando hacia la izquierda"] # 0x25c0 (en: 'black left pointing triangle')
+ - "◁": [T: "triángulo blanco apuntando hacia la izquierda"] # 0x25c1 (en: 'white left pointing triangle')
+ - "◂": [T: "pequeño triángulo negro apuntando hacia la izquierda izquierda"] # 0x25c2 (en: 'black left pointing small triangle')
+ - "◃": [T: "pequeño triángulo blanco apuntando hacia la izquierda"] # 0x25c3 (en: 'white left pointing small triangle')
+ - "◄": [T: "puntero negro apuntando hacia la izquierda"] # 0x25c4 (en: 'black left pointing pointer')
+ - "◅": [T: "puntero blanco apuntando hacia la izquierda"] # 0x25c5 (en: 'white left pointing pointer')
+ - "◆": [T: "rombo negro"] # 0x25c6 (en: 'black diamond')
+ - "◇": [T: "rombo blanco"] # 0x25c7 (en: 'white diamond')
+ - "◈": [T: "rombo blanco contiene rombo pequeño negro"] # 0x25c8 (en: 'white diamond containing black small diamond')
+ - "◉": [T: "ojo de pez"] # 0x25c9 (en: 'fisheye')
+ - "◊": [T: "rombo"] # 0x25ca (en: 'lozenge')
+ - "○": [T: "círculo blanco"] # 0x25cb (en: 'white circle')
+ - "◌": [T: "círculo punteado"] # 0x25cc (en: 'dotted circle')
+ - "◍": [T: "círculo con relleno vertical"] # 0x25cd (en: 'circle with vertical fill')
+ - "◎": [T: "diana"] # 0x25ce (en: 'bullseye')
+ - "●": [T: "círculo negro"] # 0x25cf (en: 'black circle')
+ - "◐": [T: "círculo con mitad izquierda negra"] # 0x25d0 (en: 'circle with left half black')
+ - "◑": [T: "círculo con mitad derecha negra"] # 0x25d1 (en: 'circle with right half black')
+ - "◒": [T: "círculo con mitad inferior negra"] # 0x25d2 (en: 'circle with lower half black')
+ - "◓": [T: "círculo con mitad superior negra"] # 0x25d3
+ - "◔": [T: "círculo con cuadrante superior derecho relleno"] # 0x25d4 (en: 'circle with upper right quadrant black')
+ - "◕": [T: "círculo con cuadrante superior izquierdo negro"] # 0x25d5 (en: 'circle with all but upper left quadrant black')
+ - "◖": [T: "semicírculo izquierdo negro"] # 0x25d6 (en: 'left half black circle')
+ - "◗": [T: "semicírculo derecho negro"] # 0x25d7 (en: 'right half black circle')
+ - "◘": [T: "viñeta inversa"] # 0x25d8 (en: 'inverse bullet')
+ - "◙": [T: "círculo blanco inverso"] # 0x25d9 (en: 'inverse white circle')
+ - "◚": [T: "semicírculo superior blanco inverso"] # 0x25da (en: 'upper half inverse white circle')
+ - "◛": [T: "semicírculo inferior blanco inverso"] # 0x25db (en: 'lower half inverse white circle')
+ - "◜": [T: "cuadrante superior izquierdo arco circular"] # 0x25dc (en: 'upper left quadrant circular arc')
+ - "◝": [T: "cuadrante superior derecho arco circular"] # 0x25dd (en: 'upper right quadrant circular arc')
+ - "◞": [T: "cuadrante inferior derecho arco circular"] # 0x25de (en: 'lower right quadrant circular arc')
+ - "◟": [T: "cuadrante inferior izquierdo arco circular"] # 0x25df (en: 'lower left quadrant circular arc')
+ - "◠": [T: "semicírculo superior"] # 0x25e0 (en: 'upper half circle')
+ - "◡": [T: "semicírculo inferior"] # 0x25e1 (en: 'lower half circle')
+ - "◢": [T: "triángulo inferior derecha relleno"] # 0x25e2 (en: 'black lower right triangle')
+ - "◣": [T: "triángulo negro inferior izquierdo"] # 0x25e3 (en: 'black lower left triangle')
+ - "◤": [T: "triángulo negro superior izquierdo"] # 0x25e4 (en: 'black upper left triangle')
+ - "◥": [T: "triángulo negro superior derecho"] # 0x25e5 (en: 'black upper right triangle')
+ - "◦": [T: "composición"] # 0x25e6 (en: 'composition')
+ - "◧": [T: "cuadrado con mitad izquierda negra"] # 0x25e7 (en: 'square with left half black')
+ - "◨": [T: "cuadrado con mitad derecha negra"] # 0x25e8 (en: 'square with right half black')
+ - "◩": [T: "cuadrado con mitad superior izquierda negra"] # 0x25e9 (en: 'square with upper left half black')
+ - "◪": [T: "cuadrado con mitad inferior derecha negra"] # 0x25ea (en: 'square with lower right half black')
+ - "◫": [T: "cuadrado blanco con bisectriz"] # 0x25eb (en: 'white square with bisecting line')
+ - "◬": [T: "triángulo blanco apuntando hacia arriba con punto"] # 0x25ec (en: 'white up pointing triangle with dot')
+ - "◭": [T: "triángulo apuntando hacia arriba con mitad izquierda negra"] # 0x25ed (en: 'up pointing triangle with left half black')
+ - "◮": [T: "triángulo apuntando hacia arriba con mitad derecha negra"] # 0x25ee (en: 'up pointing triangle with right half black')
+ - "◯": [T: "círculo grande"] # 0x25ef (en: 'large circle')
+ - "◰": [T: "cuadrado blanco con cuadrante superior izquierdo"] # 0x25f0 (en: 'white square with upper left quadrant')
+ - "◱": [T: "cuadrado blanco con cuadrante inferior izquierdo"] # 0x25f1 (en: 'white square with lower left quadrant')
+ - "◲": [T: "cuadrado blanco con cuadrante inferior derecho"] # 0x25f2 (en: 'white square with lower right quadrant')
+ - "◳": [T: "cuadrado blanco con cuadrante superior derecho"] # 0x25f3 (en: 'white square with upper right quadrant')
+ - "◴": [T: "círculo blanco con cuadrante superior izquierdo"] # 0x25f4 (en: 'white circle with upper left quadrant')
+ - "◵": [T: "círculo blanco con cuadrante inferior izquierdo"] # 0x25f5 (en: 'white circle with lower left quadrant')
+ - "◶": [T: "círculo blanco con cuadrante inferior derecho"] # 0x25f6 (en: 'white circle with lower right quadrant')
+ - "◷": [T: "círculo blanco con cuadrante superior derecho"] # 0x25f7 (en: 'white circle with upper right quadrant', google: 'círculo blanco con cuadrante superior derecha')
+ - "◸": [T: "triángulo superior izquierdo"] # 0x25f8 (en: 'upper left triangle')
+ - "◹": [T: "triángulo superior derecho"] # 0x25f9 (en: 'upper right triangle')
+ - "◺": [T: "triángulo inferior izquierda"] # 0x25fa (en: 'lower left triangle')
+ - "◻": [T: "cuadrado blanco mediano"] # 0x25fb (en: 'white medium square')
+ - "◼": [T: "cuadrado negro mediano"] # 0x25fc (en: 'black medium square')
+ - "◽": [T: "cuadrado pequeño medianamente vacío"] # 0x25fd (en: 'white medium small square')
+ - "◾": [T: "cuadrado pequeño medianamente lleno"] # 0x25fe (en: 'black medium small square')
+ - "◿": [T: "triángulo inferior derecho"] # 0x25ff (en: 'lower right triangle')
+ - "♠": [T: "picas"] # 0x2660 (google: 'traje de pala negro')
+ - "♡": [T: "corazones"] # 0x2661 (google: 'traje de corazón blanco')
+ - "♢": [T: "diamantes"] # 0x2662 (google: 'traje de diamante blanco')
+ - "♣": [T: "trébol"] # 0x2663 (google: 'traje de club negro')
+ - "♤": [T: "picas"] # 0x2664 (google: 'traje de pala blanca')
+ - "♥": [T: "corazones"] # 0x2665 (google: 'traje de corazón negro')
+ - "♦": [T: "diamantes"] # 0x2666 (google: 'traje de diamante negro')
+ - "♧": [T: "trébol"] # 0x2667 (google: 'traje de club blanco')
+ - "❨": [T: "ornamento en paréntesis mediano izquierdo"] # 0x2768 (en: 'medium left parentheses ornament', google: 'medio de la paréntesis de la izquierda adorno')
+ - "❩": [T: "ornamento en paréntesis mediano derecho"] # 0x2769 (en: 'medium right parentheses ornament', google: 'medio derecho a la derecha del adorno')
+ - "❪": [T: "ornamento en paréntesis izquierdo medio aplanado"] # 0x276a (en: 'medium flattened left parentheses ornament', google: 'medio aplanado a la izquierda paréntesis de adornos')
+ - "❫": [T: "ornamento en paréntesis derecho medio aplanado"] # 0x276b (en: 'medium flattened right parentheses ornament', google: 'medio aplanado a la derecha paréntesis de adornos')
+ - "❬": [T: "ornamento en soporte de ángulo medio apuntando hacia la izquierda"] # 0x276c (en: 'medium left-pointing angle bracket ornament', google: 'ornamento de soporte de ángulo de punta izquierda mediana')
+ - "❭": [T: "ornamento en soporte de ángulo medio apuntando hacia la derecha"] # 0x276d (en: 'medium right-pointing angle bracket ornament', google: 'ornamento de soporte de ángulo de punta derecha mediana')
+ - "❮": [T: "ornamento en comillas en el ángulo que apunta hacia la izquierda"] # 0x276e (en: 'heavy left-pointing angle quotation mark ornament', google: 'ornamento de cita de ángulo de punta izquierda pesada')
+ - "❯": [T: "ornamento en comillas en el ángulo recto que apunta hacia la derecha"] # 0x276f (en: 'heavy right-pointing angle quotation mark ornament', google: 'ornamento de cita de cita de ángulo derecho pesado')
+ - "❰": [T: "ornamento en soporte del ángulo que apunta a la izquierda"] # 0x2770 (en: 'heavy left-pointing angle bracket ornament', google: 'adorno de soporte de ángulo izquierdo pesado')
+ - "❱": [T: "ornamento en soporte del ángulo que apunta hacia la derecha"] # 0x2771 (en: 'heavy right-pointing angle bracket ornament', google: 'ornamento de soporte de ángulo de punta derecha pesada')
+ - "❲": [T: "ornamento en soporte de concha de tortuga a la izquierda"] # 0x2772 (en: 'light left tortoise shell bracket ornament', google: 'ornamento de soporte de concha de tortuga de luz')
+ - "❳": [T: "ornamento en corchete derecho de concha de tortuga hacia la derecha"] # 0x2773 (en: 'light right tortoise shell bracket ornament', google: 'ornamento de soporte de carcasa de tortuga ligera')
+ - "❴": [T: "ornamento en soporte izquierdo mediano"] # 0x2774 (en: 'medium left brace ornament', google: 'ornamento de brace izquierdo mediano')
+ - "❵": [T: "ornamento en soporte derechomediano"] # 0x2775 (en: 'medium right brace ornament', google: 'ornamento de aparato ortopédico medio derecho')
+ - "❶": [T: "círculo negro rodeando uno"] # 0x2776 (en: 'black circled one', google translation)
+ - "❷": [T: "c´riculo negro rodeando dos"] # 0x2777 (en: 'black circled two', google translation)
+ - "❸": [T: "círculo negro rodeando tres"] # 0x2778 (en: 'black circled three', google translation)
+ - "❹": [T: "círculo negro rodeando cuatro"] # 0x2779 (en: 'black circled four', google translation)
+ - "❺": [T: "círculo negro rodeando cinco"] # 0x277a (en: 'black circled five', google translation)
+ - "❻": [T: "círculo negro rodeando seis"] # 0x277b (en: 'black circled six', google translation)
+ - "❼": [T: "círculo negro rodeando siete"] # 0x277c (en: 'black circled seven', google translation)
+ - "❽": [T: "círculo negro rodeando ocho"] # 0x277d (en: 'black circled eight', google translation)
+ - "❾": [T: "círculo negro rodeando nueve"] # 0x277e (en: 'black circled nine', google translation)
+ - "❿": [T: "círculo negro rodeando diez"] # 0x277f (en: 'black circled ten', google translation)
+ - "➀": [T: "círculo rodeando sans serif uno"] # 0x2780 (en: 'circled sans serif one', google translation)
+ - "➁": [T: "círculo rodeando sans serif dos"] # 0x2781 (en: 'circled sans serif two', google translation)
+ - "➂": [T: "círculo rodeando sans serif tres"] # 0x2782 (en: 'circled sans serif three', google translation)
+ - "➃": [T: "círculo rodeando sans serif cuatro"] # 0x2783 (en: 'circled sans serif four', google translation)
+ - "➄": [T: "círculo rodeando sans serif cinco"] # 0x2784 (en: 'circled sans serif five', google translation)
+ - "➅": [T: "círculo rodeando sans serif seis"] # 0x2785 (en: 'circled sans serif six', google translation)
+ - "➆": [T: "círculo rodeando sans serif siete"] # 0x2786 (en: 'circled sans serif seven', google translation)
+ - "➇": [T: "círculo rodeando sans serif ocho"] # 0x2787 (en: 'circled sans serif eight', google translation)
+ - "➈": [T: "círculo rodeando sans serif nueve"] # 0x2788 (en: 'circled sans serif nine', google translation)
+ - "➉": [T: "círculo rodeando sans serif diez"] # 0x2789 (en: 'circled sans serif ten', google translation)
+ - "➊": [T: "círculo negro rodeando sans serif uno"] # 0x278a (google translation)
+ - "➋": [T: "círculo negro rodeando sans serif dos"] # 0x278b (en: 'black circled sans serif two', google translation)
+ - "➌": [T: "círculo negro rodeando sans serif tres"] # 0x278c (en: 'black circled sans serif three', google translation)
+ - "➍": [T: "círculo negro rodeando sans serif cuatro"] # 0x278d (google translation)
+ - "➎": [T: "círculo negro rodeando sans serif cinco"] # 0x278e (google translation)
+ - "➏": [T: "círculo negro rodeando sans serif seis"] # 0x278f (google translation)
+ - "➐": [T: "círculo negro rodeando sans serif siete"] # 0x2790 (google translation)
+ - "➑": [T: "círculo negro rodeando sans serif ocho"] # 0x2791 (en: 'black circled sans serif eight', google translation)
+ - "➒": [T: "círculo negro rodeando sans serif nueve"] # 0x2792 (google translation)
+ - "➓": [T: "círculo negro rodeando sans serif diez"] # 0x2793 (google translation)
+ - "➔": [T: "flecha hacia la derecha con cabeza ancha"] # 0x2794 (en: 'heavy wide-headed rightwards arrow', google: 'a la cabeza ancha de cabeza ancha')
+ - "➕": [T: "signo más"] # 0x2795 (en: 'heavy plus sign', google: 'señal de plus plus')
+ - "➖": [T: "signo menos"] # 0x2796 (en: 'heavy minus sign', google: 'fuerte señal menos')
+ - "➗": [T: "signo de dividir"] # 0x2797 (en: 'heavy division sign', google: 'señal de división pesada')
+ - "➘": [T: "flecha gruesa hacia el sudeste"] # 0x2798 (en: 'heavy south east arrow', google: 'heavy south east arrow')
+ - "➙": [T: "flecha gruesa hacia la derecha"] # 0x2799 (en: 'heavy rightwards arrow', google: 'flecha pesada hacia la derecha')
+ - "➚": [T: "flecha gruesa hacia el nordeste"] # 0x279a (en: 'heavy north east arrow', google: 'heavy north east arrow')
+ - "➛": [T: "flecha hacia la derecha con punto centrado"] # 0x279b (en: 'drafting point rightwards arrow', google: 'punto de redacción arrow hacia la derecha')
+ - "➜": [T: "flecha hacia la derecha con punta gruesa y redonda"] # 0x279c (en: 'heavy round-tipped rightwards arrow', google: 'arrow de la derecha pesada con punta redonda')
+ - "➝": [T: "flecha hacia la derecha con cabeza triangular"] # 0x279d (en: 'triangle-headed rightwards arrow', google: 'arrow de cabeza de triángulo')
+ - "➞": [T: "flecha hacia la derecha con cabeza gruesa triangular"] # 0x279e (en: 'heavy triangle-headed rightwards arrow', google: 'arrow de cabeza de triángulo pesado hacia el triángulo')
+ - "➟": [T: "flecha discontinua hacia la derecha de cabeza triangular"] # 0x279f (en: 'dashed triangle-headed rightwards arrow', google: 'arrow de cabeza de triángulo discontinua')
+ - "➠": [T: "flecha gruesa derecha discontinua con cabeza triangular"] # 0x27a0 (en: 'heavy dashed triangle-headed rightwards arrow', google: 'arrow de cabeza de triángulo pesado con cabeza de triángulo')
+ - "➡": [T: "flecha negra hacia la derecha"] # 0x27a1 (en: 'black rightwards arrow', google: 'negra flecha derecha hacia la derecha')
+ - "➢": [T: "flecha hacia la derecha tres d en parte superior"] # 0x27a2 (en: 'three d top lighted rightwards arrow', google: 'tres d top iluminados con flecha hacia la derecha')
+ - "➣": [T: "flecha hacia la derecha tres d en parte inferior en tres dimensiones"] # 0x27a3 (en: 'three d bottom lighted rightwards arrow', google: 'tres d de fondo iluminado hacia la derecha')
+ - "➤": [T: "punta de flecha negra hacia la derecha"] # 0x27a4 (en: 'black rightwards arrowhead', google: 'black rightwards arrowhead')
+ - "➥": [T: "flecha gruesa y negra curvada hacia la derecha y hacia abajo"] # 0x27a5 (en: 'heavy black curved downwards and rightwards arrow', google: 'negro pesado curvado hacia abajo y flecha derecha')
+ - "➦": [T: "flecha gruesa y negra curvada hacia la derecha y hacia arriba"] # 0x27a6 (en: 'heavy black curved upwards and rightwards arrow', google: 'negro pesado curvado hacia arriba y flecha hacia la derecha')
+ - "➧": [T: "flecha negra corta hacia la derecha"] # 0x27a7 (en: 'squat black rightwards arrow', google: 'corta la flecha negra a la derecha')
+ - "➨": [T: "flecha negra hacia la derecha con punta cóncava"] # 0x27a8 (en: 'heavy concave-pointed black rightwards arrow', google: 'flecha negra cóncava pesada pesada hacia la derecha')
+ - "➩": [T: "flecha hacia la derecha sombreada en la parte derecha"] # 0x27a9 (en: 'right-shaded white rightwards arrow', google: 'flecha blanca a la derecha de sombreado derecho')
+ - "➪": [T: "flecha blanca hacia la derecha sombreada en la parte izquierda"] # 0x27aa (en: 'left-shaded white rightwards arrow', google: 'flecha blanca a la derecha de sombreado izquierdo')
+ - "➫": [T: "flecha blanca hacia la derecha con sonbra inclinada hacia la parte posterior"] # 0x27ab (en: 'bck-tilted shadowed white rightwards arrow', google: 'flecha blanca a la derecha en la espalda')
+ - "➬": [T: "flecha blanca hacia la derecha con sombra inclinada hacia la parte anterior"] # 0x27ac (en: 'front-tilted shadowed white rightwards arrow', google: 'flecha blanca a la derecha sombreada en la sombra frontal')
+ - "➭": [T: "flecha gruesa inferior hacia la derecha sombreada en la parte derecha"] # 0x27ad (en: 'heavy lower right-shadowed white rightwards arrow', google: 'flecha blanca hacia la derecha inferior derecha pesada')
+ - "➮": [T: "flecha gruesa superior hacia la derecha sombreada en la parte derecha"] # 0x27ae (en: 'heavy upper right-shadowed white rightwards arrow', google: 'flecha blanca hacia la derecha de la parte superior derecha pesada')
+ - "➯": [T: "flecha escopleada inferior hacia la derecha sombreada en la parte derecha"] # 0x27af (en: 'notched lower right-shadowed white rightwards arrow', google: 'muesca con muescas de la flecha blanca a la derecha de la derecha inferior')
+ - "➱": [T: "flecha escopleada superior hacia la derecha sombreada en la parte derecha"] # 0x27b1 (en: 'notched upper right-shadowed white rightwards arrow', google: 'arrow blanca de sombra superior derecha con muescas de la parte superior')
+ - "➲": [T: "flecha blanca hacia la derecha rodeada por un círculo grueso"] # 0x27b2 (en: 'circled heavy white rightwards arrow', google: 'flecha de color blanco pesado con rodajas')
+ - "➳": [T: "flecha hacia la derecha con pluma blanca"] # 0x27b3 (en: 'white-feathered rightwards arrow', google: 'flecha derecha de plumas blancas')
+ - "➴": [T: "flecha sudeste con pluma negra"] # 0x27b4 (en: 'black-feathered south east arrow', google: 'flecha del sureste de plumas negras')
+ - "➵": [T: "flecha hacia la derecha con pluma negra"] # 0x27b5 (en: 'black-feathered rightwards arrow', google: 'flecha derecha de plumas negras')
+ - "➶": [T: "flecha nordeste con pluma negra"] # 0x27b6 (en: 'black-feathered north east arrow', google: 'flecha del noreste de plumas negras')
+ - "➷": [T: "flecha sudeste con pluma negra y gruesa"] # 0x27b7 (en: 'heavy black-feathered south east arrow', google: 'pesada flecha del sureste de plumas negras')
+ - "➸": [T: "flecha hacia la derecha con pluma gruesa y negra"] # 0x27b8 (en: 'heavy black-feathered rightwards arrow', google: 'flecha pesada de plumas negras hacia la derecha')
+ - "➹": [T: "flecha nordeste con pluma negra y gruesa"] # 0x27b9 (en: 'heavy black-feathered north east arrow', google: 'pesada flecha del noreste de plumas negras')
+ - "➺": [T: "flecha hacia la derecha con punta en forma de lágrima"] # 0x27ba (en: 'teradrop-barbed rightwards arrow', google: 'teradrop-barbed rightwards arrow')
+ - "➻": [T: "flecha hacia la derecha con punta en forma de lágrima"] # 0x27bb (en: 'heavy teardrop-shanked rightwards arrow', google: 'arrow a la derecha de la lágrima pesada hacia la lágrima')
+ - "➼": [T: "flecha hacia la derecha con cola de cuña"] # 0x27bc (en: 'wedge-tailed rightwards arrow', google: 'arrow de cola de cola de cuña')
+ - "➽": [T: "flecha hacia la derecha con cola de cuña gruesa"] # 0x27bd (en: 'heavy wedge-tailed rightwards arrow', google: 'flecha de cola de cuña pesada')
+ - "➾": [T: "flecha abierta delineada hacia fuera"] # 0x27be (en: 'open-outlined rightwards arrow', google: 'abra por la flecha de la derecha abierta')
+ - "⟀": [T: "ángulo tridimensional"] # 0x27c0 (en: 'three dimensional angle')
+ - "⟁": [T: "triángulo blanco conteniendo triángulo pequeño y blanco"] # 0x27c1 (en: 'white triangle containing small white triangle')
+ - "⟂": # 0x27c2
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "perpendicular a" # (en: 'perpendicular to')
+ - "⟃": # 0x27c3
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "un subconjunto de" # (en: 'an open subset of')
+ - "⟄": # 0x27c4
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "un subconjunto de" # (en: 'an open superset of')
+ - "⟅": [T: "símbolo delimitador con forma de s inversa"] # 0x27c5 (en: 'left s-shaped bag delimiter')
+ - "⟆": [T: "símbolo delimitador con forma de s"] # 0x27c6 (en: 'right s-shaped bag delimiter')
+ - "⟇": [T: "o con punto en el interior"] # 0x27c7 (en: 'or with dot inside')
+ - "⟈": [T: "solidus inverso precediendo subconjunto"] # 0x27c8 (en: 'reverse solidus preceding subset')
+ - "⟉": [T: "superconjunto precediendo solidus"] # 0x27c9 (en: 'superset preceding solidus')
+ - "⟊": [T: "barra vertical con trazo horizontal"] # 0x27ca (en: 'vertical bar with horizontal stroke')
+ - "⟋": [T: "diagonal ascendiente"] # 0x27cb (en: 'mathematical rising diagonal', google: 'diagonal matemática en ascenso')
+ - "⟌": [T: "división larga"] # 0x27cc (en: 'long division')
+ - "⟍": [T: "diagonal descendente"] # 0x27cd (en: 'mathematical falling diagonal', google: 'diagonal de caída matemática')
+ - "⟎": [T: "cuadrado Lógico Y"] # 0x27ce (en: 'squared logical and', google: 'cuadrado lógico y')
+ - "⟏": [T: "cuadrado Lógico O"] # 0x27cf (en: 'squared logical or', google: 'cuadrado lógico o')
+ - "⟐": [T: "diamante blanco con punto centrado"] # 0x27d0 (en: 'white diamond with centered dot')
+ - "⟑": [T: "y con punto interior"] # 0x27d1 (en: 'and with dot')
+ - "⟒": [T: "elemento de apertura hacia arriba"] # 0x27d2 (en: 'element of opening upwards')
+ - "⟓": [T: "esquina inferior derecha con punto"] # 0x27d3 (en: 'lower right corner with dot')
+ - "⟔": [T: "esquina superior izquierda con punto"] # 0x27d4 (en: 'upper left corner with dot')
+ - "⟕": [T: "unión exterior izquierda"] # 0x27d5 (en: 'left outer join')
+ - "⟖": [T: "unión exterior derecha"] # 0x27d6 (en: 'right outer join')
+ - "⟗": [T: "unión exterior llena de"] # 0x27d7 (en: 'full outer join')
+ - "⟘": [T: "perpendicular inversa"] # 0x27d8 (en: 'large up tack')
+ - "⟙": [T: "perpendicular"] # 0x27d9 (en: 'large down tack')
+ - "⟚": [T: "izquierdo y derecho doble torniquete"] # 0x27da (en: 'left and right double turnstile')
+ - "⟛": [T: "doble T horizontal"] # 0x27db (en: 'left and right tack')
+ - "⟜": [T: "multifunción por la izquierda"] # 0x27dc (en: 'left multimap')
+ - "⟝": [T: "t horizontal derecha"] # 0x27dd (en: 'long right tack', MathPlayer: 'T horizontal derecha larga', google: 'tachuela a la derecha larga')
+ - "⟞": [T: "t horizontal izquierda"] # 0x27de (en: 'long left tack', MathPlayer: 'T horizontal izquierda larga', google: 'táctica izquierda larga')
+ - "⟟": [T: "perpendicular inversa con círculo arriba"] # 0x27df (en: 'up tack with circle above')
+ - "⟠": [T: "rombo dividido por regla horizontal"] # 0x27e0 (en: 'lozenge divided by horizontal rule')
+ - "⟡": [T: "rombo blanco cóncavo"] # 0x27e1 (en: 'white concave sided diamond')
+ - "⟢": [T: "rombo blanco cóncavo con marca hacia la izquierda"] # 0x27e2 (en: 'white concave sided diamond with leftwards tick')
+ - "⟣": [T: "rombo cóncavo con marca hacia la derecha"] # 0x27e3 (en: 'white concave sided diamond with rightwards tick')
+ - "⟤": [T: "cuadrado blanco con marca hacia la izquierda"] # 0x27e4 (en: 'white square with leftwards tick')
+ - "⟥": [T: "cuadrado blanco con marca hacia la derecha"] # 0x27e5 (en: 'white square with rightwards tick')
+ - "⟦": [T: "abrir corchete"] # 0x27e6 (en: 'left white square bracket')
+ - "⟧": [T: "cerrar corchete"] # 0x27e7 (en: 'right white square bracket')
+ - "⟨": [T: "soporte angular izquierdo"] # 0x27e8 (en: 'left angle bracket')
+ - "⟩": [T: "soporte angular derecho"] # 0x27e9 (en: 'right angle bracket')
+ - "⟪": [T: "doble corchetehacia la izquierda"] # 0x27ea (en: 'left double angle bracket')
+ - "⟫": [T: "doble corchete hacia la derecha"] # 0x27eb (en: 'right double angle bracket')
+ - "⟬": [T: "corchete blanco hacia la izquierda con concha de tortuga"] # 0x27ec (en: 'left white tortoise shell bracket')
+ - "⟭": [T: "corchete blanco hacia la derecha con concha de tortuga"] # 0x27ed (en: 'right white tortoise shell bracket', MathPlayer: 'corchete de tortuga vacío derecho', google: 'soporte de carcasa de tortuga blanca derecha')
+ - "⟮": [T: "paréntesis plano izquierdo"] # 0x27ee (en: 'left flattened parenthesis')
+ - "⟯": [T: "paréntesis plano derecho"] # 0x27ef (en: 'right flattened parenthesis')
+ - "⟰": [T: "flecha cuádruple hacia arriba"] # 0x27f0 (en: 'upwards quadruple arrow')
+ - "⟱": [T: "flecha cuádruple hacia abajo"] # 0x27f1 (en: 'downwards quadruple arrow')
+ - "⟲": [T: "flecha circular vacía en sentido contrario a las agujas del reloj"] # 0x27f2 (en: 'anticlockwise gapped circle arrow')
+ - "⟳": [T: "flecha circular vacía en sentido a las agujas del reloj"] # 0x27f3 (en: 'clockwise gapped circle arrow')
+ - "⟴": [T: "flecha hacia la derecha con signo más rodeado por un círculo"] # 0x27f4 (en: 'right arrow with circled plus')
+ - "⟵": [T: "flecha larga hacia la izquierda"] # 0x27f5 (en: 'long leftwards arrow')
+ - "⟶": [T: "flecha larga hacia la derecha"] # 0x27f6 (en: 'long rightwards arrow')
+ - "⟷": [T: "flecha larga hacia izquierda y derecha"] # 0x27f7 (en: 'long left right arrow')
+ - "⟸": [T: "doble flecha larga hacia la izquierda"] # 0x27f8 (en: 'long leftwards double arrow')
+ - "⟹": [T: "doble flecha larga hacia la derecha"] # 0x27f9 (en: 'long rightwards double arrow')
+ - "⟺": [T: "doble flecha larga hacia izquierda y derecha"] # 0x27fa (en: 'long left right double arrow')
+ - "⟻": [T: "flecha larga hacia la izquierda partiendo de una barra"] # 0x27fb (en: 'long leftwards arrow from bar')
+ - "⟼": [T: "flecha larga hacia la derecha partiendo de una barra"] # 0x27fc (en: 'long rightwards arrow from bar')
+ - "⟽": [T: "doble flecha larga hacia la izquierda partiendo de una barra"] # 0x27fd (en: 'long leftwards double arrow from bar')
+ - "⟾": [T: "doble flecha larga hacia la derecha partiendo de una barra"] # 0x27fe (en: 'long rightwards double arrow from bar')
+ - "⟿": [T: "flecha ondulada hacia la derecha"] # 0x27ff (en: 'long rightwards squiggle arrow')
+ - "⤀": [T: "flecha de dos cabezas hacia la derecha con trazo vertical"] # 0x2900 (en: 'rightwards two headed arrow with vertical stroke', google: 'derecho de dos flechas con trazo vertical')
+ - "⤁": [T: "flecha de dos cabezas hacia la derecha con doble trazo vertical"] # 0x2901 (en: 'rightwards two headed arrow with double vertical stroke', google: 'derecho de dos flechas con cabeza de carrera vertical doble')
+ - "⤂": [T: "doble flecha hacia la izquierda con trazo vertical"] # 0x2902 (en: 'leftwards double arrow with vertical stroke', google: 'flecha doble hacia la izquierda con carrera vertical')
+ - "⤃": [T: "doble flecha hacia la derecha con trazo vertical"] # 0x2903 (en: 'rightwards double arrow with vertical stroke', google: 'arrow doble hacia la derecha con trazo vertical')
+ - "⤄": [T: "doble flecha hacia izquierda y derecha con trazo vertical"] # 0x2904 (en: 'left right double arrow with vertical stroke', google: 'flecha doble derecha izquierda con carrera vertical')
+ - "⤅": [T: "flecha de dos cabezas hacia la derecha partiendo de una barra"] # 0x2905
+ - "⤆": [T: "doble flecha hacia la izquierda partiendo de una barra"] # 0x2906 (en: 'leftwards double arrow from bar', google: 'flecha doble a la izquierda desde el bar')
+ - "⤇": [T: "flecha doble hacia la derecha partiendo de una barra"] # 0x2907 (en: 'rightwards double arrow from bar', google: 'arrow doble hacia la derecha desde el bar')
+ - "⤈": [T: "flecha hacia abajo con trazo horizontal"] # 0x2908 (en: 'downwards arrow with horizontal stroke')
+ - "⤉": [T: "flecha hacia arriba con trazo horizontal"] # 0x2909 (en: 'upwards arrow with horizontal stroke', google: 'arrow hacia arriba con trazo horizontal')
+ - "⤊": [T: "triple flecha hacia arriba"] # 0x290a (en: 'upwards triple arrow', google: 'arriba de arriba arriba')
+ - "⤋": [T: "triple flecha hacia abajo"] # 0x290b (en: 'downwards triple arrow', google: 'aleja hacia abajo')
+ - "⤌": [T: "flecha doble discontinua hacia la izquierda"] # 0x290c
+ - "⤍": [T: "doble flecha discontinua hacia la derecha"] # 0x290d
+ - "⤎": [T: "triple flecha discontinua hacia la izquierda"] # 0x290e
+ - "⤏": [T: "triple flecha discontinua hacia la derecha"] # 0x290f
+ - "⤐": [T: "triple flecha discontinua con dos cabezas hacia la derecha"] # 0x2910
+ - "⤑": [T: "flecha hacia la derecha con trazo punteado"] # 0x2911
+ - "⤒": [T: "flecha hacia arriba partiendo de una barra"] # 0x2912
+ - "⤓": [T: "flecha hacia abajo partiendo de una barra"] # 0x2913
+ - "⤔": [T: "flecha hacia la derecha con cola y trazo vertical"] # 0x2914 (en: 'rightwards arrow with tail and vertical stroke', google: 'flecha hacia la derecha con cola y trazo vertical')
+ - "⤕": [T: "flecha hacia la derecha con cola y doble trazo vertical"] # 0x2915 (en: 'rightwards arrow with tail and double vertical stroke', google: 'flecha hacia la derecha con cola y trazo vertical doble')
+ - "⤖": [T: "flecha hacia la derecha con cola y dos cabezas"] # 0x2916
+ - "⤗": [T: "flecha de dos cabezas hacia la derecha con cola con trazo vertical"] # 0x2917 (en: 'rightwards two headed arrow with tail with vertical stroke', google: 'derecho de dos flecha con la cola con trazo vertical')
+ - "⤘": [T: "flecha de dos cabezas hacia la derecha con cola con doble trazo vertical"] # 0x2918 (en: 'rightwards two headed arrow with tail with double vertical stroke', google: 'derecho de dos flecha con la cola con trazo vertical doble')
+ - "⤙": [T: "cola de doble flecha hacia la izquierda"] # 0x2919 (en: 'leftwards arrow tail')
+ - "⤚": [T: "cola de flecha hacia la derecha"] # 0x291a (en: 'rightwards arrow tail', google: 'tail de flecha hacia la derecha')
+ - "⤛": [T: "doble flecha hacia la izquierda con cola"] # 0x291b (en: 'leftwards double arrow tail')
+ - "⤜": [T: "cola de doble flecha hacia la derecha"] # 0x291c (en: 'rightwards double arrow tail')
+ - "⤝": [T: "flecha izquierda hacia rombo lleno"] # 0x291d (en: 'leftwards arrow to filled diamond')
+ - "⤞": [T: "flecha derecha hacia rombo lleno"] # 0x291e (en: 'rightwards arrow to filled diamond')
+ - "⤟": [T: "flecha izquierda desde barra hacia rombo lleno"] # 0x291f (en: 'leftwards arrow from bar to filled diamond')
+ - "⤠": [T: "flecha derecha desde barra hacia rombo lleno"] # 0x2920 (en: 'rightwards arrow from bar to filled diamond')
+ - "⤡": [T: "flecha del noroeste y del sudeste"] # 0x2921 (en: 'north west and south east arrow', google: 'noroeste y arrow south east')
+ - "⤢": [T: "flecha nordeste y sudoeste"] # 0x2922 (en: 'north east and south west arrow', google: 'north east y south west arrow')
+ - "⤣": [T: "flecha hacia el noroeste con garfio"] # 0x2923 (en: 'north west arrow with hook')
+ - "⤤": [T: "flecha hacia el nordeste con garfio"] # 0x2924 (en: 'north east arrow with hook')
+ - "⤥": [T: "flecha hacia el sudeste con garfio"] # 0x2925 (en: 'south east arrow with hook')
+ - "⤦": [T: "flecha hacia el suroeste con garfio"] # 0x2926 (en: 'south west arrow with hook')
+ - "⤧": [T: "flechas hacia el noroeste y hacia el nordeste"] # 0x2927 (en: 'north west arrow and north east arrow')
+ - "⤨": [T: "flechas hacia el nordeste y hacia el sudeste"] # 0x2928 (en: 'north east arrow and south east arrow')
+ - "⤩": [T: "flechas hacia el sudeste y hacia el sudoeste"] # 0x2929 (en: 'south east arrow and south west arrow')
+ - "⤪": [T: "flechas hacia el sudoeste y hacia el noroeste"] # 0x292a (en: 'south west arrow and north west arrow')
+ - "⤫": [T: "cruce de diagonal ascendente con diagonal descendente"] # 0x292b (en: 'rising diagonal crossing falling diagonal', google: 'cruce diagonal en ascenso caída diagonal')
+ - "⤬": [T: "cruce de diagonal descendente con diagonal ascendente"] # 0x292c (en: 'falling diagonal crossing rising diagonal', google: 'cambio de cruce diagonal diagonal')
+ - "⤭": [T: "flecha Sureste Cruzando Flecha Noreste"] # 0x292d (en: 'south east arrow crossing north east arrow', google: 'south east arrow crossing north east arrow')
+ - "⤮": [T: "flecha nordeste atravesando flecha sudeste"] # 0x292e (en: 'north east arrow crossing south east arrow', google: 'north east arrow crossing south east arrow')
+ - "⤯": [T: "diagonal descendente atravesando flecha nordeste"] # 0x292f (en: 'falling diagonal crossing north east arrow', google: 'caída diagonal atravesando la flecha del noreste')
+ - "⤰": [T: "diagonal ascendente atravesando flecha sudeste"] # 0x2930 (en: 'rising diagonal crossing south east arrow', google: 'cruce diagonal ascendente crossing south east arrow')
+ - "⤱": [T: "flecha nordeste atravesando flecha noroeste"] # 0x2931 (en: 'north east arrow crossing north west arrow', google: 'north east arrow crossing north west arrow')
+ - "⤲": [T: "flecha noroeste atravesando flecha nordeste"] # 0x2932 (en: 'north west arrow crossing north east arrow', google: 'north west arrow crossing north east arrow')
+ - "⤳": [T: "flecha ondulada apuntando hacia la derecha"] # 0x2933 (en: 'wave arrow pointing directly right')
+ - "⤴": [T: "flecha hacia la derecha curvada hacia arriba"] # 0x2934 (en: 'arrow pointing rightwards then curving upwards', google: 'arrow apuntando hacia la derecha y luego curvando hacia arriba')
+ - "⤵": [T: "flecha hacia la derecha curvada hacia abajo"] # 0x2935 (en: 'arrow pointing rightwards then curving downwards')
+ - "⤶": [T: "flecha hacia abajo curvada hacia la izquierda"] # 0x2936 (en: 'arrow pointing downwards then curving leftwards')
+ - "⤷": [T: "flecha hacia abajo curvada hacia la derecha"] # 0x2937 (en: 'arrow pointing downwards then curving rightwards')
+ - "⤸": [T: "flecha semicircular hacia la derecha en sentido de las agujas del reloj"] # 0x2938 (en: 'right side arc clockwise arrow')
+ - "⤹": [T: "flecha semicircular hacia la izquierda en sentido contrario a las agujas del reloj"] # 0x2939 (en: 'left side arc anticlockwise arrow')
+ - "⤺": [T: "arco superior en flecha en sentido contrario a las agujas del reloj"] # 0x293a (en: 'top arc anticlockwise arrow', google: 'arro de arco superior en sentido antihorario')
+ - "⤻": [T: "arco inferior en flecha hen sentido contrario a las agujas del reloj"] # 0x293b (en: 'bottom arc anticlockwise arrow', google: 'arco inferior de la flecha en sentido antihorario')
+ - "⤼": [T: "flecha en sentido a las agujas del reloj, con arco superior y signo menos"] # 0x293c (en: 'top arc clockwise arrow with minus')
+ - "⤽": [T: "flecha en sentido contrario a las agujas del reloj, con arco superior y signo más"] # 0x293d (en: 'top arc anticlockwise arrow with plus')
+ - "⤾": [T: "flecha semicircular inferior en sentido a las agujas del reloj"] # 0x293e (en: 'lower right semicircular clockwise arrow', google: 'flecha semicircular inferior derecha en el sentido de las agujas del reloj')
+ - "⤿": [T: "flecha semicircular inferior en sentido contrario a las agujas del reloj"] # 0x293f (en: 'lower left semicircular anticlockwise arrow', google: 'flecha semicircular inferior izquierda en sentido antihorario')
+ - "⥀": [T: "círculo cerrado en sentido contrario a las agujas del reloj"] # 0x2940 (en: 'anticlockwise closed circle arrow', google: 'flecha de círculo cerrado en sentido antihorario')
+ - "⥁": [T: "círculo cerrado en sentido de las agujas del reloj"] # 0x2941 (en: 'clockwise closed circle arrow', google: 'flecha del círculo cerrado en el sentido de las agujas del reloj')
+ - "⥂": [T: "flecha hacia la derecha sobre flecha corta hacia la izquierda"] # 0x2942 (en: 'rightwards arrow above short leftwards arrow')
+ - "⥃": [T: "flecha hacia la izquierda sobre flecha corta hacia la derecha"] # 0x2943 (en: 'leftwards arrow above short rightwards arrow', google: 'flecha hacia la izquierda sobre la flecha corta derecha hacia la derecha')
+ - "⥄": [T: "flecha corta hacia la derecha sobre flecha hacia la izquierda"] # 0x2944 (en: 'short rightwards arrow above leftwards arrow', google: 'flecha corta hacia la derecha sobre la flecha hacia la izquierda')
+ - "⥅": [T: "flecha hacia la derecha con signo más inferior"] # 0x2945 (en: 'rightwards arrow with plus below')
+ - "⥆": [T: "flecha hacia la izquierda con signo más inferior"] # 0x2946 (en: 'leftwards arrow with plus below', google: 'flecha hacia la izquierda con más a continuación')
+ - "⥇": [T: "flecha hacia la derecha a través de X"] # 0x2947 (en: 'rightwards arrow through x', google: 'flecha hacia la derecha a través de x')
+ - "⥈": [T: "flecha hacia la izquierda a través de círculo"] # 0x2948 (en: 'left right arrow through circle')
+ - "⥉": [T: "flecha con dos cabezas haciarriba partiendo de un círculo"] # 0x2949 (en: 'upwards two headed arrow from circle')
+ - "⥊": [T: "arpón con punta izquierda hacia arriba y punta derecha hacia abajo"] # 0x294a (en: 'left barb up right barb down harpoon', MathPlayer: 'left barb up right barb down harpoon', google: 'barb de la izquierda hacia arriba barb barb por harpoon')
+ - "⥋": [T: "arpón con punta izquierda hacia abajo y punta derecha hacia arriba"] # 0x294b (en: 'left barb down right barb up harpoon', MathPlayer: 'left barb down right barb up harpoon', google: 'barb de la izquierda hacia abajo barb en la barbilla hacia arriba')
+ - "⥌": [T: "arpón conpunta derecha hacia arriba y punta izquierda hacia abajo"] # 0x294c (google: 'barb a la derecha por barb harpoon izquierda')
+ - "⥍": [T: "arpón con punta izquierda hacia arriba y punta derecha hacia abajo"] # 0x294d (en: 'up barb left down barb right harpoon', google: 'barb a la barb izquierda por barb right harpoon')
+ - "⥎": [T: "arpón con puntas derecha e izquierda hacia arriba"] # 0x294e (en: 'left barb up right barb up harpoon', MathPlayer: 'arpón superior derecha-izquierda', google: 'barb izquierda arriba barb arriba de barca')
+ - "⥏": [T: "arpón con puntas superior e inferior hacia la derecha"] # 0x294f (en: 'up barb right down barb right harpoon')
+ - "⥐": [T: "arpón con puntas derecha e izquierda hacia abajo"] # 0x2950 (en: 'left barb down right barb down harpoon', MathPlayer: 'arpón inferior derecha-izquierda', google: 'barb de la izquierda hacia abajo barb barb por harpoon')
+ - "⥑": [T: "arpón izquierdo con puntas hacia arriba y hacia abajo"] # 0x2951 (en: 'up barb left down barb left harpoon')
+ - "⥒": [T: "arpón hacia la izquierda con punta hasta la barra"] # 0x2952 (en: 'leftwards harpoon with barb up to bar', MathPlayer: 'leftwards harpoon to bar with barb upwards', google: 'arpón de la izquierda con barb hasta bar')
+ - "⥓": [T: "arpón hacia la derecha con punta hasta la barra"] # 0x2953 (en: 'rightwards harpoon with barb up to bar', MathPlayer: 'rightwards harpoon to bar with barb upwards', google: 'arpoon a la derecha con barb hasta bar')
+ - "⥔": [T: "arpón ascendente con punta derecha hacia la barra"] # 0x2954 (en: 'upwards harpoon with barb right to bar', MathPlayer: 'upwards harpoon to bar with barb rightwards', google: 'hacia arriba hacia arriba con barb directamente a bar')
+ - "⥕": [T: "arpón hacia abajo con punta derecha hacia la barra"] # 0x2955 (en: 'downwards harpoon with barb right to bar', MathPlayer: 'downwards harpoon to bar with barb rightwards', google: 'harpoon hacia abajo con barb directamente a bar')
+ - "⥖": [T: "arpón hacia la izquierda con punta descendente hacia la barra"] # 0x2956 (en: 'leftwards harpoon with barb down to bar', MathPlayer: 'leftwards harpoon to bar with barb downwards', google: 'arpón de la izquierda con barb hasta el bar')
+ - "⥗": [T: "arpón hacia la derecha con punta inferior hacia la barra"] # 0x2957 (en: 'rightwards harpoon with barb down to bar', MathPlayer: 'rightwards harpoon to bar with barb downwards', google: 'arpoon a la derecha con barb hasta bar')
+ - "⥘": [T: "arpón ascendente con punta izquierda hacia la barra"] # 0x2958 (en: 'upwards harpoon with barb left to bar', MathPlayer: 'upwards harpoon to bar with barb leftwards', google: 'hace arriba de barb con barb se fue a bar')
+ - "⥙": [T: "arpón hacia abajo con punta izquierda hacia la barra"] # 0x2959 (en: 'downwards harpoon with barb left to bar', MathPlayer: 'downwards harpoon to bar with barb leftwards', google: 'arpón hacia abajo con barb se fue a bar')
+ - "⥚": [T: "arpón hacia la izquierda con punta por encima de la barra"] # 0x295a (en: 'leftwards harpoon with barb up from bar', MathPlayer: 'leftwards harpoon from bar with barb upwards', google: 'arpón de la izquierda con barb arriba desde el bar')
+ - "⥛": [T: "arpón hacia la derecha con punta por encima de la barra"] # 0x295b (en: 'rightwards harpoon with barb up from bar', MathPlayer: 'rightwards harpoon from bar with barb upwards', google: 'arpoon a la derecha con barb up from bar')
+ - "⥜": [T: "arpón ascendente con punta partiendo de la barra"] # 0x295c (en: 'upwards harpoon with barb right from bar', MathPlayer: 'upwards harpoon from bar with barb rightwards', google: 'hacia arriba hacia arriba con barb directamente desde el bar')
+ - "⥝": [T: "arpón descendente con punta partiendo de la barra"] # 0x295d (en: 'downwards harpoon with barb right from bar', MathPlayer: 'downwards harpoon from bar with barb rightwards', google: 'arpón hacia abajo con barb directamente desde el bar')
+ - "⥞": [T: "arpón hacia la izquierda con punta por debajo de la barra"] # 0x295e (en: 'leftwards harpoon with barb down from bar', MathPlayer: 'leftwards harpoon from bar with barb downwards', google: 'arpón hacia la izquierda con barb down desde bar')
+ - "⥟": [T: "arpón hacia la derecha con punta por debajo de barra"] # 0x295f (en: 'rightwards harpoon with barb down from bar', MathPlayer: 'rightwards harpoon from bar with barb downwards', google: 'arpoon a la derecha con barb down desde bar')
+ - "⥠": [T: "arpón ascendente con punta a la izquierda de la barra"] # 0x2960 (en: 'upwards harpoon with barb left from bar', MathPlayer: 'upwards harpoon from bar with barb leftwards', google: 'hacia arriba de la arpón con barb se queda desde el bar')
+ - "⥡": [T: "arpón descendente con punta a la izquierda de la barra"] # 0x2961 (en: 'downwards harpoon with barb left from bar', MathPlayer: 'downwards harpoon from bar with barb leftwards', google: 'arpón hacia abajo con barb se queda desde el bar')
+ - "⥢": [T: "arpón hacia la izquierda con punta por encima de arpon hacia la izquierda con punta hacia abajo"] # 0x2962 (en: 'leftwards harpoon with barb up above leftwards harpoon with barb down', MathPlayer: 'leftwards harpoon with barb up above leftwards harpoon with barb down', google: 'arpón de la izquierda con barb arriba sobre la arpón hacia la izquierda con barb down')
+ - "⥣": [T: "arpón ascendente con punta hacia la izquierda al lado de arpón ascendente con punta hacia la derecha"] # 0x2963 (en: 'upwards harpoon with barb left beside upwards harpoon with barb right', MathPlayer: 'upwards harpoon with barb left beside upwards harpoon with barb right', google: 'hacia arriba de la arpón con barb izquierda junto a la arpón hacia arriba con barb a la derecha')
+ - "⥤": [T: "arpón hacia la derecha con punta por encima de arpón hacia la derecha con punta hacia abajo"] # 0x2964 (en: 'rightwards harpoon with barb up above rightwards harpoon with barb down', MathPlayer: 'rightwards harpoon with barb up above rightwards harpoon with barb down', google: 'arpoon a la derecha con barb arriba sobre la arpón de la derecha con barb down')
+ - "⥥": [T: "arpón hacia abajo con lengüeta a la izquierda al lado arpón hacia abajo con lengüeta a la derecha"] # 0x2965 (en: 'downwards harpoon with barb left beside downwards harpoon with barb right', MathPlayer: 'downwards harpoon with barb left beside downwards harpoon with barb right', google: 'arpón hacia abajo con barb izquierda junto a la arpón hacia abajo con barb a la derecha')
+ - "⥦": [T: "arpón a la izquierda con punta por encima de arpón a la derecha con punta hacia arriba"] # 0x2966 (en: 'leftwards harpoon with barb up above rightwards harpoon with barb up', MathPlayer: 'leftwards harpoon with barb up above rightwards harpoon with barb up', google: 'arpón hacia la izquierda con barb arriba sobre la arpón hacia la derecha con barb')
+ - "⥧": [T: "arpón a la izquierda con punta hacia abajo por encima de arpón a la derecha con punta hacia abajo"] # 0x2967 (en: 'leftwards harpoon with barb down above rightwards harpoon with barb down', MathPlayer: 'leftwards harpoon with barb down above rightwards harpoon with barb down', google: 'arpón de la izquierda con barb hacia abajo sobre la arpón hacia la derecha con barb down')
+ - "⥨": [T: "arpón a la derecha con punta hacia arriba por encima de arpón hacia la izquierda con punta hacia arriba"] # 0x2968 (en: 'rightwards harpoon with barb up above leftwards harpoon with barb up', MathPlayer: 'rightwards harpoon with barb up above leftwards harpoon with barb up', google: 'arpoon a la derecha con barb arriba sobre la arpón de la izquierda con barb hacia arriba')
+ - "⥩": [T: "arpón a la derecha con punta hacia abajo por encima de arpón a la izquierda con punta hacia abajo"] # 0x2969 (en: 'rightwards harpoon with barb down above leftwards harpoon with barb down', MathPlayer: 'rightwards harpoon with barb down above leftwards harpoon with barb down', google: 'arpón a la derecha con barb hacia abajo sobre la arpón hacia la izquierda con barb down')
+ - "⥪": [T: "arpón hacia la izquierda con punta hacia arriba por encima de raya larga discontinua"] # 0x296a (en: 'leftwards harpoon with barb up above long dash')
+ - "⥫": [T: "arpón hacia la izquierda con punta hacia abajo por debajo de raya larga discontinua"] # 0x296b (en: 'leftwards harpoon with barb down below long dash')
+ - "⥬": [T: "arpón hacia la derecha con punta por encima de raya larga discontinua"] # 0x296c (en: 'rightwards harpoon with barb up above long dash')
+ - "⥭": [T: "arpón hacia la derecha con punta hacia abajo por debajo de raya larga discontinua"] # 0x296d (en: 'rightwards harpoon with barb down below long dash')
+ - "⥮": [T: "arpón ascendente con punta a la izquierda al lado arpón descendente con punta a la derecha"] # 0x296e (en: 'upwards harpoon with barb left beside downwards harpoon with barb right', MathPlayer: 'upwards harpoon to the left of downwards harpoon', google: 'hacia arriba de la arpón con barb izquierda junto al arpón hacia abajo con barb a la derecha')
+ - "⥯": [T: "arpón hacia abajo con lengüeta a la izquierda al lado arpón hacia arriba con lengüeta a la derecha"] # 0x296f (en: 'downwards harpoon with barb left beside upwards harpoon with barb right', MathPlayer: 'upwards harpoon to the right of downwards harpoon', google: 'arpón hacia abajo con barb izquierda junto a la arpón hacia arriba con barb a la derecha')
+ - "⥰": [T: "flecha doble hacia la derecha con cabeza redondeada"] # 0x2970 (en: 'right double arrow with rounded head')
+ - "⥱": [T: "flecha hacia la derecha con signo igual por encima"] # 0x2971 (en: 'equals above rightwards arrow')
+ - "⥲": [T: "flecha con tilde"] # 0x2972 (en: 'tilde operator above rightwards arrow')
+ - "⥳": [T: "tilde con flecha"] # 0x2974 (en: 'rightwards arrow above tilde operator')
+ - "⥵": [T: "flecha hacia la derecha por encima de signo casi igual a"] # 0x2975 (en: 'rightwards arrow above almost equal to')
+ - "⥶": [T: "signo menor que por encima de flecha hacia la izquierda"] # 0x2976 (en: 'less than above leftwards arrow')
+ - "⥷": [T: "flecha hacia la izquierda atravesando signo menor que"] # 0x2977 (en: 'leftwards arrow through less than')
+ - "⥸": [T: "signo mayor que por encima de flecha hacia la derecha"] # 0x2978 (en: 'greater than above rightwards arrow')
+ - "⥹": [T: "subconjunto por encima de flecha hacia la derecha"] # 0x2979 (en: 'subset above rightwards arrow')
+ - "⥺": [T: "flecha hacia la izquierda a través de subconjunto"] # 0x297a (en: 'leftwards arrow through subset')
+ - "⥻": [T: "superconjunto por encima de flecha hacia la izquierda"] # 0x297b (en: 'superset above leftwards arrow')
+ - "⥼": [T: "cola de pez izquierda"] # 0x297c (en: 'left fish tail', MathPlayer: 'left fish tail', google: 'cola de pescado izquierdo')
+ - "⥽": [T: "cola de pez derecha"] # 0x297d (en: 'right fish tail', MathPlayer: 'right fish tail', google: 'cola de pescado derecho')
+ - "⥾": [T: "cola de pez hacia arriba"] # 0x297e (en: 'up fish tail')
+ - "⥿": [T: "cola de pez haciaabajo"] # 0x297f (en: 'down fish tail', MathPlayer: 'down fish tail', google: 'abajo de la cola de pescado')
+ - "⦀": [T: "delimitador triple barra vertical"] # 0x2980 (en: 'triple vertical bar delimiter', google: 'delimitador de triple barra vertical')
+ - "⦁": [T: "punto de notación Z"] # 0x2981 (en: 'z notation spot', google: 'z spot de notación')
+ - "⦂": [T: "tipo de notación Z Colon"] # 0x2982 (en: 'z notation type colon', google: 'z tipo de notación colon')
+ - "⦃": [T: "soporte rotacional blanco izquierdo"] # 0x2983 (en: 'left white brace', google: 'brace blanco izquierdo')
+ - "⦄": [T: "soporte rotacional blanco derecho"] # 0x2984 (en: 'right white brace', google: 'brace blanco derecho')
+ - "⦅": [T: "paréntesis izquierdo"] # 0x2985 (en: 'left white parenthesis')
+ - "⦆": [T: "paréntesis derecho"] # 0x2986 (en: 'right white parenthesis')
+ - "⦇": [T: "notación Z izquierda soporte de imagen"] # 0x2987 (en: 'z notation left image bracket', google: 'z notación del soporte de la imagen izquierda')
+ - "⦈": [T: "notación Z derecha soporte de imagen"] # 0x2988 (en: 'z notation right image bracket', google: 'z notación de la imagen correcta soporte de imagen')
+ - "⦉": [T: "notación Z izquierda unida a soporte"] # 0x2989
+ - "⦊": [T: "notación Z derecha unida a soporte"] # 0x298a
+ - "⦋": [T: "corchete izquierdo con barra ijnferior"] # 0x298b (en: 'left square bracket with underbar')
+ - "⦌": [T: "corchete derecho con barra inferior"] # 0x298c (en: 'right square bracket with underbar')
+ - "⦍": [T: "corchete izquierdo con trazo en esquina superior"] # 0x298d (en: 'left square bracket with tick in top corner')
+ - "⦎": [T: "corchete derecho con trazo en esquina inferior"] # 0x298e (en: 'right square bracket with tick in bottom corner')
+ - "⦏": [T: "corchete izquierdo con trazo en esquina inferior"] # 0x298f (en: 'left square bracket with tick in bottom corner')
+ - "⦐": [T: "corchete derecho con trazo en esquina superior"] # 0x2990 (en: 'right square bracket with tick in top corner')
+ - "⦑": [T: "ángulo izquierdo de corchete con punto"] # 0x2991
+ - "⦒": [T: "ángulo derecho de corchete con punto"] # 0x2992
+ - "⦓": [T: "arco izquierdo menor que soporte"] # 0x2993
+ - "⦔": [T: "arco derecho mayor que soporte"] # 0x2994
+ - "⦕": [T: "doble arco izquierdo mayor que soporte"] # 0x2995
+ - "⦖": [T: "doble arco derecho menor que soporte"] # 0x2996
+ - "⦗": [T: "soporte de concha de tortuga negra izquierda"] # 0x2997 (en: 'left black tortoise shell bracket')
+ - "⦘": [T: "soporte con concha de tortuga a la derecha"] # 0x2998 (en: 'right black tortoise shell bracket', google: 'soporte de carcasa de tortuga negra derecha')
+ - "⦙": [T: "valla punteada"] # 0x2999 (en: 'dotted fence')
+ - "⦚": [T: "línea vertical en zigzag"] # 0x299a (en: 'vertical zigzag line')
+ - "⦛": [T: "Ángulo medido de apertura a la izquierda"] # 0x299b (en: 'measured angle opening left', google: 'apertura de ángulo medido a la izquierda')
+ - "⦜": [T: "Variante de ángulo recto con cuadrado"] # 0x299c (en: 'right angle variant with square', google: 'variante de ángulo recto con cuadrado')
+ - "⦝": [T: "ángulo recto medido con punto"] # 0x299d (en: 'measured right angle with dot')
+ - "⦞": [T: "Ángulo con S dentro"] # 0x299e (en: 'angle with s inside', google: 'ángulo con s adentro')
+ - "⦟": [T: "Ángulo agudo"] # 0x299f (en: 'acute angle', google: 'ángulo agudo')
+ - "⦠": [T: "Ángulo esférico de apertura a la izquierda"] # 0x29a0 (en: 'spherical angle opening left', google: 'abertura del ángulo esférico izquierda')
+ - "⦡": [T: "ángulo esférico con apertura hacia arriaba"] # 0x29a1 (en: 'spherical angle opening up', google: 'abertura del ángulo esférico')
+ - "⦢": [T: "ángulo girado"] # 0x29a2 (en: 'turned angle', google: 'ángulo girado')
+ - "⦣": [T: "Ángulo invertido"] # 0x29a3 (en: 'reversed angle', google: 'ángulo invertido')
+ - "⦤": [T: "ángulo con barra inferior"] # 0x29a4 (en: 'angle with underbar')
+ - "⦥": [T: "ángulo invertido con barra inferior"] # 0x29a5 (en: 'reversed angle with underbar')
+ - "⦦": [T: "ángulo oblicuo abierto hacia arriba"] # 0x29a6 (en: 'oblique angle opening up')
+ - "⦧": [T: "ángulo oblicuo abierto hacia abajo"] # 0x29a7 (en: 'oblique angle opening down')
+ - "⦨": [T: "ángulo medio con brazo extendido terminando en flecha hacia arriba y hacia la derecha"] # 0x29a8
+ - "⦩": [T: "ángulo medio con brazo extendido terminando en flecha hacia arriba y hacia la izquierda"] # 0x29a9
+ - "⦪": [T: "ángulo medio con brazo extendido terminando en flecha hacia abajo y hacia la derecha"] # 0x29aa
+ - "⦫": [T: "ángulo medio con brazo extendido terminando en flecha hacia abajo y hacia la izquierda"] # 0x29ab
+ - "⦬": [T: "ángulo medio con brazo extendido terminando en flecha hacia la derecha y hacia arriba"] # 0x29ac
+ - "⦭": [T: "ángulo medio con brazo extendido terminando en flecha apuntando hacia la izquierda y hacia arriba"] # 0x29ad
+ - "⦮": [T: "ángulo medio con brazo extendido terminando en flecha hacia la derecha y hacia abajo"] # 0x29ae
+ - "⦯": [T: "ángulo medio con brazo extendido terminando en flecha hacia la izquierda y hacia abajo"] # 0x29af
+ - "⦰": [T: "conjunto vacío invertido"] # 0x29b0 (en: 'reversed empty set')
+ - "⦱": [T: "conjunto vacío con barra superior"] # 0x29b1 (en: 'empty set with overbar')
+ - "⦲": [T: "conjunto vacío con círculo pequeño encima"] # 0x29b2 (en: 'empty set with small circle above')
+ - "⦳": [T: "conjunto vacío con flecha derecha encima"] # 0x29b3 (en: 'empty set with right arrow above')
+ - "⦴": [T: "conjunto vacío con flecha izquierda encima"] # 0x29b4 (en: 'empty set with left arrow above')
+ - "⦵": [T: "círculo con barra horizontal"] # 0x29b5 (en: 'circle with horizontal bar')
+ - "⦶": [T: "barra vertical rodeada por un círculo"] # 0x29b6 (en: 'circled vertical bar')
+ - "⦷": [T: "paralelas rodeadas por un círculo"] # 0x29b7 (en: 'circled parallel')
+ - "⦸": [T: "solidus en círculo inverso"] # 0x29b8 (en: 'circled reverse solidus', google: 'solidus reverso en circulación')
+ - "⦹": [T: "perpendicular rodeada por un círculo"] # 0x29b9 (en: 'circled perpendicular')
+ - "⦺": [T: "círculo dividido por barra horizontal y mitad superior dividido por barra vertical"] # 0x29ba (en: 'circled divided by horizontal bar and top half divided by vertical bar', google: 'círculo dividido por la barra horizontal y la mitad superior dividida por la barra vertical')
+ - "⦻": [T: "círculo con x superpuesta"] # 0x29bb (en: 'circle with superimposed x')
+ - "⦼": [T: "círculo en sentido contrario a las agujas del reloj virando a signo de división"] # 0x29bc (en: 'circled anticlockwise rotated division sign')
+ - "⦽": [T: "flecha hacia arriba a través de círculo"] # 0x29bd (en: 'up arrow through circle', google: 'arrow a través del círculo')
+ - "⦾": [T: "viñeta vacía en un círculo"] # 0x29be (en: 'circled white bullet')
+ - "⦿": [T: "viñeta en un círculo"] # 0x29bf (en: 'circled bullet')
+ - "⧀": [T: "signo menor que en un círculo"] # 0x29c0 (en: 'circled less than')
+ - "⧁": [T: "signo mayor que en un círculo"] # 0x29c1 (en: 'circled greater than')
+ - "⧂": [T: "círculo con círculo pequeño a la derecha"] # 0x29c2 (en: 'circle with small circle to the right')
+ - "⧃": [T: "círculo con dos trazos horizontales a la derecha"] # 0x29c3
+ - "⧄": [T: "cuadrado con diagonal ascendente"] # 0x29c4 (en: 'squared rising diagonal slash')
+ - "⧅": [T: "cuadrado con diagonal descendente"] # 0x29c5 (en: 'squared falling diagonal slash')
+ - "⧆": [T: "asterisco cuadrado"] # 0x29c6 (en: 'squared asterisk')
+ - "⧇": [T: "pequeño círculo cuadrado"] # 0x29c7 (en: 'squared small circle', google: 'círculo pequeño cuadrado')
+ - "⧈": [T: "cuadrado cuadrado"] # 0x29c8 (en: 'squared square')
+ - "⧉": [T: "dos cuadrados unidos"] # 0x29c9 (en: 'two joined squares')
+ - "⧊": [T: "triángulo con punto arriba"] # 0x29ca (en: 'triangle with dot above')
+ - "⧋": [T: "triángulo con barra inferior"] # 0x29cb (en: 'triangle with underbar', google: 'triángulo con debajo de la barra')
+ - "⧌": [T: "s dentro de un triangulo"] # 0x29cc (en: 's in triangle', google: 's en triángulo')
+ - "⧍": [T: "triángulo con serifs en la parte inferior"] # 0x29cd
+ - "⧎": [T: "triángulo hacia la derecha sobre triángulo hacia la izquierda"] # 0x29ce (en: 'right triangle above left triangle')
+ - "⧏": [T: "triángulo izquierdo al lado de barra vertical"] # 0x29cf (en: 'left triangle beside vertical bar')
+ - "⧐": [T: "barra vertical al lado de triángulo derecho"] # 0x29d0 (en: 'vertical bar beside right triangle')
+ - "⧑": [T: "pajarita Con Mitad Izquierda Negra"] # 0x29d1 (en: 'bowtie with left half black', google: 'bowtie con la mitad de la izquierda')
+ - "⧒": [T: "pajarita Con Mitad Derecha Negra"] # 0x29d2 (en: 'bowtie with right half black', google: 'bowtie con la mitad derecha negra')
+ - "⧓": [T: "pajarita Negra"] # 0x29d3 (en: 'black bowtie', google: 'bowtie negro')
+ - "⧔": [T: "multiplicado por con mitad izquierda negra"] # 0x29d4 (en: 'times with left half black', google: 'veces con la mitad de la izquierda')
+ - "⧕": [T: "multiplicado por con mitad derecha negra"] # 0x29d5 (en: 'times with right half black', google: 'veces con la mitad derecha negra')
+ - "⧖": [T: "reloj de arena blanco"] # 0x29d6 (en: 'white hourglass', google: 'hourglass blancos')
+ - "⧗": [T: "reloj de arena negro"] # 0x29d7 (en: 'black hourglass', google: 'hourglass negros')
+ - "⧘": [T: "valla izquierda ondulada"] # 0x29d8 (en: 'left wiggly fence', google: 'left fence wiggly')
+ - "⧙": [T: "valla derecha ondulada"] # 0x29d9 (en: 'right wiggly fence', google: 'derecha cerca ondulada')
+ - "⧚": [T: "valla doble izquierda ondulada"] # 0x29da
+ - "⧛": [T: "valla doble derecha ondulada"] # 0x29db
+ - "⧜": [T: "infinito incompleto"] # 0x29dc (en: 'incomplete infinity')
+ - "⧝": [T: "infinito"] # 0x29dd (en: 'tie over infinity', google: 'ate el infinito')
+ - "⧞": [T: "no infinito"] # 0x29de (en: 'infinity negated with vertical bar')
+ - "⧟": [T: "multimapa de doble extremo"] # 0x29df (en: 'double-ended multimap')
+ - "⧠": [T: "cuadrado con contorno delineado"] # 0x29e0 (en: 'square with contoured outline')
+ - "⧡": [T: "aumenta a medida que"] # 0x29e1 (en: 'increases as')
+ - "⧢": [T: "producto aleatorio"] # 0x29e2 (en: 'shuffle product', google: 'producto de baraja')
+ - "⧣": [T: "signo igual y paralela inclinada"] # 0x29e3 (en: 'equals sign and slanted parallel', MathPlayer: 'igual tachado doble', google: 'es igual a la señal y se inclinó paralelo')
+ - "⧤": [T: "signo igual y paralela inclinada con tilde por encima"] # 0x29e4 (en: 'equals sign and slanted parallel with tilde above')
+ - "⧥": [T: "idéntico a una paralela inclinada"] # 0x29e5 (en: 'identical to and slanted parallel')
+ - "⧦": [T: "gleich Stark"] # 0x29e6 (en: 'gleich stark', google: 'gleich stark')
+ - "⧧": [T: "termodinámica"] # 0x29e7 (en: 'thermodynamic', google: 'termodinámico')
+ - "⧨": [T: "triángulo apuntando hacia abajo con la mitad izquierda negra"] # 0x29e8 (en: 'down pointing triangle with left half black', google: 'down pointing triangle con la mitad izquierda')
+ - "⧩": [T: "triángulo apuntando hacia abajo con la mitad derecha negra"] # 0x29e9 (en: 'down pointing triangle with right half black', google: 'down apuntando al triángulo con la mitad derecha negra')
+ - "⧪": [T: "rombo negro con flecha hacia abajo"] # 0x29ea (en: 'black diamond with down arrow')
+ - "⧫": [T: "rombo relleno"] # 0x29eb (en: 'black lozenge')
+ - "⧬": [T: "círculo blanco con flecha hacia abajo"] # 0x29ec (en: 'white circle with down arrow')
+ - "⧭": [T: "círculo negro con flecha hacia abajo"] # 0x29ed (en: 'black circle with down arrow')
+ - "⧮": [T: "cuadrado blanco con error barrado"] # 0x29ee (en: 'error-barred white square', google: 'cuadrado blanco con barra de error')
+ - "⧯": [T: "cuadrado negro con error barrado"] # 0x29ef (en: 'error-barred black square', google: 'cuadrado negro con barra de error')
+ - "⧰": [T: "rombo blanco con error barrado"] # 0x29f0 (en: 'error-barred white diamond', google: 'diamante blanco con accesorios de error')
+ - "⧱": [T: "rombo negro con error barrado"] # 0x29f1 (en: 'error-barred black diamond', google: 'diamante negro con accesorios de error')
+ - "⧲": [T: "círculo blanco con error barrado"] # 0x29f2 (en: 'error-barred white circle', google: 'círculo blanco con barra de error')
+ - "⧳": [T: "círculo negro con error barrado"] # 0x29f3 (en: 'error-barred black circle', google: 'círculo negro con barra de error')
+ - "⧴": [T: "regla retardada"] # 0x29f4 (en: 'rule-delayed')
+ - "⧵": [T: "operador de Solidus Inverso"] # 0x29f5 (en: 'reverse solidus operator', google: 'operador reverso de solidus')
+ - "⧶": [T: "solidus con barra superior"] # 0x29f6
+ - "⧷": [T: "solidus inverso con trazo horizontal"] # 0x29f7 (en: 'reverse solidus with horizontal stroke', google: 'reverse solidus con carrera horizontal')
+ - "⧸": [T: "sólido grande"] # 0x29f8 (en: 'big solidus', google: 'big solidus')
+ - "⧹": [T: "solidus inverso grande"] # 0x29f9 (en: 'big reverse solidus', google: 'big reverso solidus')
+ - "⧺": [T: "doble signo más"] # 0x29fa (en: 'double plus', google: 'doble más')
+ - "⧻": [T: "triple signo más"] # 0x29fb (en: 'triple plus', google: 'triple plus')
+ - "⧼": [T: "paréntesis con ángulo curvado hacia la izquierda"] # 0x29fc (en: 'left pointing curved angle bracket', google: 'soporte de ángulo curvo de apuntamiento izquierdo')
+ - "⧽": [T: "paréntesis con ángulo curvado hacia la derecha"] # 0x29fd (en: 'right pointing curved angle bracket', google: 'soporte de ángulo curvo apuntando a la derecha')
+ - "⧾": [T: "minúsculo"] # 0x29fe (en: 'tiny', google: 'diminuto')
+ - "⧿": [T: "miny"] # 0x29ff
+ - "⨀": [T: "operador de puntos circulares N-Ary"] # 0x2a00 (en: 'circled dot operator', google: 'operador de puntos en circulación')
+ - "⨁": [T: "operador N-Ary con signo más en un círculo"] # 0x2a01 (en: 'circled plus operator', google: 'operador circlado plus')
+ - "⨂": [T: "operador N-Ary con signo multiplicado por dentro de un círculo"] # 0x2a02 (en: 'circled times operator', google: 'operador de times en circulación')
+ - "⨃": [T: "operador de la unión N-Ary con punto"] # 0x2a03 (en: 'union operator with dot', google: 'operador sindical con dot')
+ - "⨄": [T: "n-Ary Union Operator con signo más"] # 0x2a04 (en: 'union operator with plus', google: 'operador sindical con más')
+ - "⨅": [T: "operador de intersecciones cuadradas N-Ary"] # 0x2a05 (en: 'square intersection operator', google: 'operador de intersección cuadrada')
+ - "⨆": [T: "n-Ary Square Union Operator"] # 0x2a06 (en: 'square union operator', google: 'operador de la unión square')
+ - "⨇": [T: "dos lógico y operador"] # 0x2a07 (en: 'two logical and operator', google: 'dos lógicos y operadores')
+ - "⨈": [T: "dos lógico u operador"] # 0x2a08 (en: 'two logical or operator', google: 'dos lógicos u operadores')
+ - "⨉": [T: "operador multiplicado por N-Ary Times"] # 0x2a09 (en: 'times operator', google: 'operador de tiempos')
+ - "⨊": [T: "módulo dos sumas"] # 0x2a0a (en: 'modulo two sum', google: 'módulo dos suma')
+ - "⨋": [T: "suma con Integral"] # 0x2a0b (en: 'summation with integral', google: 'suma con integral')
+ - "⨌": [T: "operador integral cuádruple"] # 0x2a0c (en: 'quadruple integral operator')
+ - "⨍": [T: "parte integral finita"] # 0x2a0d
+ - "⨎": [T: "integral con Doble Trazo"] # 0x2a0e (en: 'integral with double stroke', google: 'integral con doble trazo')
+ - "⨏": [T: "promedio Integral con barra discontinua"] # 0x2a0f (en: 'integral average with slash', google: 'promedio integral con corte')
+ - "⨐": [T: "circulation function"] # 0x2a10
+ - "⨑": [T: "integral en sentido contrario a las agujas del reloj"] # 0x2a11 (en: 'anticlockwise integration')
+ - "⨒": [T: "integral lineal para rectángulo en polo"] # 0x2a12 (en: 'line integration with rectangular path around pole')
+ - "⨓": [T: "integral lineal para semicírculo en polo"] # 0x2a13 (en: 'line integration with semicircular path around pole')
+ - "⨔": [T: "integral lineal excluyendo el polo"] # 0x2a14 (en: 'line integration not including the pole')
+ - "⨕": [T: "integral en torno a un punto operador"] # 0x2a15 (en: 'integral around a point operator')
+ - "⨖": [T: "operador integral para cuaterniones"] # 0x2a16 (en: 'quaternion integral operator')
+ - "⨗": [T: "integral con flecha hacia la izquierda con garfio"] # 0x2a17 (en: 'integral with leftwards arrow with hook')
+ - "⨘": [T: "integral con signo multiplicado por"] # 0x2a18 (en: 'integral with times sign', google: 'integral con el signo de tiempos')
+ - "⨙": [T: "integral con Intersección"] # 0x2a19 (en: 'integral with intersection', google: 'integral con la intersección')
+ - "⨚": [T: "integral con unión"] # 0x2a1a (en: 'integral with union', google: 'integral con la unión')
+ - "⨛": [T: "integral con barra superior"] # 0x2a1b (en: 'integral with overbar', google: 'integral con overbar')
+ - "⨜": [T: "integral con barra inferior"] # 0x2a1c (en: 'integral with underbar', google: 'integral con underbar')
+ - "⨝": [T: "unir"] # 0x2a1d (en: 'join')
+ - "⨞": [T: "operador de triángulo izquierdo grande"] # 0x2a1e (en: 'large left triangle operator', google: 'gran operador del triángulo izquierdo')
+ - "⨟": [T: "composición de esquemas de notación Z"] # 0x2a1f (en: 'z notation schema composition', google: 'z composición de esquema de notación')
+ - "⨠": [T: "esquema de notación Z"] # 0x2a20 (en: 'z notation schema piping', google: 'z tubería de esquema de notación')
+ - "⨡": [T: "proyección del esquema de notación Z"] # 0x2a21 (en: 'z notation schema projection', google: 'z proyección de esquema de notación')
+ - "⨢": [T: "signo más con círculo encima"] # 0x2a22 (en: 'plus sign with circle above')
+ - "⨣": [T: "signo más con signo circunflejo encima"] # 0x2a23 (en: 'plus sign with circumflex accent above')
+ - "⨤": [T: "signo más con tilde encima"] # 0x2a24 (en: 'plus sign with tilde above')
+ - "⨥": [T: "signo más con punto inferior"] # 0x2a25 (en: 'plus sign with dot below')
+ - "⨦": [T: "signo más con tilde inferior"] # 0x2a26 (en: 'plus sign with tilde below')
+ - "⨧": [T: "signo más con 2 subíndice"] # 0x2a27 (en: 'plus sign with subscript two')
+ - "⨨": [T: "signo más con triángulo negro"] # 0x2a28 (en: 'plus sign with black triangle', google: 'más letrero con triángulo negro')
+ - "⨩": [T: "signo menos con coma encima"] # 0x2a29 (en: 'minus sign with comma above')
+ - "⨪": [T: "signo menos con punto inferior"] # 0x2a2a (en: 'minus sign with dot below')
+ - "⨫": [T: "signo menos con puntos descendentes"] # 0x2a2b (en: 'minus sign with falling dots', google: 'señal menos con puntos de caída')
+ - "⨬": [T: "signo menos con puntos ascendentes"] # 0x2a2c (en: 'minus sign with rising dots', google: 'minus firma con puntos ascendentes')
+ - "⨭": [T: "signo más en semicírculo izquierdo"] # 0x2a2d (en: 'plus sign in left half circle')
+ - "⨮": [T: "signo más en semicírculo derecho"] # 0x2a2e (en: 'plus sign in right half circle')
+ - "⨯": [T: "producto vectorial"] # 0x2a2f (en: 'cross product')
+ - "⨰": [T: "signo de multiplicación con punto encima"] # 0x2a30 (en: 'multiplication sign with dot above')
+ - "⨱": [T: "signo de multiplicación con barra inferior"] # 0x2a31 (en: 'multiplication sign with underbar')
+ - "⨲": [T: "producto semidirecto con fondo cerrado"] # 0x2a32 (en: 'semidirect product with bottom closed')
+ - "⨳": [T: "smash product"] # 0x2a33
+ - "⨴": [T: "signo de multiplicación dentro de semicírculo izquierdo"] # 0x2a34 (en: 'multiplication sign in left half circle')
+ - "⨵": [T: "signo de multiplicación dentro de semicírculo derecho"] # 0x2a35 (en: 'multiplication sign in right half circle')
+ - "⨶": [T: "signo de multiplicación dentro de círculo con circunflejo"] # 0x2a36 (en: 'circled multiplication sign with circumflex accent')
+ - "⨷": [T: "signo de multiplicación en doble círculo"] # 0x2a37 (en: 'multiplication sign in double circle')
+ - "⨸": [T: "signo de división dentro de un círdulo"] # 0x2a38 (en: 'circled division sign')
+ - "⨹": [T: "signo más dentro de un triángulo"] # 0x2a39 (en: 'plus sign in triangle')
+ - "⨺": [T: "signo menos dentro de un triángulo"] # 0x2a3a (en: 'minus sign in triangle')
+ - "⨻": [T: "signo de multiplicación dentro de un triángulo"] # 0x2a3b (en: 'multiplication sign in triangle')
+ - "⨼": [T: "producto interior"] # 0x2a3c (en: 'interior product')
+ - "⨽": [T: "producto interior derecho"] # 0x2a3d (en: 'righthand interior product')
+ - "⨮": [T: "signo más en semicírculo derecho"] # 0x2a2e (en: 'z notation relational composition')
+ - "⨿": [T: "coproducto"] # 0x2a3f (en: 'amalgamation or coproduct')
+ - "⩀": [T: "intersección con punto"] # 0x2a40 (en: 'intersection with dot')
+ - "⩁": [T: "unión con signo menos"] # 0x2a41 (en: 'union with minus sign', google: 'unión con menos signo')
+ - "⩂": [T: "unión con barrasuperior"] # 0x2a42 (en: 'union with overbar')
+ - "⩃": [T: "intersección con barrasuperior"] # 0x2a43 (en: 'intersection with overbar')
+ - "⩄": [T: "intersección con and lógico"] # 0x2a44 (en: 'intersection with logical and')
+ - "⩅": [T: "unión con or lógico"] # 0x2a45 (en: 'union with logical or')
+ - "⩆": [T: "unión sobre intersección"] # 0x2a46 (en: 'union above intersection')
+ - "⩇": [T: "intersección sobre unión"] # 0x2a47 (en: 'intersection above union')
+ - "⩈": [T: "unión sobre barra sobre intersección"] # 0x2a48 (en: 'union above bar above intersection')
+ - "⩉": [T: "intersección sobre barra sobre unión"] # 0x2a49 (en: 'intersection above bar above union', MathPlayer: 'intersección sobre barra, sobre unión', google: 'intersección por encima de la barra por encima de la unión')
+ - "⩊": [T: "unión y unión"] # 0x2a4a (en: 'union beside and joined with union')
+ - "⩋": [T: "intersección e intersección"] # 0x2a4b (en: 'intersection beside and joined with intersection')
+ - "⩌": [T: "unión cerrada con serifs"] # 0x2a4c (en: 'closed union with serifs')
+ - "⩍": [T: "intersección cerrada con serifs"] # 0x2a4d (en: 'closed intersection with serifs')
+ - "⩎": [T: "intersección cuadrada doble"] # 0x2a4e (en: 'double square intersection', google: 'intersección doble cuadrado')
+ - "⩏": [T: "unión cuadrada doble"] # 0x2a4f (en: 'double square union', google: 'unión doble cuadrado')
+ - "⩐": [T: "unión cerrada con serifs y signo de multiplicación"] # 0x2a50 (en: 'closed union with serifs and smash product')
+ - "⩑": [T: "lógico y con punto arriba."] # 0x2a51 (en: 'logical and with dot above', google: 'lógico y con punto arriba')
+ - "⩒": [T: "lógico o con punto arriba"] # 0x2a52 (en: 'logical or with dot above')
+ - "⩓": [T: "Y"] # 0x2a53 (en: 'double logical and')
+ - "⩔": [T: "O"] # 0x2a54 (en: 'double logical or')
+ - "⩕": [T: "doble Y lógica intersecada"] # 0x2a55
+ - "⩖": [T: "doble O lógica intersecada"] # 0x2a56
+ - "⩗": [T: "O grande inclinada"] # 0x2a57
+ - "⩘": [T: "Y grande inclinada"] # 0x2a58
+ - "⩙": [T: "lógica O superpuesta a lógica Y"] # 0x2a59 (en: 'logical or overlapping logical and', google: 'lógico o superpuesto lógico y')
+ - "⩚": [T: "Y lógica con trazo en medio"] # 0x2a5a
+ - "⩛": [T: "O lógica con trazo en medio"] # 0x2a5b
+ - "⩜": [T: "Y lógica con barra horizontal discontinua"] # 0x2a5c
+ - "⩝": [T: "O lógica con barra horizontal discontinua"] # 0x2a5d
+ - "⩞": [T: "Y lógica con doble barra superior"] # 0x2a5e (en: 'logical and with double overbar', google: 'lógico y con doble overbar')
+ - "⩟": [T: "Y lógica con barra inferior"] # 0x2a5f
+ - "⩠": [T: "Y lógica con doble barra inferior."] # 0x2a60 (en: 'logical and with double underbar', google: 'lógico y con doble debajo de la barra')
+ - "⩡": [T: "pequeño Vee con barra inferior"] # 0x2a61 (en: 'small vee with underbar', google: 'pequeño vee con debajo de la barra')
+ - "⩢": [T: "O lógica con doble barra."] # 0x2a62 (en: 'logical or with double overbar', google: 'lógico o con doble overbar')
+ - "⩣": [T: "O lógica con doble barra inferior"] # 0x2a63 (en: 'logical or with double underbar', google: 'lógico o con doble bajo')
+ - "⩤": [T: "notación Z Dominio Antirestricción"] # 0x2a64 (en: 'z notation domain antirestriction', google: 'z dominio de notación antirestricción')
+ - "⩥": [T: "notación Z, rango antirrestrición"] # 0x2a65 (en: 'z notation range antirestriction', google: 'z rango de notación antirestricción')
+ - "⩦": [T: "signo igual con punto abajo"] # 0x2a66 (en: 'equals sign with dot below')
+ - "⩧": [T: "idéntico a con punto arriba"] # 0x2a67 (en: 'identical with dot above', google: 'idéntico al punto arriba')
+ - "⩨": [T: "triple barra horizontal con doble trazo vertical"] # 0x2a68 (en: 'triple horizontal bar with double vertical stroke', google: 'barra horizontal triple con doble carrera vertical')
+ - "⩩": [T: "triple barra horizontal con triple trazo vertical"] # 0x2a69 (en: 'triple horizontal bar with triple vertical stroke', google: 'barra horizontal triple con trazo vertical triple')
+ - "⩪": [T: "tilde con punto encima"] # 0x2a6a (en: 'tilde operator with dot above')
+ - "⩫": [T: "tilde con puntos ascendentes"] # 0x2a6b (en: 'tilde operator with rising dots', google: 'operador de tilde con puntos ascendentes')
+ - "⩬": [T: "similar menos similar"] # 0x2a6c (en: 'similar minus similar', google: 'similar menos similar')
+ - "⩭": [T: "congruente con punto encima"] # 0x2a6d (en: 'congruent with dot above')
+ - "⩮": [T: "igual a con Asterisco"] # 0x2a6e (en: 'equals with asterisk', google: 'igualmente con asterisco')
+ - "⩯": [T: "casi igual con acento circunflejo"] # 0x2a6f (en: 'almost equal to with circumflex accent')
+ - "⩰": [T: "aproximadamente igual o igual a"] # 0x2a70 (en: 'approximately equal to or equal to')
+ - "⩱": [T: "signo igual por encima de signo más"] # 0x2a71 (en: 'equals sign above plus sign')
+ - "⩲": [T: "signo más por encima de signo igual"] # 0x2a72 (en: 'plus sign above equals sign')
+ - "⩳": [T: "signo igual por encima de tilde"] # 0x2a73 (en: 'equals sign above tilde operator')
+ - "⩴": [T: "signo igual con dos puntos"] # 0x2a74 (en: 'double colon equal')
+ - "⩵": [T: "doble signo igual"] # 0x2a75 (en: 'two consecutive equals signs')
+ - "⩶": [T: "triple signo igual"] # 0x2a76 (en: 'three consecutive equals signs', google: 'tres signos consecutivos iguales')
+ - "⩷": [T: "signo igual entre dos puntos arriba y dos puntos abajo"] # 0x2a77 (en: 'equals sign with two dots above and two dots below')
+ - "⩸": [T: "equivalente a con cuatro puntos en la parte superior"] # 0x2a78 (en: 'equivalent with four dots above')
+ - "⩹": [T: "menor que con círculo dentro"] # 0x2a79 (en: 'less than with circle inside')
+ - "⩺": [T: "mayor que con círculo dentro"] # 0x2a7a (en: 'greater than with circle inside')
+ - "⩻": [T: "menor que con signo de interrogación en la parte superior"] # 0x2a7b (en: 'less than with question mark above')
+ - "⩼": [T: "mayor que con signo de interrogación en la parte superior"] # 0x2a7c (en: 'greater than with question mark above')
+ - "⩽": [T: "menor que o signo igual inclinado"] # 0x2a7d (en: 'less than or slanted equal to')
+ - "⩾": [T: "mayor que o signo igual inclinado"] # 0x2a7e (en: 'greater than or slanted equal to')
+ - "⩿": [T: "menor que o signo igual inclinado con punto en el interior"] # 0x2a7f (en: 'less than or slanted equal to with dot inside')
+ - "⪀": [T: "mayor que o signo igual inclinado con punto en el interior"] # 0x2a80 (en: 'greater than or slanted equal to with dot inside')
+ - "⪁": [T: "menor que o signo igual inclinado con punto en la parte superior"] # 0x2a81 (en: 'less than or slanted equal to with dot above')
+ - "⪂": [T: "mayor que o signo igual con punto en la parte superior"] # 0x2a82 (en: 'greater than or slanted equal to with dot above')
+ - "⪃": [T: "menor que o signo igual inclinado con punto superior a la derecha"] # 0x2a83 (en: 'less than or slanted equal to with dot above right')
+ - "⪄": [ T: "mayor que con signo igual inclinado con punto superior hacia la izquierda"] # 0x2a84 (en: 'greater than or slanted equal to with dot above left')
+ - "⪅": [T: "menor que o aproximado"] # 0x2a85 (en: 'less than or approximate', google: 'menos o aproximado')
+ - "⪆": [T: "mayor que o aproximado"] # 0x2a86 (en: 'greater than or approximate', google: 'mayor o aproximado')
+ - "⪇": [T: "menor que y una línea no es igual a"] # 0x2a87 (en: 'less than and single line not equal to', google: 'menos que y una sola línea no es igual a')
+ - "⪈": [T: "mayor que y una línea no es igual a"] # 0x2a88 (en: 'greater than and single line not equal to', google: 'mayor que y una sola línea no es igual a')
+ - "⪉": [T: "menor que y no aproximado a"] # 0x2a89 (en: 'less than and not approximate')
+ - "⪊": [T: "mayor que y no aproximado a"] # 0x2a8a (en: 'greater than and not approximate')
+ - "⪋": [T: "menor que por encima de línea doble, signo iguaal por encima de mayor que"] # 0x2a8b (en: 'less than above double line equal above greater than', google: 'menos que por encima de la doble línea igual por encima de más que')
+ - "⪌": [T: "mayor que por encima de doble línea, signo igual por encima de menor que"] # 0x2a8c (en: 'greater than above double line equal above less than', google: 'mayor que por encima de la doble línea igual por encima de menos que')
+ - "⪍": [T: "menor que por encima de similar o igual a"] # 0x2a8d (en: 'less than above similar or equal')
+ - "⪎": [T: "mayor que por encima de similar o igual a"] # 0x2a8e (en: 'greater than above similar or equal')
+ - "⪏": [T: "menor que por encima de similar por encima de mayor que"] # 0x2a8f (en: 'less than above similar above greater than')
+ - "⪐": [T: "mayor que por encima de similar por encima de menor que"] # 0x2a90 (en: 'greater than above similar above less than')
+ - "⪑": [T: "menor que por encima de mayor que por encima de doble línea igual"] # 0x2a91 (en: 'less than above greater than above double line equal')
+ - "⪒": [T: "mayor que por encima de menor que por encima de doble línea igual"] # 0x2a92 (en: 'greater than above less than above double line equal')
+ - "⪓": [T: "menor que por encima de signo igual inclinado por encima de mayor que por encima de signo igual inclinado"] # 0x2a93 (en: 'less than above slanted equal above greater than above slanted equal')
+ - "⪔": [T: "mayor que por encima de signo igual inclinado por encima de menor que por encima de signo igual inclinado"] # 0x2a94 (en: 'greater than above slanted equal above less than above slanted equal')
+ - "⪕": [T: "igual o menor que"] # 0x2a95 (en: 'slanted equal to or less than', google: 'inclinado igual o menos de')
+ - "⪖": [T: "igual o mayor que"] # 0x2a96 (en: 'slanted equal to or greater than')
+ - "⪗": [T: "igual o menor que con punto en el interior"] # 0x2a97 (en: 'slanted equal to or less than with dot inside')
+ - "⪘": [T: "igual o mayor que con punto en el interior"] # 0x2a98 (en: 'slanted equal to or greater than with dot inside')
+ - "⪙": [T: "doble línea igual a o menor que"] # 0x2a99 (en: 'double line equal to or less than')
+ - "⪚": [T: "doble línea igual a o mayor que"] # 0x2a9a (en: 'double line equal to or greater than')
+ - "⪛": [T: "doble línea inclinada igual a o menor que"] # 0x2a9b (en: 'double line slanted equal to or less than', google: 'doble línea inclinada igual o menos de')
+ - "⪜": [T: "doble línea inclinada igual a o mayor que"] # 0x2a9c (en: 'double line slanted equal to or greater than', google: 'línea doble inclinada igual o mayor que')
+ - "⪝": [T: "similar a o menor que"] # 0x2a9d (en: 'similar or less than')
+ - "⪞": [T: "similar a o mayor que"] # 0x2a9e (en: 'similar or greater than')
+ - "⪟": [T: "similar a por encima de menor que por encima de signo igual"] # 0x2a9f (en: 'similar above less than above equals sign')
+ - "⪠": [T: "similar a por encima de mayor que por encima de signo egual"] # 0x2aa0 (en: 'similar above greater than above equals sign')
+ - "⪡": [T: "mucho menor que"] # 0x2aa1 (en: 'double nested less than')
+ - "⪢": [T: "mucho mayor que"] # 0x2aa2 (en: 'double nested greater than')
+ - "⪣": [T: "signo menor que doblemente anidado con barra inferior"] # 0x2aa3 (en: 'double nested less than with underbar', google: 'doble anidado menos que con debajo de la barra')
+ - "⪤": [T: "signo mayor que superpuesto a signo menor que"] # 0x2aa4 (en: 'greater than overlapping less than')
+ - "⪥": [T: "signo mayor que al lado de signo enor que"] # 0x2aa5 (en: 'greater than beside less than')
+ - "⪦": [T: "menor que cerrado con curva"] # 0x2aa6 (en: 'less than closed by curve')
+ - "⪧": [T: "mayor que cerrado con curva"] # 0x2aa7 (en: 'greater than closed by curve')
+ - "⪨": [T: "signo menor que cerrado con curva por encima de signo igual inclinadoa"] # 0x2aa8 (en: 'less than closed by curve above slanted equal')
+ - "⪩": [T: "signo mayor que cerrado con curva por encima de signo igual inclinado"] # 0x2aa9 (en: 'greater than closed by curve above slanted equal')
+ - "⪪": [T: "más pequeño que"] # 0x2aaa (en: 'smaller than')
+ - "⪫": [T: "más grande que"] # 0x2aab (en: 'larger than')
+ - "⪬": [T: "más pequeño que o igual a"] # 0x2aac (en: 'smaller than or equal to')
+ - "⪭": [T: "más grande que o igual a"] # 0x2aad (en: 'larger than or equal to')
+ - "⪮": [T: "signo igual abultado en la parte superior"] # 0x2aae (en: 'equals sign with bumpy above')
+ - "⪯": [T: "precede o es igual a"] # 0x2aaf (en: 'precedes above single line equals sign')
+ - "⪰": [T: "sucede o es igual a"] # 0x2ab0 (en: 'succeeds above single line equals sign', google: 'tiene éxito por encima de la línea única es igual al signo')
+ - "⪱": [T: "precede no es igual a"] # 0x2ab1 (en: 'precedes above single line not equal to', google: 'precede por encima de una sola línea no es igual a')
+ - "⪲": [T: "sucede no es igual a"] # 0x2ab2 (en: 'succeeds above single line not equal to', google: 'tiene éxito por encima de una sola línea no es igual a')
+ - "⪳": [T: "precede por encima del signo igual"] # 0x2ab3 (en: 'precedes above equals sign', google: 'precede arriba es igual al signo')
+ - "⪴": [T: "sucede por encima del signo igual"] # 0x2ab4 (en: 'succeeds above equals sign', google: 'tiene éxito arriba es igual al signo')
+ - "⪵": [T: "precede por encima de no es igual a"] # 0x2ab5 (en: 'precedes above not equal to')
+ - "⪶": [T: "sucede por encima de no es igual a"] # 0x2ab6 (en: 'succeeds above not equal to')
+ - "⪷": [T: "precede por encima de casi igual a"] # 0x2ab7 (en: 'precedes above almost equal to')
+ - "⪸": [T: "sucede por encima de casi igual a"] # 0x2ab8 (en: 'succeeds above almost equal to')
+ - "⪹": [T: "precede por encima de no es casi igual a"] # 0x2ab9 (en: 'precedes above not almost equal to', google: 'precede arriba no casi igual a')
+ - "⪺": [T: "sucede por encima de casi igual a"] # 0x2aba (en: 'succeeds above not almost equal to', google: 'tiene éxito arriba no casi igual a')
+ - "⪻": [T: "es muy anterior a"] # 0x2abb (en: 'double precedes')
+ - "⪼": [T: "sigue mucho después"] # 0x2abc (en: 'double succeeds')
+ - "⪽": [T: "subconjunto con punto"] # 0x2abd (en: 'subset with dot')
+ - "⪾": [T: "superconjunto con punto"] # 0x2abe (en: 'superset with dot')
+ - "⪿": [T: "subconjunto con signo más debajo de"] # 0x2abf (en: 'subset with plus sign below')
+ - "⫁": [T: "subconjunto con signo de multiplicación debajo de"] # 0x2ac1 (en: 'subset with multiplication sign below')
+ - "⫀": [T: "superconjunto con signo más debajo de"] # 0x2ac0 (en: 'superset with plus sign below')
+ - "⫂": [T: "superconjunto con signo de multiplicación debajo de"] # 0x2ac2 (en: 'superset with multiplication sign below')
+ - "⫃": [T: "incluido con punto o es igual a"] # 0x2ac3 (en: 'subset of or equal to with dot above')
+ - "⫄": [T: "superconjunto de o igual a con punto encima"] # 0x2ac4 (en: 'superset of or equal to with dot above')
+ - "⫅": [T: "subconjunto de signo igual encima de"] # 0x2ac5 (en: 'subset of above equals sign', google: 'el subconjunto de arriba es igual al signo')
+ - "⫆": [T: "superconjunto de signo igual encima de"] # 0x2ac6 (en: 'superset of above equals sign', google: 'el superconjunto de arriba es igual al signo')
+ - "⫇": [T: "subconjunto por encima de tilde"] # 0x2ac7 (en: 'subset of above tilde operator')
+ - "⫈": [T: "superconjunto por encima de"] # 0x2ac8 (en: 'superset of above tilde operator')
+ - "⫉": [T: "subconjunto por encima de signo casi igual a"] # 0x2ac9 (en: 'subset of above almost equal to', google: 'subconjunto de arriba casi igual a')
+ - "⫊": [T: "superconjunto por encima de casi igual a"] # 0x2aca (en: 'superset of above almost equal to', google: 'superset de arriba casi igual a')
+ - "⫋": [T: "subconjunto por encima de signo no es igual a"] # 0x2acb (en: 'subset above not equal to', google: 'subconjunto arriba no igual a')
+ - "⫌": [T: "superconjunto por encima de signo no es igual a "] # 0x2acc (en: 'superset of above not equal to', google: 'superset de arriba no es igual a')
+ - "⫍": [T: "operador de caja abierta cuadrada a la izquierda"] # 0x2acd (en: 'square left open box operator', google: 'operador de caja abierta cuadrada izquierda')
+ - "⫎": [T: "operador de caja abierta cuadrada a la derecha"] # 0x2ace (en: 'square right open box operator', google: 'operador de caja abierta cuadrada derecha')
+ - "⫏": [T: "subconjunto cerrado"] # 0x2acf (en: 'closed subset')
+ - "⫐": [T: "superconjunto cerrado"] # 0x2ad0 (en: 'closed superset')
+ - "⫑": [T: "subconjunto cerrado o es igual a"] # 0x2ad1 (en: 'closed subset or equal to')
+ - "⫒": [T: "superconjunto cerrado o es igual a"] # 0x2ad2 (en: 'closed superset or equal to')
+ - "⫓": [T: "subconjunto por encima de superconjunto"] # 0x2ad3 (en: 'subset above superset')
+ - "⫔": [T: "superconjunto por encima de subconjunto"] # 0x2ad4 (en: 'superset above subset')
+ - "⫕": [T: "subconjunto por encima de subconjunto"] # 0x2ad5 (en: 'subset above subset')
+ - "⫖": [T: "superconjunto por encima de superconjunto"] # 0x2ad6 (en: 'superset above superset')
+ - "⫗": [T: "superconjunto al lado de subconjunto"] # 0x2ad7 (en: 'superset beside subset')
+ - "⫘": [T: "superconjunto al lado de y unido por barra discontinua a subconjunto"] # 0x2ad8 (en: 'superset beside and joined by dash with subset')
+ - "⫙": [T: "grupo de apertura hacia arriba y hacia abajo"] # 0x2ad9 (en: 'element of opening downwards')
+ - "⫚": [T: "bifurcación"] # 0x2ada
+ - "⫛": [T: "intersección transversal"] # 0x2adb
+ - "⫝̸": [T: "bifurcación"] # 0x2adc (en: 'forking')
+ - "⫝": [T: "sin bifurcación"] # 0x2add (google: 'no efectivo')
+ - "⫞": [T: "tack corto a la izquierda"] # 0x2ade (en: 'short left tack', google: 'tachuela a la izquierda corta')
+ - "⫟": [T: "tack corto hacia abajo"] # 0x2adf (en: 'short down tack', google: 'tachuela corta')
+ - "⫠": [T: "tack corto hacia arriba"] # 0x2ae0 (en: 'short up tack', google: 'tachuela corta')
+ - "⫡": [T: "perpendicular a s"] # 0x2ae1 (en: 'perpendicular with s')
+ - "⫢": [T: "barra vertical con triple torniquete a la derecha"] # 0x2ae2 (en: 'vertical bar triple right turnstile', google: 'barra vertical triple turnstile a la derecha')
+ - "⫣": [T: "doble barra vertical con torniquete a la izquierda"] # 0x2ae3 (en: 'double vertical bar left turnstile', google: 'doble barra vertical a la izquierda el torniquete')
+ - "⫤": [T: "barra vertical con doble torniquete a la izquierda"] # 0x2ae4 (en: 'vertical bar double left turnstile')
+ - "⫥": [T: "doble barra vertical doble torniquete a la izquierda"] # 0x2ae5 (en: 'double vertical bar double left turnstile', google: 'doble barra vertical de doble tornillo a la izquierda')
+ - "⫦": [T: "larga barra discontinua partiendo de doble barra vertical izquierda"] # 0x2ae6
+ - "⫧": [T: "tack corto con barra superior"] # 0x2ae7
+ - "⫨": [T: "tack corto arriba con barra inferior"] # 0x2ae8 (en: 'short up tack with underbar')
+ - "⫩": [T: "tack corto arriba sobre tack corto abajo"] # 0x2ae9
+ - "⫪": [T: "doble tack hacia abajo"] # 0x2aea (en: 'double down tack', google: 'duplicar la tachuela')
+ - "⫫": [T: "doble tack hacia arriba"] # 0x2aeb
+ - "⫬": [T: "doble trazo sin signo"] # 0x2aec
+ - "⫭": [T: "doble trazo invertido sin signo"] # 0x2aed
+ - "⫮": [T: "no divide con barra invertida discontinua de negación"] # 0x2aee
+ - "⫯": [T: "línea vertical con círculo encima"] # 0x2aef (en: 'vertical line with circle above')
+ - "⫰": [T: "línea vertical con círculo abajo"] # 0x2af0 (en: 'vertical line with circle below')
+ - "⫱": [T: "tack hacia abajo con círculo abajo"] # 0x2af1
+ - "⫲": [T: "paralela con trazo horizontal"] # 0x2af2 (en: 'parallel with horizontal stroke')
+ - "⫳": [T: "paralela con tilde"] # 0x2af3 (en: 'parallel with tilde operator')
+ - "⫴": [T: "relación binaria de barra vertical triple"] # 0x2af4 (en: 'triple vertical bar binary relation', google: 'relación binaria de la barra vertical triple')
+ - "⫵": [T: "barra vertical triple con trazo horizontal"] # 0x2af5 (en: 'triple vertical bar with horizontal stroke', google: 'barra vertical triple con carrera horizontal')
+ - "⫶": [T: "operador TripleC olon"] # 0x2af6 (en: 'triple colon operator', google: 'operador de triple colon')
+ - "⫷": [T: "signo menor que triplemente anidado"] # 0x2af7 (en: 'triple nested less than', google: 'triple anidado menos que')
+ - "⫸": [T: "signo mayor que triplemente anidado"] # 0x2af8 (en: 'triple nested greater than', google: 'triple anidado más grande que')
+ - "⫹": [T: "doble línea inclinada menor o igual a"] # 0x2af9 (en: 'double line slanted less than or equal to', google: 'doble línea inclinada menos o igual a')
+ - "⫺": [T: "doble línea inclinada mayor o igual a"] # 0x2afa (en: 'double line slanted greater than or equal to', google: 'línea doble inclinada mayor o igual a')
+ - "⫻": [T: "relación Binaria Triple Sólida"] # 0x2afb (en: 'triple solidus binary relation', google: 'triple relación binaria de solidus')
+ - "⫼": [T: "operador de barra vertical triple y grande"] # 0x2afc (en: 'large triple vertical bar operator', google: 'gran operador de barra vertical triple')
+ - "⫽": [T: "operador Doble Sólido"] # 0x2afd (en: 'double solidus operator', google: 'operador doble solidus')
+ - "⫾": [T: "barra vertical blanca"] # 0x2afe (en: 'white vertical bar')
+ - "⫿": [T: "barra vertical blanca N-Ary"] # 0x2aff (en: 'white vertical bar', google: 'barra vertical blanca')
+ - "⬀": [T: "flecha blanca apuntando al nordeste"] # 0x2b00 (en: 'north east white arrow', google: 'noreste de la flecha blanca')
+ - "⬁": [T: "flecha blanca apuntando a noroeste"] # 0x2b01 (en: 'north west white arrow', google: 'noroeste de flecha blanca')
+ - "⬂": [T: "flecha blanca apuntando al sudeste"] # 0x2b02 (en: 'south east white arrow', google: 'south east white arrow')
+ - "⬃": [T: "flecha blanca apuntando al sudoeste"] # 0x2b03 (en: 'south west white arrow', google: 'south west white arrow')
+ - "⬄": [T: "flecha blanca hacia izquierda y derecha"] # 0x2b04 (en: 'left right white arrow', google: 'flecha blanca derecha izquierda')
+ - "⬅": [T: "flecha negra hacia la izquierda"] # 0x2b05 (en: 'leftwards black arrow')
+ - "⬆": [T: "flecha negra hacia arriba"] # 0x2b06 (en: 'upwards black arrow', google: 'arrow negro hacia arriba')
+ - "⬇": [T: "flecha negra hacia abajo"] # 0x2b07 (en: 'downwards black arrow', google: 'arrow negra hacia abajo')
+ - "⬈": [T: "flecha negra apuntando al nordeste"] # 0x2b08 (en: 'north east black arrow', google: 'north east black arrow')
+ - "⬉": [T: "flecha negra apuntando al noroeste"] # 0x2b09 (en: 'north west black arrow', google: 'noroeste de flecha negra')
+ - "⬊": [T: "flecha negra apuntando al sudeste"] # 0x2b0a (en: 'south east black arrow', google: 'south east black arrow')
+ - "⬋": [T: "flecha negra apuntando al sudoeste"] # 0x2b0b (en: 'south west black arrow', google: 'south west arrow negro')
+ - "⬌": [T: "flecha negra hacia izquierda y derecha"] # 0x2b0c (en: 'left right black arrow', google: 'flecha negra derecha izquierda')
+ - "⬍": [T: "flecha negra hacia arriba y hacia abajo"] # 0x2b0d (en: 'up down black arrow', google: 'arrow black arrow')
+ - "⬎": [T: "flecha hacia la derecha con la punta hacia abajo"] # 0x2b0e (en: 'rightwards arrow with tip downwards')
+ - "⬏": [T: "flecha hacia la derecha con la punta hacia arriba"] # 0x2b0f (en: 'rightwards arrow with tip upwards')
+ - "⬐": [T: "flecha hacia la izquierda con la punta hacia abajo"] # 0x2b10 (en: 'leftwards arrow with tip downwards', google: 'flecha hacia la izquierda con punta hacia abajo')
+ - "⬑": [T: "flecha hacia la izquierda con la punta hacia arriba"] # 0x2b11 (en: 'leftwards arrow with tip upwards', google: 'flecha hacia la izquierda con punta hacia arriba')
+ - "⬒": [T: "cuadrado con mitad superior negra"] # 0x2b12 (en: 'square with top half black', google: 'cuadrado con la mitad superior negra')
+ - "⬓": [T: "cuadrado con mitad inferior negra"] # 0x2b13 (en: 'square with bottom half black', google: 'cuadrado con la mitad inferior negra')
+ - "⬔": [T: "cuadrado con mitad derecha superior diagonal negra"] # 0x2b14 (en: 'square with upper right diagonal half black', google: 'cuadrado con diagonal superior derecha de la parte superior negra')
+ - "⬕": [T: "cuadrado con mitad izquierda inferior diagonal negra"] # 0x2b15 (en: 'square with lower left diagonal half black', google: 'cuadrado con diagonal inferior izquierda mitad negra')
+ - "⬖": [T: "rombo con Mitad Izquierda Negro"] # 0x2b16 (en: 'diamond with left half black', google: 'diamante con la mitad de la izquierda')
+ - "⬗": [T: "rombo con mitad derecha negra"] # 0x2b17 (en: 'diamond with right half black', google: 'diamante con la mitad derecha negra')
+ - "⬘": [T: "rombo con mitad superior negra"] # 0x2b18 (en: 'diamond with top half black', google: 'diamante con mitad superior negro')
+ - "⬙": [T: "rojmbo con mitad inferior negra"] # 0x2b19 (en: 'diamond with bottom half black', google: 'diamante con la mitad de negro')
+ - "⬚": [T: "cuadrado punteado"] # 0x2b1a (en: 'box', google: 'caja')
+ - "⬛": [T: "cuadrado grande negro"] # 0x2b1b (en: 'black large square')
+ - "⬜": [T: "cuadrado grande blanco"] # 0x2b1c (en: 'white large square', google: 'cuadrado grande blanco')
+ - "⬝": [T: "cuadrado muy pequeño negro"] # 0x2b1d (en: 'black very small square', google: 'negro muy pequeño cuadrado')
+ - "⬞": [T: "cuadrado muy pequeño blanco"] # 0x2b1e (en: 'white very small square', google: 'blanco muy pequeño cuadrado')
+ - "⬟": [T: "pentágono blanco"] # 0x2b20 (en: 'white pentagon')
+ - "⬡": [T: "hexágono blanco"] # 0x2b21 (en: 'white hexagon')
+ - "⬢": [T: "hexágono negro"] # 0x2b22 (en: 'black hexagon')
+ - "⬣": [T: "hexágono hegro horizontal"] # 0x2b23 (en: 'horizontal black hexagon', google: 'hexagon negro horizontal')
+ - "⬤": [T: "circulo grande negro"] # 0x2b24 (en: 'black large circle', google: 'círculo negro negro')
+ - "⬥": [T: "rombo Mediano Negro"] # 0x2b25 (en: 'black medium diamond', google: 'diamante medio negro')
+ - "⬦": [T: "rombo mediano blanco"] # 0x2b26 (en: 'white medium diamond', google: 'diamante medio blanco')
+ - "⬧": [T: "rombo Mediano Negro"] # 0x2b27 (en: 'black medium lozenge', google: 'rombina media negra')
+ - "⬨": [T: "rombo mediano blanco"] # 0x2b28 (en: 'white medium lozenge', google: 'rombita media blanca')
+ - "⬩": [T: "rombo pequeño negro"] # 0x2b29 (en: 'black small diamond', google: 'diamante pequeño negro')
+ - "⬪": [T: "rombo pequeño negro"] # 0x2b2a (en: 'black small lozenge', google: 'pequeña barra negra')
+ - "⬫": [T: "rombo pequeño blanco"] # 0x2b2b (en: 'white small lozenge', google: 'pequeña barra blanca')
+ - "⬬": [T: "elipse horizontal negra"] # 0x2b2c (en: 'black horizontal ellipse')
+ - "⬭": [T: "elipse horizontal blanca"] # 0x2b2d (en: 'white horizontal ellipse')
+ - "⬮": [T: "elipse Vertical Negra"] # 0x2b2e (en: 'black vertical ellipse', google: 'elipse vertical negro')
+ - "⬯": [T: "elipse Vertical Blanca"] # 0x2b2f (en: 'white vertical ellipse', google: 'elipse vertical blanco')
+ - "⬰": [T: "flecha izquierda con círculo pequeño"] # 0x2b30 (en: 'left arrow with small circle')
+ - "⬱": [T: "tres flechas a la izquierda"] # 0x2b31 (en: 'three leftwards arrows', google: 'tres flechas de izquierda')
+ - "⬲": [T: "flecha izquierda con signo más en el interior de uncírculo"] # 0x2b32 (en: 'left arrow with circled plus', google: 'flecha izquierda con círculos plus')
+ - "⬳": [T: "flecha serpenteante larga hacia la izquierda"] # 0x2b33 (en: 'long leftwards squiggle arrow', google: 'larga flecha de tirantes de la izquierda')
+ - "⬴": [T: "flecha de dos cabezas hacia la izquierda con trazo vertical"] # 0x2b34 (en: 'leftwards two headed arrow with vertical stroke', google: 'a la izquierda, dos flechas con carrera vertical')
+ - "⬵": [T: "flecha de dos cabezas hacia la izquierda con doble trazo vertical"] # 0x2b35 (en: 'leftwards two headed arrow with double vertical stroke', google: 'a la izquierda, dos flechas con cabeza de carrera vertical doble')
+ - "⬶": [T: "flecha de dos cabezas hacia la izquierda partiendo de barra"] # 0x2b36 (en: 'leftwards two headed arrow from bar', google: 'a la izquierda, dos flechas de la cabeza del bar')
+ - "⬷": [T: "flecha de dos cabezas hacia la izquierda con triple barra discontinua"] # 0x2b37 (en: 'leftwards two headed triple dash arrow', google: 'a la izquierda, dos flechas del triple tablero')
+ - "⬸": [T: "flecha hacia la izquierda con trazo punteado"] # 0x2b38 (en: 'leftwards arrow with dotted stem')
+ - "⬹": [T: "flecha hacia la izquierda con cola con trazo vertical"] # 0x2b39 (en: 'leftwards arrow with tail with vertical stroke')
+ - "⬺": [T: "flecha hacia la izquierda con cola con doble trazo vertical"] # 0x2b3a (en: 'leftwards arrow with tail with double vertical stroke', google: 'flecha hacia la izquierda con cola con doble carrera vertical')
+ - "⬻": [T: "flecha de dos cabezas hacia la izquierda con cola"] # 0x2b3b (en: 'leftwards two headed arrow with tail', google: 'a la izquierda, dos flechas con la cola')
+ - "⬼": [T: "flecha de dos cabezas hacia la izquierda con cola con trazo vertical"] # 0x2b3c (en: 'leftwards two headed arrow with tail with vertical stroke', google: 'a la izquierda, dos flechas con cola con trazo vertical')
+ - "⬽": [T: "flecha de dos cabezas hacia la izquierda con cola con doble trazo vertical"] # 0x2b3d (en: 'leftwards two headed arrow with tail with double vertical stroke', google: 'a la izquierda, dos flechas con cola con trazo vertical doble')
+ - "⬾": [T: "flecha hacia la izquierda a través de X"] # 0x2b3e (en: 'leftwards arrow through x', google: 'flecha hacia la izquierda a través de x')
+ - "⬿": [T: "flecha ondulada apuntando directamente a la izquierda"] # 0x2b3f (en: 'wave arrow pointing directly left', google: 'flecha de onda apuntando directamente a la izquierda')
+ - "⭀": [T: "signo igual por encima de flecha hacia la izquierda"] # 0x2b40 (en: 'equals sign above leftwards arrow', google: 'igual de la señal de la flecha hacia la izquierda')
+ - "⭁": [T: "operador de tilde inverso sobre la flecha hacia la izquierda"] # 0x2b41 (en: 'reverse tilde operator above leftwards arrow', google: 'reverse del operador de tilde sobre la flecha de la izquierda')
+ - "⭂": [T: "flecha hacia la izquierda sobre el reverso de signo casi igual a"] # 0x2b42 (en: 'leftwards arrow above reverse almost equal to')
+ - "⭃": [T: "flecha hacia la derecha a través de signomayor que"] # 0x2b43 (en: 'rightwards arrow through greater than', google: 'flecha hacia la derecha a través de mayor que')
+ - "⭄": [T: "flecha hacia la derecha a través de superconjunto"] # 0x2b44 (en: 'rightwards arrow through superset', google: 'arrow hacia la derecha a través del superconjunto')
+ - "⭅": [T: "flecha cuádruple hacia la izquierda"] # 0x2b45 (en: 'leftwards quadruple arrow', google: 'flecha quadruple hacia la izquierda')
+ - "⭆": [T: "flecha cuádruple hacia la derecha"] # 0x2b46 (en: 'rightwards quadruple arrow', google: 'arrow cuádruple hacia la derecha')
+ - "⭇": [T: "operador de tilde inverso sobre flecha hacia la derecha"] # 0x2b47 (en: 'reverse tilde operator above rightwards arrow', google: 'reverse el operador de tilde sobre la flecha derecha hacia la derecha')
+ - "⭈": [T: "flecha hacia la derecha sobre el reverso de signo casi igual a"] # 0x2b48 (en: 'rightwards arrow above reverse almost equal to')
+ - "⭉": [T: "operador de tilde sobre flecha hacia la izquierda"] # 0x2b49 (en: 'tilde operator above leftwards arrow', google: 'operador de tilde sobre la flecha de la izquierda')
+ - "⭊": [T: "flecha hacia la izquierda por encima de signo casi igual a"] # 0x2b4a (en: 'leftwards arrow above almost equal to', google: 'flecha hacia la izquierda arriba casi igual a')
+ - "⭋": [T: "flecha hacia la izquierda sobre operador de tilde inverso"] # 0x2b4b (en: 'leftwards arrow above reverse tilde operator')
+ - "⭌": [T: "flecha hacia la derecha sobre operador de tilde inverso"] # 0x2b4c (en: 'rightwards arrow above reverse tilde operator')
+ - "⭐": [T: "estrella media vacía"] # 0x2b50 (en: 'white medium star')
+ - "⭑": [T: "estrella pequeña llena"] # 0x2b51 (en: 'black small star')
+ - "⭒": [T: "estrella pequeña vacía"] # 0x2b52 (en: 'white small star')
+ - "⭓": [T: "pentágono negro apuntando hacia la derecha"] # 0x2b53 (en: 'black right pointing pentagon', google: 'black derecha apuntando al pentágono')
+ - "⭔": [T: "pentágono blanco apuntando hacia la derecha"] # 0x2b54 (en: 'white right pointing pentagon', google: 'pentágono apuntando a la derecha blanca')
+ - "⭕": [T: "círculo grueso grande"] # 0x2b55 (en: 'heavy large circle', google: 'círculo grande y pesado')
+ - "⭖": [T: "óvalo grueso con óvalo en el interior"] # 0x2b56 (en: 'heavy oval with oval inside', google: 'ovalo pesado con óvalo en el interior')
+ - "⭗": [T: "círculo grueso con círculo en el interior"] # 0x2b57 (en: 'heavy circle with circle inside', google: 'círculo pesado con círculo interior')
+ - "⭘": [T: "círculo grueso"] # 0x2b58 (en: 'heavy circle')
+ - "⭙": [T: "saltire en círculo grueso"] # 0x2b59 (en: 'heavy circled saltire', google: 'saltire con círculo pesado')
+ - "⸀": [T: "marcador de sustitución en ángulo recto"] # 0x2e00 (en: 'right angle substitution marker', google translation)
+ - "⸁": [T: "marcador de sustitución punteado en ángulo recto"] # 0x2e01 (en: 'right angle dotted substitution marker', google translation)
+ - "⸂": [T: "soporte de sustitución izquierdo"] # 0x2e02 (en: 'left substitution bracket', google translation)
+ - "⸃": [T: "soporte de sustitución derecho"] # 0x2e03 (en: 'right substitution bracket', google translation)
+ - "⸄": [T: "soporte de sustitución punteado izquierdo"] # 0x2e04 (en: 'left dotted substitution bracket', google translation)
+ - "⸅": [T: "soporte de sustitución punteado derecho"] # 0x2e05 (en: 'right dotted substitution bracket', google translation)
+ - "⸆": [T: "marcador de interpolación elevado"] # 0x2e06 (en: 'raised interpolation marker', google translation)
+ - "⸇": [T: "marcador de interpolación punteado elevado"] # 0x2e07 (en: 'raised dotted interpolation marker', google translation)
+ - "⸈": [T: "marcador de marcador de transposición punteado"] # 0x2e08 (en: 'dotted transposition marker marker', google translation)
+ - "⸉": [T: "soporte de transposición izquierdo"] # 0x2e09 (en: 'left transposition bracket', google translation)
+ - "⸊": [T: "soporte de transposición derecho"] # 0x2e0a (en: 'right transposition bracket', google translation)
+ - "⸋": [T: "cuadrado elevado"] # 0x2e0b (en: 'raised square', google translation)
+ - "⸌": [T: "soporte de omisión izquierdo elevado"] # 0x2e0c (en: 'left raised omission bracket', google translation)
+ - "⸍": [T: "soporte de omisión derecho elevado"] # 0x2e0d (en: 'right raised omission bracket', google translation)
+ - "⸎": [T: "editorial coronis"] # 0x2e0e (google translation)
+ - "⸏": [T: "párrafos"] # 0x2e0f (en: 'paragraphos', google translation)
+ - "⸐": [T: "párrafos bifurcados"] # 0x2e10 (en: 'forked paragraphos', google translation)
+ - "⸑": [T: "párrafos invertidos bifurcados"] # 0x2e11 (en: 'reversed forked paragraphos', google translation)
+ - "⸒": [T: "hipodiastole"] # 0x2e12 (en: 'hypodiastole', google translation)
+ - "⸓": [T: "óbelos punteados"] # 0x2e13 (en: 'dotted obelos', google translation)
+ - "⸔": [T: "áncora hacia abajo"] # 0x2e14 (en: 'downwards ancora', google translation)
+ - "⸕": [T: "áncora hacia arriba"] # 0x2e15 (en: 'upwards ancora', google translation)
+ - "⸖": [T: "ángulo punteado apuntando hacia la derecha"] # 0x2e16 (en: 'dotted right pointing angle', google translation)
+ - "⸗": [T: "doble guión oblicuo"] # 0x2e17 (en: 'double oblique hyphen', google translation)
+ - "⸘": [T: "interrobang invertido"] # 0x2e18 (en: 'inverted interrobang', google translation)
+ - "⸙": [T: "rama de palma"] # 0x2e19 (en: 'palm branch', google translation)
+ - "⸚": [T: "guión con diéresis"] # 0x2e1a (en: 'hyphen with diaeresis', google translation)
+ - "⸛": [T: "tilde con anillo arriba"] # 0x2e1b (en: 'tilde with ring above', google translation)
+ - "⸜": [T: "soporte de paráfrasis bajo izquierdo"] # 0x2e1c (en: 'left low paraphrase bracket', google translation)
+ - "⸝": [T: "soporte de paráfrasis bajo derecho"] # 0x2e1d (en: 'right low paraphrase bracket', google translation)
+ - "⸞": [T: "tilde con punto arriba"] # 0x2e1e (en: 'tilde with dot above', google translation)
+ - "⸟": [T: "tilde con punto abajo"] # 0x2e1f (en: 'tilde with dot below', google translation)
+ - "⸠": [T: "barra vertical izquierda con pluma"] # 0x2e20 (en: 'left vertical bar with quill', google translation)
+ - "⸡": [T: "barra vertical derecha con pluma"] # 0x2e21 (en: 'right vertical bar with quill', google translation)
+ - "⸢": [T: "medio soporte superior izquierdo"] # 0x2e22 (en: 'top left half bracket', google: 'medio soporte superior izquierdo')
+ - "⸣": [T: "medio soporte superior derecho"] # 0x2e23 (en: 'top right half bracket', google: 'arroja superior derecha')
+ - "⸤": [T: "abrazadera inferior izquierda"] # 0x2e24 (en: 'bottom left half bracket', google: 'medio soporte inferior izquierdo')
+ - "⸥": [T: "medio soporte inferior derecho"] # 0x2e25 (en: 'bottom right half bracket')
+ - "⸦": [T: "soporte U lateral izquierdo"] # 0x2e26 (en: 'left sideways u bracket', google: 'izquierda lateral u soporte')
+ - "⸧": [T: "soporte U lateral derecho"] # 0x2e27 (en: 'right sideways u bracket', google: 'right sideways u soporte')
+ - "⸨": [T: "doble paréntesis izquierdo"] # 0x2e28 (en: 'left double parentheses', google: 'dejó doble paréntesis de tesas')
+ - "⸩": [T: "doble paréntesis derecho"] # 0x2e29 (en: 'right double parentheses', google: 'doble paréntesis derecha')
+ - "⸪": [T: "dos puntos sobre un punto de puntuación"] # 0x2e2a (en: 'two dots over one dot punctuation', google translation)
+ - "⸫": [T: "un punto sobre dos puntos de puntuación"] # 0x2e2b (en: 'one dot over two dots punctuation', google translation)
+ - "⸬": [T: "cuatro puntos de puntuación al cuadrado"] # 0x2e2c (en: 'squared four dot punctuation', google translation)
+ - "⸭": [T: "marca de cinco puntos"] # 0x2e2d (en: 'five dot mark', google translation)
+ - "⸮": [T: "signo de interrogación invertido"] # 0x2e2e (en: 'reversed question mark', google translation)
+ - "ⸯ": [T: "tilde vertical"] # 0x2e2f (en: 'vertical tilde', google translation)
+ - "⸰": [T: "punta del anillo"] # 0x2e30 (en: 'ring point', google translation)
+ - "⸱": [T: "punto medio separador de palabras"] # 0x2e31 (en: 'word separator middle dot', google translation)
+ - "⸲": [T: "convertido en coma"] # 0x2e32 (en: 'turned comma', google translation)
+ - "⸳": [T: "punto elevado"] # 0x2e33 (en: 'raised dot', google translation)
+ - "⸴": [T: "coma elevada"] # 0x2e34 (en: 'raised comma', google translation)
+ - "⸵": [T: "convertido en punto y coma"] # 0x2e35 (en: 'turned semicolon', google translation)
+ - "⸶": [T: "obelisco con portaestandarte izquierdo"] # 0x2e36 (en: 'dagger with left guard', google translation)
+ - "⸷": [T: "obelisco con portaestandarte derecho"] # 0x2e37 (en: 'dagger with right guard', google translation)
+ - "⸸": [T: "obelisco girado"] # 0x2e38 (en: 'turned dagger', google translation)
+ - "⸹": [T: "señal de la mitad superior de la sección"] # 0x2e39 (en: 'top half section sign', google translation)
+ - "⸺": [T: "dos em línea discontinua"] # 0x2e3a (en: 'two em dash', google translation)
+ - "⸻": [T: "tres em línea discontinua"] # 0x2e3b (en: 'three em dash', google translation)
+ - "〃": [T: "ídem mark"] # 0x3003 (en: 'ditto mark', google translation)
+ - "〈": [T: "soporte de ángulo izquierdo"] # 0x3008 (en: 'left angle bracket')
+ - "〉": [T: "soporte de ángulo derecho"] # 0x3009 (en: 'right angle bracket')
+ - "《": [T: "doble paréntesis angular izquierdo"] # 0x300a (en: 'left double angle bracket')
+ - "》": [T: "doble paréntesis angular derecho"] # 0x300b (en: 'right double angle bracket', MathPlayer: 'cierra paréntesis angular doble', google: 'soporte de doble ángulo derecho')
+ - "「": [T: "soporte de esquina izquierda"] # 0x300c (en: 'left corner bracket', google: 'soporte de esquina izquierda')
+ - "」": [T: "soporte de esquina derecha"] # 0x300d (en: 'right corner bracket')
+ - "『": [T: "soporte de esquina blanca izquierda"] # 0x300e (en: 'left white corner bracket', google: 'soporte de esquina blanca izquierda')
+ - "』": [T: "soporte de esquina blanca derecha"] # 0x300f (en: 'right white corner bracket', google: 'soporte de esquina blanca derecha')
+ - "【": [T: "soporte Lenticular negro izquierdo"] # 0x3010 (en: 'left black lenticular bracket', google: 'soporte lenticular negro izquierdo')
+ - "】": [T: "soporte Lenticular Negro Derecho"] # 0x3011 (en: 'right black lenticular bracket', google: 'soporte lenticular negro derecho')
+ - "〔": [T: "soporte de caparazón de tortuga izquierdo"] # 0x3014
+ - "〕": [T: "soporte de caparazón de tortuga derecho"] # 0x3015
+ - "〖": [T: "soporte lenticular blanco izquierdo"] # 0x3016 (en: 'left white lenticular bracket')
+ - "〗": [T: "soporte lenticular blanco derecho"] # 0x3017 (en: 'right white lenticular bracket')
+ - "〘": [T: "soporte de caparazón de tortuga blanco izquierdo"] # 0x3018 (en: 'left white tortoise shell bracket', google: 'soporte de carcasa de tortuga blanca izquierda')
+ - "〙": [T: "soporte de caparazón de tortuga blanco derecho"] # 0x3019 (en: 'right white tortoise shell bracket', google: 'soporte de carcasa de tortuga blanca derecha')
+ - "〚": [T: "corchete vacío izquierdo"] # 0x301a (en: 'left white square bracket')
+ - "〛": [T: "corchete vacío derecho"] # 0x301b (en: 'right white square bracket', MathPlayer: 'cierra corchete vacío', google: 'soporte cuadrado blanco derecho')
+ - "〜": [T: "línea discontinua ondulada"] # 0x301c (en: 'wave dash', google: 'ola de ola')
+ - "〰": [T: "línea discontinua en zigzag"] # 0x3030 (en: 'wavy dash', google: 'dash ondulado')
+ - "㉈": [T: "número diez rodeado por un círculo en un cuadrado negro"] # 0x3248 (en: 'circled number ten on black square', google: 'circlado número diez en black square')
+ - "㉉": [T: "número veinte rodeado por un círculo en un cuadrado negro"] # 0x3249 (en: 'circled number twenty on black square', google: 'número de círculo veinte en black square')
+ - "㉊": [T: "número treinta rodeado por un círculo en un cuadrado negro"] # 0x324a (en: 'circled number thirty on black square', google: 'número de círculo treinta en black square')
+ - "㉋": [T: "número cuarenta rodeado por un círculo en un cuadrado negro"] # 0x324b (en: 'circled number forty on blacks square', google: 'número de círculo cuarenta en blacks square')
+ - "㉌": [T: "número cincuenta rodeado por un círculo en un cuadrado negro"] # 0x324c (en: 'circled number fifty on black square', google: 'número de círculo cincuenta en black square')
+ - "㉍": [T: "número sesenta rodeado por un círculo en un cuadrado negro"] # 0x324d (en: 'circled number sixty on black square', google: 'número de círculos sesenta en black square')
+ - "㉎": [T: "número setenta rodeado por un círculo en un cuadrado negro"] # 0x324e (en: 'circled number seventy on black square', google: 'número de círculo setenta en black square')
+ - "㉏": [T: "número ochenta rodeado por un círculo en un cuadrado negro"] # 0x324f (en: 'circled number eighty on black square', google: 'número de círculo aty en black square')
+ - "㉑": [T: "número veintiuno rodeado por un círculo"] # 0x3251 (en: 'circled number twenty one', google translation)
+ - "㉒": [T: "número veintidós rodeado por un círculo"] # 0x3252 (en: 'circled number twenty two', google translation)
+ - "㉓": [T: "número veintitrés rodeado por un círculo"] # 0x3253 (en: 'circled number twenty three', google translation)
+ - "㉔": [T: "número veinticuatro rodeado por un círculo"] # 0x3254 (en: 'circled number twenty four', google translation)
+ - "㉕": [T: "número veinticinco rodeado por un círculo"] # 0x3255 (en: 'circled number twenty five', google translation)
+ - "㉖": [T: "número veintiséis rodeado por un círculo"] # 0x3256 (en: 'circled number twenty six', GPT-5.4 fixed translation)
+ - "㉗": [T: "número veintisiete rodeado por un círculo"] # 0x3257 (en: 'circled number twenty seven', google translation)
+ - "㉘": [T: "número veintiocho rodeado por un círculo"] # 0x3258 (en: 'circled number twenty eight', google translation)
+ - "㉙": [T: "número veintinueve rodeado por un círculo"] # 0x3259 (en: 'circled number twenty nine', GPT-5.4 fixed translation)
+ - "㉚": [T: "número treinta rodeado por un círculo"] # 0x325a (en: 'circled number thirty', google translation)
+ - "㉛": [T: "número treinta y uno rodeado por un círculo"] # 0x325b (en: 'circled number thirty one', GPT-5.4 fixed translation)
+ - "㉜": [T: "número treinta y dos rodeado por un círculo"] # 0x325c (en: 'circled number thirty two', google translation)
+ - "㉝": [T: "número treinta y tres rodeado por un círculo"] # 0x325d (en: 'circled number thirty three', google translation)
+ - "㉞": [T: "número treinta y cuatro rodeado por un círculo"] # 0x325e (en: 'circled number thirty four', google translation)
+ - "㉟": [T: "número treinta y cinco rodeado por un círculo"] # 0x325f (en: 'circled number thirty five', google translation)
+ - "㊱": [T: "número treinta y seis rodeado por un círculo"] # 0x32b1 (en: 'circled number thirty six', google translation)
+ - "㊲": [T: "número treinta y siete rodeado por un círculo"] # 0x32b2 (en: 'circled number thirty seven', GPT-5.4 translation)
+ - "㊳": [T: "número treinta y ocho rodeado por un círculo"] # 0x32b3 (en: 'circled number thirty eight', GPT-5.4 translation)
+ - "㊴": [T: "número treinta y nueve rodeado por un círculo"] # 0x32b4 (en: 'circled number thirty nine', GPT-5.4 translation)
+ - "㊵": [T: "número cuarenta rodeado por un círculo"] # 0x32b5 (en: 'circled number forty', GPT-5.4 translation)
+ - "㊶": [T: "número cuarenta y uno rodeado por un círculo"] # 0x32b6 (en: 'circled number forty one', GPT-5.4 translation)
+ - "㊷": [T: "número cuarenta y dos rodeado por un círculo"] # 0x32b7 (en: 'circled number forty two', GPT-5.4 translation)
+ - "㊸": [T: "número cuarenta y tres rodeado por un círculo"] # 0x32b8 (en: 'circled number forty three', GPT-5.4 translation)
+ - "㊹": [T: "número cuarenta y cuatro rodeado por un círculo"] # 0x32b9 (en: 'circled number forty four', GPT-5.4 translation)
+ - "㊺": [T: "número cuarenta y cinco rodeado por un círculo"] # 0x32ba (en: 'circled number forty five', GPT-5.4 translation)
+ - "㊻": [T: "número cuarenta y seis rodeado por un círculo"] # 0x32bb (en: 'circled number forty six', GPT-5.4 translation)
+ - "㊼": [T: "número cuarenta y siete rodeado por un círculo"] # 0x32bc (en: 'circled number forty seven', GPT-5.4 translation)
+ - "㊽": [T: "número cuarenta y ocho rodeado por un círculo"] # 0x32bd (en: 'circled number forty eight', GPT-5.4 translation)
+ - "㊾": [T: "número cuarenta y nueve rodeado por un círculo"] # 0x32be (en: 'circled number forty nine', GPT-5.4 translation)
+ - "㊿": [T: "número cincuenta rodeado por un círculo"] # 0x32bf (en: 'circled number fifty', GPT-5.4 translation)
+ - "㋌": [T: "mercurio"] # 0x32cc (en: 'mercury', google translation)
+ - "㋍": [T: "ergs"] # 0x32cd (google translation)
+ - "㋎": [T: "electronvoltios"] # 0x32ce (en: 'electron volts', google translation)
+ - "㋏": [T: "señal de responsabilidad limitada"] # 0x32cf (en: 'limited liability sign', google translation)
+ - "㍱": [T: "hectopascales"] # 0x3371 (en: 'hectopascals', google translation)
+ - "㍲": [T: "daltons"] # 0x3372 (google translation)
+ - "㍳": [T: "unidades astronómicas"] # 0x3373 (en: 'astronomical units', google translation)
+ - "㍴": [T: "barras"] # 0x3374 (en: 'bars', google translation)
+ - "㍵": [T: "o v"] # 0x3375 (google translation)
+ - "㍶": [T: "parsecs"] # 0x3376 (google translation)
+ - "㍷": [T: "decímetros"] # 0x3377 (en: 'decimeters', google translation)
+ - "㍸": [T: "decímetros al cuadrado"] # 0x3378 (en: 'decimeters squared', google translation)
+ - "㍹": [T: "decímetros al cubo"] # 0x3379 (en: 'decimeters cubed', google translation)
+ - "㍺": [T: "unidades instrumentales"] # 0x337a (en: 'instrumental units', google translation)
+ - "㎀": [T: "picoamperios"] # 0x3380 (google translation)
+ - "㎁": [T: "nanoamperios"] # 0x3381 (google translation)
+ - "㎂": [T: "microamperios"] # 0x3382 (google translation)
+ - "㎃": [T: "miliamperios"] # 0x3383 (en: 'milliamps', google translation)
+ - "㎄": [T: "kiloamperios"] # 0x3384 (google translation)
+ - "㎅": [T: "kilobytes"] # 0x3385 (google translation)
+ - "㎆": [T: "megabytes"] # 0x3386 (google translation)
+ - "㎇": [T: "gigabytes"] # 0x3387 (google translation)
+ - "㎈": [T: "calorías"] # 0x3388 (en: 'calories', google translation)
+ - "㎉": [T: "kilocalorías"] # 0x3389 (en: 'kilocalories', google translation)
+ - "㎊": [T: "picofaradios"] # 0x338a (google translation)
+ - "㎋": [T: "nanofaradios"] # 0x338b (google translation)
+ - "㎌": [T: "microfaradios"] # 0x338c (google translation)
+ - "㎍": [T: "microgramos"] # 0x338d (en: 'micrograms', google translation)
+ - "㎎": [T: "miligramos"] # 0x338e (en: 'milligrams', google translation)
+ - "㎏": [T: "kilogramos"] # 0x338f (en: 'kilograms', google translation)
+ - "㎐": [T: "hercios"] # 0x3390 (google translation)
+ - "㎑": [T: "kilohercios"] # 0x3391 (en: 'kilohertz', google translation)
+ - "㎒": [T: "megahercios"] # 0x3392 (en: 'megahertz', google translation)
+ - "㎓": [T: "gigahercios"] # 0x3393 (google translation)
+ - "㎔": [T: "terahercios"] # 0x3394 (google translation)
+ - "㎕": [T: "microlitros"] # 0x3395 (en: 'microliters', google translation)
+ - "㎖": [T: "mililitros"] # 0x3396 (google translation)
+ - "㎗": [T: "decilitros"] # 0x3397 (en: 'deciliters', google translation)
+ - "㎘": [T: "kilolitros"] # 0x3398 (en: 'kiloliters', google translation)
+ - "㎙": [T: "femtómetros"] # 0x3399 (en: 'femtometers', google translation)
+ - "㎚": [T: "micrómetros"] # 0x339b (en: 'micrometers', google translation)
+ - "㎜": [T: "milímetros"] # 0x339c (en: 'millimeters', google translation)
+ - "㎝": [T: "centímetros"] # 0x339d (en: 'centimeters', google translation)
+ - "㎞": [T: "kilómetros"] # 0x339e (en: 'kilometers', google translation)
+ - "㎟": [T: "milímetros cuadrados"] # 0x339f (en: 'millimeters squared', google translation)
+ - "㎠": [T: "centímetros cuadrados"] # 0x33a0 (en: 'centimeters squared', google translation)
+ - "㎡": [T: "metros cuadrados"] # 0x33a1 (en: 'meters squared', google translation)
+ - "㎢": [T: "kilómetros cuadrados"] # 0x33a2 (en: 'kilometers squared', google translation)
+ - "㎣": [T: "milímetros cúbicos"] # 0x33a3 (en: 'millimeters cubed', google translation)
+ - "㎤": [T: "centímetros cúbicos"] # 0x33a4 (en: 'centimeters cubed', google translation)
+ - "㎥": [T: "metros cúbicos"] # 0x33a5 (en: 'meters cubed', google translation)
+ - "㎦": [T: "kilómetros cúbicos"] # 0x33a6 (en: 'kilometers cubed', google translation)
+ - "㎧": [T: "metros por segundo"] # 0x33a7 (en: 'meters per second', google translation)
+ - "㎨": [T: "metros por segundo al cuadrado"] # 0x33a8 (en: 'meters per second squared', google translation)
+ - "㎩": [T: "pascales"] # 0x33a9 (en: 'pascals', google translation)
+ - "㎪": [T: "kilopascales"] # 0x33aa (en: 'kilopascals', google translation)
+ - "㎫": [T: "megapascales"] # 0x33ab (en: 'megapascals', google translation)
+ - "㎬": [T: "gigapascales"] # 0x33ac (en: 'gigapascals', google translation)
+ - "㎭": [T: "radián"] # 0x33ad (google translation)
+ - "㎮": [T: "radián por segundo"] # 0x33ae (en: 'rads per second', google translation)
+ - "㎯": [T: "radián por segundo al cuadrado"] # 0x33af (en: 'rads per second squared', google translation)
+ - "㎰": [T: "picosegundos"] # 0x33b0 (en: 'picoseconds', google translation)
+ - "㎱": [T: "nanosegundos"] # 0x33b1 (en: 'nanoseconds', google translation)
+ - "㎲": [T: "microsegundos"] # 0x33b2 (en: 'microseconds', google translation)
+ - "㎳": [T: "milisegundos"] # 0x33b3 (en: 'milliseconds', google translation)
+ - "㎴": [T: "picovoltios"] # 0x33b4 (google translation)
+ - "㎵": [T: "nanovoltios"] # 0x33b5 (en: 'nanovolts', google translation)
+ - "㎶": [T: "microvoltios"] # 0x33b6 (en: 'microvolts', google translation)
+ - "㎷": [T: "milivoltios"] # 0x33b7 (en: 'millivolts', google translation)
+ - "㎸": [T: "kilovoltios"] # 0x33b8 (en: 'kilovolts', google translation)
+ - "㎹": [T: "megavoltios"] # 0x33b9 (google translation)
+ - "㎺": [T: "picovatios"] # 0x33ba (google translation)
+ - "㎻": [T: "nanovatios"] # 0x33bb (google translation)
+ - "㎼": [T: "microvatios"] # 0x33bc (google translation)
+ - "㎽": [T: "milivatios"] # 0x33bd (google translation)
+ - "㎾": [T: "kilovatios"] # 0x33be (en: 'kilowatts', google translation)
+ - "㎿": [T: "megavatios"] # 0x33bf (google translation)
+ - "㏀": [T: "kiloohmios"] # 0x33c0 (google translation)
+ - "㏁": [T: "megaohmios"] # 0x33c1 (google translation)
+ - "㏂": [T: "attómetros"] # 0x33c2 (en: 'attometers', google translation)
+ - "㏃": [T: "becquerels"] # 0x33c3 (google translation)
+ - "㏄": [T: "centímetros cubicos"] # 0x33c4 (en: 'cubic centimeters', google translation)
+ - "㏅": [T: "candelas"] # 0x33c5 (google translation)
+ - "㏆": [T: "culombios por kilogramos"] # 0x33c6 (en: 'coulombs per kilogram', google translation)
+ - "㏇": [T: "volumen minuto"] # 0x33c7 (en: 'cardiac output', google translation)
+ - "㏈": [T: "decibelios"] # 0x33c8 (en: 'decibels', google translation)
+ - "㏉": [T: "grises"] # 0x33c9 (en: 'grays', google translation)
+ - "㏊": [T: "hectáreas"] # 0x33ca (en: 'hectares', google translation)
+ - "㏋": [T: "caballo de fuerza"] # 0x33cb (en: 'horsepower', google translation)
+ - "㏌": [T: "pulgadas"] # 0x33cc (en: 'inches', google translation)
+ - "㏍": [T: "kilokelvins"] # 0x33cd (google translation)
+ - "㏎": [T: "kilómetros"] # 0x33ce (en: 'kilometers', google translation)
+ - "㏏": [T: "nudos"] # 0x33cf (en: 'knots', google translation)
+ - "㏐": [T: "lúmenes"] # 0x33d0 (en: 'lumens', google translation)
+ - "㏑": [T: "logaritmo natural"] # 0x33d1 (en: 'natural log', google translation)
+ - "㏒": [T: "logaritmo"] # 0x33d2 (en: 'logarithm', google translation)
+ - "㏓": [T: "lux"] # 0x33d3 (google translation)
+ - "㏔": [T: "milibares"] # 0x33d4 (google translation)
+ - "㏕": [T: "mills"] # 0x33d5 (en: 'mills', google translation)
+ - "㏖": [T: "moles"] # 0x33d6 (google translation)
+ - "㏗": [T: "p h"] # 0x33d7 (google translation)
+ - "㏘": [T: "picómetros"] # 0x33d8 (en: 'picometers', google translation)
+ - "㏙": [T: "partes por millón"] # 0x33d9 (en: 'parts per million', google translation)
+ - "㏚": [T: "roentgens"] # 0x33da (en: 'petaroentgens', google translation)
+ - "㏛": [T: "estererradián"] # 0x33db (en: 'steradians', google translation)
+ - "㏜": [T: "sieverts"] # 0x33dc (google translation)
+ - "㏝": [T: "webers"] # 0x33dd (google translation)
+ - "㏞": [T: "voltios por metro"] # 0x33de (en: 'volts per meter', google translation)
+ - "㏟": [T: "amperios por metro"] # 0x33df (en: 'amps per meter', google translation)
+ - "㏿": [T: "galones"] # 0x33ff (en: 'gallons', google translation)
+ - "": [T: "sino igual a con sombrero debajo"] # 0xe900 (en: 'equals with hat below', google translation)
+ - "": [T: "es igual a con signo más encima"] # 0xe901 (en: 'equals with plus above', google translation)
+ - "⩲": [T: "es igual a con signo más encima"] # 0x2a72 (en: 'equals with plus above')
+ - "": [T: "es igual a con signo más debajo"] # 0xe902 (en: 'equals with plus below', google translation)
+ - "⩱": [T: "es igual a con signo más debajo"] # 0x2a71 (en: 'equals with plus below')
+ - "": [T: "tilde con más encima"] # 0xe903 (en: 'tilde with plus above', google translation)
+ - "⨦": [T: "tilde con signo más encima"] # 0x2a26 (en: 'tilde with plus above')
+ - "": [T: "tilde signo más debajo"] # 0xe904 (en: 'tilde with plus below', google translation)
+ - "⨤": [T: "tilde con signo más debajo"] # 0x2a24 (en: 'tilde with plus below')
+ - "": [T: "doble signo igual sobre mayor que"] # 0xe908 (en: 'equal double over greater than', google translation)
+ - "": [T: "doble signo igual sobre menor que"] # 0xe909 (en: 'equal double over less than', google translation)
+ - "⪙": [T: "doble signo igual sobre menor que"] # 0x2a99 (en: 'equal double over less than')
+ - "": [T: "contiene o igual a"] # 0xe90a (en: 'contains or equal to', google translation)
+ - "⋽": [T: "contiene o igual a"] # 0x22fd (en: 'contains or equal to')
+ - "": [T: "superconjunto de o igual a"] # 0xe90b (en: 'superset of or equal to', google translation)
+ - "": [T: "subconjunto de o igual a"] # 0xe90c (en: 'subset of or equal to', google translation)
+ - "": [T: "signo igual sobre signo menor que"] # 0xe90d (en: 'equal over less than', google translation)
+ - "": [T: "elemento de o igual a"] # 0xe912 (en: 'element of or equal to', google translation)
+ - "⋷": [T: "elemento de o igual a"] # 0x22f7 (en: 'element of or equal to')
+ - "": [T: "igual a o mayor que"] # 0xe913 (en: 'equal to or greater than', google translation)
+ - "⪚": [T: "mayor que o igual a"] # 0x2a9a (en: 'equal to or greater than')
+ - "": [T: "superconjunto aproximado de"] # 0xe914 (en: 'approximate superset of', google translation)
+ - "⫈": [T: "contiene aproximadamente a"] # 0x2ac8 (en: 'approximate superset of')
+ - "": [T: "subconjunto aproximado de"] # 0xe915 (en: 'approximate subset of', google translation)
+ - "⫇": [T: "incluido aproximadamente en"] # 0x2ac7 (en: 'approximate subset of')
+ - "": [T: "superconjunto de con punto incluido como sub-relación"] # 0xe916 (en: 'superset of with dot includes as sub relation', google translation)
+ - "⪾": [T: "contiene como sub-relación a"] # 0x2abe (en: 'superset of with dot includes as sub relation')
+ - "": [T: "el subconjunto de con dot se incluye en una subselección"] # 0xe917 (en: 'subset of with dot is included in as sub relation', google translation)
+ - "⪽": [T: "sub-relación de"] # 0x2abd (en: 'subset of with dot is included in as sub relation')
+ - "": [T: "signo igual a con punto debajo"] # 0xe918 (en: 'equal with dot below', google translation)
+ - "⩦": [T: "signo igual a con punto debajo"] # 0x2a66 (en: 'equal with dot below')
+ - "": [T: "punto izquierdo sobre signo menos sobre punto derecho"] # 0xe919 (en: 'left dot over minus over right dot', google translation)
+ - "": [T: "punto derecho sobre signo menos sobre punto izquierdo"] # 0xe91a (en: 'right dot over minus over left dot', google translation)
+ - "": [T: "casi igual a menos"] # 0xe91f (en: 'almost equal to minus', google translation)
+ - "": [T: "taza doble cuadrada"] # 0xe920 (en: 'double square cup', google translation)
+ - "": [T: "doble cuadrado en mayúsculas"] # 0xe921 (en: 'double square cap', google translation)
+ - "": [T: "menor que igual o mayor que"] # 0xe922 (en: 'less than equal to or greater than', google translation)
+ - "": [T: "tilde con punto"] # 0xe924 (en: 'tilde with dot', google translation)
+ - "⩪": [T: "tilde con punto"] # 0x2a6a (en: 'tilde with dot')
+ - "": [T: "tilde con dos puntos"] # 0xe925 (en: 'tilde with two dots', google translation)
+ - "": [T: "menor que mayor o igual a"] # 0xe926 (en: 'less than greater than or equal to', google translation)
+ - "⪑": [T: "menor que mayor que o igual a"] # 0x2a91 (en: 'less than greater than or equal to')
+ - "": [T: "mayor que menor que o igual a"] # 0xe927 (en: 'greater than less than or equal to', google translation)
+ - "⪒": [T: "mayor que menor que o igual a"] # 0x2a92 (en: 'greater than less than or equal to')
+ - "": [T: "equivalente a o menor que"] # 0xe928 (en: 'equivalent to or less than', google translation)
+ - "⪝": [T: "equivalente a o menor que"] # 0x2a9d (en: 'equivalent to or less than')
+ - "": [T: "equivalente a o mayor que"] # 0xe929 (en: 'equivalent to or greater than', google translation)
+ - "": [T: "operador de caja abierta izquierda"] # 0xe92a (en: 'left open box operator', google translation)
+ - "": [T: "operador de caja abierta derecha"] # 0xe92b (en: 'right open box operator', google translation)
+ - "": [T: "idéntico a con punto"] # 0xe92c (en: 'identical to with dot', google translation)
+ - "": [T: "mayor que igual a o menor que"] # 0xe92d (en: 'greater than equal to or less than', google translation)
+ - "": [T: "operador de barra"] # 0xe92e (en: 'bar operator', google translation)
+ - "": [T: "operador de doble barra"] # 0xe92f (en: 'double bar operator', google translation)
+ - "": [T: "operador de triple barra"] # 0xe930 (en: 'triple bar operator', google translation)
+ - "": [T: "menor que o aproximadamente igual a"] # 0xe932 (en: 'less than or approximately equal to', google translation)
+ - "": [T: "mayor que o aproximadamente igual a"] # 0xe933 (en: 'greater than or approximately equal to', google translation)
+ - "": [T: "menor que anidado"] # 0xe936 (en: 'nested less than', google translation)
+ - "⪡": [T: "mucho menor que"] # 0x2aa1 (en: 'nested less than')
+ - "": [T: "mayor que anidado"] # 0xe937 (en: 'nested greater than', google translation)
+ - "⪢": [T: "mucho mayor que"] # 0x2aa2 (en: 'nested greater than')
+ - "": [T: "precede o equivalente a"] # 0xe93a (en: 'precedes or equivalent to', google translation)
+ - "": [T: "sucede o equivalente a"] # 0xe93b (en: 'succeeds or equivalent to', google translation)
+ - "": [T: "precede sobre signo igual"] # 0xe940 (en: 'precedes over equal', google translation)
+ - "": [T: "sucede sobre signo igual"] # 0xe941 (en: 'succeeds over equal', google translation)
+ - "": [T: "menor igual inclinado mayor"] # 0xe942 (en: 'less equal slanted greater', google translation)
+ - "": [T: "mayor igual inclinado menor"] # 0xe943 (en: 'greater equal slanted less', google translation)
+ - "": [T: "satisfecho por"] # 0xe948 (en: 'satisfied by', google translation)
+ - "": [T: "lazy s"] # 0xe949 (en: 'lazy s', google translation)
+ - "": [T: "no afirmación"] # 0xe94a (en: 'not assertion', google translation)
+ - "": [T: "doble igual"] # 0xe94b (en: 'double equal', google translation)
+ - "⩵": [T: "doble igual"] # 0x2a75 (en: 'double equal')
+ - "": [T: "triple igual"] # 0xe94c (en: 'triple equal', google translation)
+ - "": [T: "regla retardada"] # 0xe94d (en: 'rule delayed', google translation)
+ - "⧴": [T: "regla retardada"] # 0x29f4
+ - "": [T: "delimitador de alias"] # 0xe94e (en: 'alias delimiter', google translation)
+ - "": [T: "subgrupo normal de con barra"] # 0xe950 (en: 'normal subgroup of with bar', google translation)
+ - "⧏": [T: "subgrupo normal o igual a"] # 0x29cf (en: 'normal subgroup of with bar')
+ - "": [T: "contiene como subgrupo normal con barra"] # 0xe951 (en: 'contains as normal subgroup with bar', google translation)
+ - "⧐": [T: "contiene como subgrupo normal o es igual a"] # 0x29d0 (en: 'contains as normal subgroup with bar')
+ - "": [T: "implica circular"] # 0xe954 (en: 'round implies', google translation)
+ - "⥰": [T: "implica circular"] # 0x2970
+ - "": [T: "emoticono de sonrisa debajo de una barra"] # 0xe955 (en: 'smile under bar', google translation)
+ - "": [T: "emoticono de ceño fruncido sobe barra"] # 0xe956 (en: 'frown over bar', google translation)
+ - "": [T: "superconjunto de o casi igual a"] # 0xe957 (en: 'superset of or almost equal to', google translation)
+ - "": [T: "subconjunto de o casi igual a"] # 0xe958 (en: 'subset of or almost equal to', google translation)
+ - "": [T: "mayor que casi igual a o menor que"] # 0xe959 (en: 'greater than almost equal to or less than', google translation)
+ - "": [T: "menor que casi igual a o mayor que"] # 0xe95a (en: 'less than almost equal or greater than', google translation)
+ - "": [T: "doble o lógica"] # 0xe95c (en: 'double logical or', google translation)
+ - "⩔": [T: "o"] # 0x2a54 (en: 'double logical or')
+ - "": [T: "doble y lógica"] # 0xe95d (en: 'double logical and', google translation)
+ - "⩓": [T: "y"] # 0x2a53 (en: 'double logical and')
+ - "": [T: "o lógica con doble barra debajo"] # 0xe95e (en: 'logical or with double bar below', google translation)
+ - "": [T: "o lógica con barra debajo"] # 0xe95f (en: 'logical or with bar below', google translation)
+ - "": [T: "casi igual sobre igual"] # 0xe962 (en: 'almost equal over equal', google translation)
+ - "": [T: "triángulo apuntando a la izquierda con barra bisectriz"] # 0xe964
+ - "": [T: "triángulo apuntando a la derecha con barra bisectriz"] # 0xe965 (en: 'right pointing triangle with bisecting bar', google translation)
+ - "": [T: "es igual a la línea punteada superior"] # 0xe966 (en: 'equals with dotted top line', google translation)
+ - "": [T: "precede con dos puntos"] # 0xe967 (en: 'precedes with colon', google translation)
+ - "": [T: "sucede con dos puntos"] # 0xe968 (en: 'succeeds with colon', google translation)
+ - "": [T: "más pequeño o igual inclinado"] # 0xe969 (en: 'smaller than or equal slanted', google translation)
+ - "": [T: "más grande o igual inclinado"] # 0xe96a (en: 'larger than or equal slanted', google translation)
+ - "": [T: "mucho menor que anidado"] # 0xe96b (en: 'nested very much less than', google translation)
+ - "": [T: "mucho mayor que anidado"] # 0xe96c (en: 'nested very much greater than', google translation)
+ - "": [T: "diferencia entre variantes"] # 0xe96d (en: 'difference between variant', google translation)
+ - "⪮": [T: "diferencia entre"] # 0x2aae (en: 'difference between variant')
+ - "": [T: "superposición de menor que mayor que"] # 0xe96e (en: 'less than greater than overlay', google translation)
+ - "⪤": [T: "superposición de menor que mayor que"] # 0x2aa4 (en: 'less than greater than overlay')
+ - "": [T: "o lógica y lógica superpuestas"] # 0xe96f (en: 'logical or logical and overlay', google translation)
+ - "": [T: "superconjunto sobre superconjunto"] # 0xe970 (en: 'superset over superset', google translation)
+ - "⫖": [T: "superconjunto sobre superconjunto"] # 0x2ad6 (en: 'superset over superset')
+ - "": [T: "subconjunto sobre subconjunto"] # 0xe971 (en: 'subset over subset', google translation)
+ - "⫕": [T: "subconjunto por encima de subconjunto"] # 0x2ad5 (en: 'subset over subset')
+ - "": [T: "superconjunto sobre subconjunto"] # 0xe972 (en: 'superset over subset', google translation)
+ - "⫔": [T: "contiene o está incluido en"] # 0x2ad4 (en: 'superset over subset')
+ - "": [T: "subconjunto sobre superconjunto"] # 0xe973 (en: 'subset over superset', google translation)
+ - "⫓": [T: "está incluido o contiene a"] # 0x2ad3 (en: 'subset over superset')
+ - "": [T: "triple barra vertical"] # 0xe979 (en: 'triple vertical bar', google translation)
+ - "": [T: "puntos verticales cuádruples emparejados"] # 0xe97a (en: 'paired quadruple vertical dots', google translation)
+ - "": [T: "perpendicular sobre barra"] # 0xe97b (en: 'perpendicular over bar', google translation)
+ - "⫨": [T: "perpendicular sobre barra"] # 0x2ae8 (en: 'perpendicular over bar')
+ - "": [T: "doble barra vertical con torniquete a la izquierda"] # 0xe97c (en: 'left turnstile double vertical bar', google translation)
+ - "": [T: "doble barra vertical con doble torniquete a la izquierda"] # 0xe97d (en: 'double left turnstile double vertical bar', google translation)
+ - "": [T: "perpendicular sobre perpendicular invertida"] # 0xe97e (en: 'perpendicular over inverted perpendicular', google translation)
+ - "": [T: "barra vertical con doble torniquete a la izquierda"] # 0xe97f (en: 'double left turnstile vertical bar', google translation)
+ - "⫤": [T: "barra vertical con doble torniquete a la izquierda"] # 0x2ae4
+ - "": [T: "apertura de ángulo esférico"] # 0xe980 (en: 'spherical angle opening up', google translation)
+ - "": [T: "doble barra"] # 0xe981 (en: 'double slash', google translation)
+ - "": [T: "ángulo recto con esquina"] # 0xe982 (en: 'right angle with corner', google translation)
+ - "": [T: "barra vertical rodeada por un círculo"] # 0xe984 (en: 'circled vertical bar', google translation)
+ - "⦶": [T: "barra vertical rodeada por un círculo"] # 0x29b6 (en: 'circled vertical bar')
+ - "": [T: "signo de división rodeado por un círculo"] # 0xe985 (en: 'circled division sign', google translation)
+ - "⨸": [T: "signo de división rodeado por un círculo"] # 0x2a38 (en: 'circled division sign')
+ - "": [T: "solidus discontinuo"] # 0xe986 (en: 'dashed solidus', google translation)
+ - "": [T: "barra inversa discontinua"] # 0xe987 (en: 'dashed backslash', google translation)
+ - "": [T: "línea media discontinua"] # 0xe988 (en: 'dashed mid line', google translation)
+ - "": [T: "barra vertical discontinua"] # 0xe989 (en: 'dashed vertical bar', google translation)
+ - "": [T: "perpendicular con s"] # 0xe98a (en: 'perpendicular with s', google translation)
+ - "": [T: "ángulo con s"] # 0xe98b (en: 'angle with s', google translation)
+ - "": [T: "apertura izquierda en ángulo esférico"] # 0xe98c (en: 'spherical angle opening left', google translation)
+ - "": [T: "apertura angular izquierda"] # 0xe98d (en: 'angle opening left', google translation)
+ - "": [T: "barra vertical con doble garfio"] # 0xe98e (en: 'vertical bar with double hook', google translation)
+ - "⥾": [T: "barra vertical con doble garfio"] # 0x297e (en: 'vertical bar with double hook')
+ - "": [T: "operador de punto medio radical libre"] # 0xe98f (en: 'medium dot operator free radical', google translation)
+ - "": [T: "blanco apuntando al triángulo sobre la barra"] # 0xe990 (en: 'white up pointing triangle above bar', google translation)
+ - "": [T: "idéntico y paralelo a"] # 0xe991 (en: 'identical and parallel to', google translation)
+ - "": [T: "smash product"] # 0xe992 (en: 'smash product', google translation)
+ - "⨳": [T: "smash product"] # 0x2a33
+ - "": [T: "operador de triple barra con barra horizontal"] # 0xe993 (en: 'triple bar operator with horizontal bar', google translation)
+ - "": [T: "idéntico a con doble barra cortada"] # 0xe994 (en: 'identical to with double slash', google translation)
+ - "⧥": [T: "idéntico a con doble barra cortada"] # 0x29e5 (en: 'identical to with double slash')
+ - "": [T: "barras triples cruzadas"] # 0xe995 (en: 'triple crossed bars', google translation)
+ - "": [T: "barra vertical sobre círculo"] # 0xe996 (en: 'vertical bar over circle', google translation)
+ - "": [T: "vertical proporcional a"] # 0xe997 (en: 'vertical proportional to', google translation)
+ - "": [T: "luna en cuarto menguante"] # 0xe998 (google translation)
+ - "": [T: "cuarto creciente"] # 0xe999 (google translation)
+ - "": [T: "onda sinusoidal negativa"] # 0xe9a0 (en: 'negative sine wave', google translation)
+ - "": [T: "punto entre paréntesis"] # 0xe9a1 (en: 'parenthesized dot', google translation)
+ - "": [T: "paréntesis"] # 0xe9a2 (en: 'parens', google translation)
+ - "": [T: "emoticono de sonrisa blanca"] # 0xe9a3 (en: 'white smile', google translation)
+ - "": [T: "emoticono de ceño fruncido"] # 0xe9a4 (en: 'white frown', google translation)
+ - "": [T: "hexágono"] # 0xe9a5 (en: 'hexagon', google translation)
+ - "": [T: "equivalente a sobre signo más"] # 0xe9a6 (en: 'equivalent to over plus', google translation)
+ - "": [T: "signo más sobre equivalente a"] # 0xe9a7 (en: 'plus over equivalent to', google translation)
+ - "": [T: "intersección serifs"] # 0xe9b0 (en: 'intersection serifs', google translation)
+ - "": [T: "union serifs"] # 0xe9b1 (google translation)
+ - "": [T: "intersección cuadrada serifs"] # 0xe9b2 (en: 'square intersection serifs', google translation)
+ - "": [T: "unión cuadrada serifs"] # 0xe9b3 (google translation)
+ - "": [T: "precede equivalente a o sucede a"] # 0xe9e0 (en: 'precedes equivalent to or succeeds', google translation)
+ - "": [T: "sucede equivalente a o precede"] # 0xe9e1 (en: 'succeeds equivalent to or precedes', google translation)
+ - "": [T: "precede casi igual a o sucede a"] # 0xe9e2 (en: 'precedes almost equal to or succeeds', google translation)
+ - "": [T: "sucede casi igual o precede"] # 0xe9e3 (en: 'succeeds almost equal to or precedes', google translation)
+ - "": [T: "menor que equivalente a o mayor que"] # 0xe9f0 (en: 'less than equivalent to or greater than', google translation)
+ - "": [T: "mayor que equivalente a o menor que"] # 0xe9f1 (en: 'greater than equivalent to or less than', google translation)
+ - "": [T: "no vert mucho menor que"] # 0xea00 (en: 'not vert much less than', google translation)
+ - "": [T: "no vert mucho mayor que"] # 0xea01 (en: 'not vert much greater than', google translation)
+ - "": [T: "variante no mucho menor que"] # 0xea02 (en: 'not much less than variant', google translation)
+ - "": [T: "variante no mucho mayor que"] # 0xea03 (en: 'not much greater than variant', google translation)
+ - "": [T: "menor que vert no signos igual doble"] # 0xea04 (en: 'less vert not double equals', google translation)
+ - "": [T: "gt vert no doble signo igual"] # 0xea05 (en: 'gt vert not double equals', google translation)
+ - "": [T: "no menor que o igual a"] # 0xea06 (en: 'not less than or equal to', google translation)
+ - "": [T: "no mayor que o igual a"] # 0xea07 (en: 'not greater than or equal to', google translation)
+ - "": [T: "ni igual a ni menor que"] # 0xea09 (en: 'neither equal to nor less than', google translation)
+ - "": [T: "no contiene ni igual a"] # 0xea0a (en: 'does not contain or equal to', google translation)
+ - "": [T: "ni superconjunto ni igual a"] # 0xea0b (en: 'neither superset of nor equal to', google translation)
+ - "": [T: "ni subconjunto ni igual a"] # 0xea0c (en: 'neither subset of nor equal to', google translation)
+ - "": [T: "subconjunto con solidus invertido"] # 0xea0d (en: 'reverse solidus subset', google translation)
+ - "": [T: "ni igual a ni mayor que"] # 0xea0e (en: 'neither equal to nor greater than', google translation)
+ - "": [T: "no menos operador tilde"] # 0xea0f (en: 'not minus tilde operator', google translation)
+ - "": [T: "ni igual a ni menor que"] # 0xea10 (en: 'neither equal to nor less than', google translation)
+ - "": [T: "no operador tilde"] # 0xea11 (en: 'not tilde operator', google translation)
+ - "": [T: "ni elemento de ni igual a"] # 0xea12 (en: 'not element of or equal to', google translation)
+ - "": [T: "ni igual ni mayor que"] # 0xea13 (en: 'neither equal to nor greater than', google translation)
+ - "": [T: "no casi igual"] # 0xea14 (en: 'not almost equal', google translation)
+ - "": [T: "no sucede similar"] # 0xea15 (en: 'not succeeds similar', google translation)
+ - "": [T: "menor que o igual a inclinado con barra cortada"] # 0xea16 (en: 'less than or slanted equal to with slash', google translation)
+ - "": [T: "mayor que o igual a inclinado con barra cortada"] # 0xea17 (en: 'greater than or slanted equal to with slash', google translation)
+ - "": [T: "superconjunto solidus"] # 0xea1a (google translation)
+ - "": [T: "no contiene"] # 0xea1b (en: 'does not contain', google translation)
+ - "": [T: "no menor que o igual a"] # 0xea1d (en: 'not less than or equal to', google translation)
+ - "": [T: "no mayor que o igual a"] # 0xea1e (en: 'not greater than or equal to', google translation)
+ - "": [T: "no casi igual a menos"] # 0xea1f (en: 'not almost equal to minus', google translation)
+ - "": [T: "conjunto negado de afiliación con punto encima"] # 0xea22 (en: 'negated set membership dot above', google translation)
+ - "": [T: "no ángulo de vert"] # 0xea2c (en: 'not vert angle', google translation)
+ - "": [T: "no paralelo inclinado"] # 0xea2d (en: 'not parallel slanted', google translation)
+ - "": [T: "no operador de barra"] # 0xea2e (en: 'not bar operator', google translation)
+ - "": [T: "no operador de barra doble"] # 0xea2f (en: 'not double bar operator', google translation)
+ - "": [T: "no operador de triple barra"] # 0xea30 (en: 'not triple bar operator', google translation)
+ - "": [T: "menor que pero no aproximadamente igual a"] # 0xea32 (en: 'less than but not approximately equal to', google translation)
+ - "⪉": [T: "menor que pero no aproximadamente igual a"] # 0x2a89 (en: 'less than but not approximately equal to')
+ - "": [T: "mayor que pero no aproximadamente igual a"] # 0xea33 (en: 'greater than but not approximately equal to', google translation)
+ - "⪊": [T: "mayor que pero no aproximadamente igual a"] # 0x2a8a (en: 'greater than but not approximately equal to')
+ - "": [T: "menor que o no igual a"] # 0xea34 (en: 'less than or not equal to', google translation)
+ - "": [T: "mayor que o no igual a"] # 0xea35 (en: 'greater than or not equal to', google translation)
+ - "": [T: "menor que no anidado"] # 0xea36 (en: 'not nested less than', google translation)
+ - "": [T: "mayor que no anidado"] # 0xea37 (en: 'not nested greater than', google translation)
+ - "": [T: "no mucho menor que"] # 0xea38 (en: 'not much less than', google translation)
+ - "": [T: "no mucho mayor que"] # 0xea39 (en: 'not much greater than', google translation)
+ - "": [T: "precede pero no equivalente a"] # 0xea3a (en: 'precedes but not equivalent to', google translation)
+ - "": [T: "sucede pero no equivalente a"] # 0xea3b (en: 'succeeds but not equivalent to', google translation)
+ - "": [T: "precede pero no es igual a"] # 0xea3c (en: 'precedes but not equal to', google translation)
+ - "": [T: "sucede pero no es igual a"] # 0xea3d (en: 'succeeds but not equal to', google translation)
+ - "": [T: "ni es igual a ni precede"] # 0xea3e (en: 'does not equal or precede', google translation)
+ - "": [T: "ni es igual a ni sucede"] # 0xea3f (en: 'does not equal or succeed', google translation)
+ - "": [T: "precede pero no es igual a"] # 0xea40 (en: 'precedes but not equal to', google translation)
+ - "⪵": [T: "precede pero no es igual a"] # 0x2ab5 (en: 'precedes but not equal to')
+ - "": [T: "sucede pero no es igual a"] # 0xea41 (en: 'succeeds but not equal to', google translation)
+ - "⪶": [T: "sucede pero no es igual a"] # 0x2ab6 (en: 'succeeds but not equal to')
+ - "": [T: "ni subconjunto de ni igual a"] # 0xea42 (en: 'not subset of nor equal to', google translation)
+ - "": [T: "ni superconjunto de ni igual a"] # 0xea43 (en: 'not superset of nor equal to', google translation)
+ - "": [T: "subconjunto de o no igual a"] # 0xea44 (en: 'subset of or not equal to', google translation)
+ - "": [T: "superconjunto de o no igual a"] # 0xea45 (en: 'superset of or not equal to', google translation)
+ - "": [T: "ni subconjunto de ni igual a"] # 0xea46 (en: 'not subset of nor equal to', google translation)
+ - "": [T: "ni superconjunto de ni igual a"] # 0xea47 (en: 'not superset of nor equal to', google translation)
+ - "": [T: "no triple menor que"] # 0xea48 (en: 'not triple less than', google translation)
+ - "": [T: "no triple mayor que"] # 0xea49 (en: 'not triple greater than', google translation)
+ - "": [T: "no precede a igual"]
+ - "": [T: "no sucede a igual"] # 0xea4d (en: 'not succeeds equals', google translation)
+ - "": [T: "no subgrupo normal de con barra"] # 0xea50 (en: 'not normal subgroup of with bar', google translation)
+ - "": [T: "no contiene como subgrupo normal con barra"] # 0xea51 (en: 'does not contain as normal subgroup with bar', google translation)
+ - "": [T: "no diferencia entre"] # 0xea52 (en: 'not difference between', google translation)
+ - "": [T: "no geométricamente equivalente a"] # 0xea53 (en: 'not geometrically equivalent to', google translation)
+ - "": [T: "no vert similar"] # 0xea54 (en: 'not vert similar', google translation)
+ - "": [T: "no igual o similar"] # 0xea55 (en: 'not equal or similar', google translation)
+ - "": [T: "no vert aproximado"] # 0xea56 (en: 'not vert approximate', google translation)
+ - "": [T: "no aproximadamente idéntico a"] # 0xea57 (en: 'not approximately identical to', google translation)
+ - "": [T: "no bump igual"] # 0xea58 (en: 'not bumpy equals', google translation)
+ - "": [T: "ni un solo bumpy igual a"] # 0xea59 (en: 'not bumpy single equals', google translation)
+ - "": [T: "no punto igual"] # 0xea5a (en: 'not equal dot', google translation)
+ - "": [T: "inverso no equivalente"] # 0xea5b (en: 'reverse not equivalent', google translation)
+ - "": [T: "no subconjunto cuadrado"] # 0xea60 (en: 'not square subset', google translation)
+ - "": [T: "no superconjunto cuadrado"] # 0xea61 (en: 'not square superset', google translation)
+ - "": [T: "no casi igual sobre igual"] # 0xea62 (en: 'not almost equal over equal', google translation)
+ - "": [T: "no estrictamente equivalente a"] # 0xea63 (en: 'not strictly equivalent to', google translation)
+ - "": [T: "no congruente punto"] # 0xea64 (en: 'not congruent dot', google translation)
+ - "": [T: "reverso no es igual"] # 0xea65 (en: 'reverse not equal', google translation)
+ - "": [T: "no vert triángulo izquierdo es igual a"] # 0xea70 (en: 'not vert left triangle equals', google translation)
+ - "": [T: "no vert triángulo recto es igual a"] # 0xea71 (en: 'not vert right triangle equals', google translation)
+ - "": [T: "no parcial"] # 0xea80 (en: 'not partial', google translation)
+ - "": [T: "extensor de adornos de flecha"] # 0xeb00 (en: 'arrow embellishment extender', google translation)
+ - "": [T: "flecha hacia la derecha sobre flecha hacia la izquierda"] # 0xeb01 (en: 'arrow rightwards over arrow leftwards', google translation)
+ - "": [T: "flecha hacia la derecha sobre flecha hacia la izquierda"] # 0xeb02 (en: 'arrow rightwards over arrow leftwards', google translation)
+ - "": [T: "arpón a la derecha sobre arpón a la izquierda"] # 0xeb03 (en: 'harpoon right over harpoon left', google translation)
+ - "": [T: "arpón a la derecha sobre arpón a la izquierda"] # 0xeb04 (en: 'harpoon right over harpoon left', google translation)
+ - "": [T: "doble flecha al nordeste desde el sudoeste"] # 0xeb05 (en: 'double arrow northeast southwest', google translation)
+ - "": [T: "doble flecha al noroeste desde el sudeste"] # 0xeb06 (en: 'double arrow northwest southeast', google translation)
+ - "": [T: "extensor de arpón horizontal"] # 0xeb07 (en: 'horizontal harpoon extender', google translation)
+ - "": [T: "arco en sentido contrario a las agujas del reloj a la izquierda de flecha"] # 0xeb08 (en: 'anticlockwise arc leftwards arrow', google translation)
+ - "": [T: "arco en sentido contrario a las agujas del reloj a la derecha de flecha"] # 0xeb09 (en: 'anticlockwise arc rightwards arrow', google translation)
+ - "": [T: "acento con flecha grande hacia la derecha"] # 0xeb0b (en: 'large rightwards arrow accent', google translation)
+ - "": [T: "acento con flecha grande hacia la izquierda"] # 0xeb0c (en: 'large leftwards arrow accent', google translation)
+ - "": [T: "punta de flecha hacia la izquierda"] # 0xeb0d (en: 'leftwards arrowhead', google translation)
+ - "": [T: "punta de flecha hacia la derecha"] # 0xeb0e (en: 'rightwards arrowhead', google translation)
+ - "": [T: "gran flecha derecha izquierda con trazo"] # 0xeb0f (en: 'large left right arrow with stroke', google translation)
+ - "": [T: "extensor de flecha doble horizontal"] # 0xeb10 (en: 'horizontal double arrow extender', google translation)
+ - "": [T: "gran flecha doble izquierda derecha con trazo"] # 0xeb11 (en: 'large left right double arrow with stroke', google translation)
+ - "": [T: "flecha hacia abajo y hacia la izquierda de flecha hacia arriba"] # 0xeb12 (en: 'downwards arrow leftwards of upwards arrow', google translation)
+ - "⇵": [T: "flecha hacia arriba y a la derecha de flecha hacia abajo"] # 0x21f5 (en: 'downwards arrow leftwards of upwards arrow')
+ - "": [T: "flecha hacia la izquierda con la esquina hacia abajo"] # 0xeb13 (en: 'leftwards arrow with corner downwards', google translation)
+ - "": [T: "flecha hacia la derecha con la esquina hacia arriba"] # 0xeb14 (en: 'rightwards arrow with corner upwards', google translation)
+ - "": [T: "flecha hacia la izquierda con la esquina hacia arriba"] # 0xeb15 (en: 'leftwards arrow with corner upwards', google translation)
+ - "": [T: "flecha superior semicircular en sentido contrario a las agujas del reloj con signo más"] # 0xeb16 (en: 'anticlockwise top semicircle arrow with plus', google translation)
+ - "⤽": [T: "flecha superior semicircular en sentido contrario a las agujas del reloj con signo más"] # 0x293d (en: 'anticlockwise top semicircle arrow with plus')
+ - "": [T: "flecha superior semicircular en sentido a las agujas del reloj con signo menos"] # 0xeb17 (en: 'clockwise top semicircle arrow with minus', google translation)
+ - "⤼": [T: "flecha superior semicircular en sentido a las agujas del reloj con signo menos"] # 0x293c (en: 'clockwise top semicircle arrow with minus')
+ - "": [T: "flecha hacia la derecha con cola con trazo"] # 0xeb18 (en: 'rightwards arrow with tail with stroke', google translation)
+ - "": [T: "arpón derecho hacia abajo"] # 0xeb19 (en: 'right harpoon down', google translation)
+ - "": [T: "arpón izquierdo hacia abajo"] # 0xeb1a (en: 'left harpoon down', google translation)
+ - "": [T: "arpón derecho izquierdo hacia abajo"] # 0xeb1b (en: 'left right harpoon down', google translation)
+ - "⥐": [T: "arpón derecho izquierdo hacia abajo"] # 0x2950 (en: 'left right harpoon down', MathPlayer: 'arpón inferior derecha-izquierda', google: 'arpón derecho izquierdo hacia abajo')
+ - "": [T: "arpón derecho izquierdo hacia arriba"] # 0xeb1c (en: 'left right harpoon up', google translation)
+ - "⥎": [T: "arpón izquierdo derecho hacia arriba"] # 0x294e (en: 'left right harpoon up', MathPlayer: 'arpón superior derecha-izquierda', google: 'arpón derecho izquierdo hacia arriba')
+ - "": [T: "arpón izquierdo arriba y abajo"] # 0xeb1d (en: 'up down harpoon left', google translation)
+ - "⥑": [T: "arpón izquierdo arriba y abajo"] # 0x2951 (en: 'up down harpoon left')
+ - "": [T: "arpón derecho arriba y abajo"] # 0xeb1e (en: 'up down harpoon right', google translation)
+ - "⥏": [T: "arpón derecho arriba y abajo"] # 0x294f (en: 'up down harpoon right')
+ - "": [T: "flecha hacia arriba a la derecha de flecha hacia abajo"] # 0xeb1f (en: 'upwards arrow to the right of downwards arrow', google translation)
+ - "⇵": [T: "flecha hacia arriba a la derecha de flecha hacia abajo"] # 0x21f5
+ - "": [T: "arpón hacia la izquierda a barra con punta hacia arriba"] # 0xeb20 (en: 'leftwards harpoon to bar with barb upwards', google translation)
+ - "⥒": [T: "arpón hacia la izquierda a barra con punta hacia arriba"] # 0x2952 (en: 'leftwards harpoon to bar with barb upwards', MathPlayer: 'leftwards harpoon to bar with barb upwards', google: 'arpón de la izquierda para bar con barb hacia arriba')
+ - "": [T: "arpón hacia la derecha a barra con punta hacia arriba"] # 0xeb21 (en: 'rightwards harpoon to bar with barb upwards', google translation)
+ - "⥓": [T: "arpón hacia la derechaa a barra con punta hacia arriba"] # 0x2953 (en: 'rightwards harpoon to bar with barb upwards', MathPlayer: 'rightwards harpoon to bar with barb upwards', google: 'arpoon a la derecha para bar con barb hacia arriba')
+ - "": [T: "arpón hacia la izquierda a barra con punta hacia abajo"] # 0xeb22 (en: 'leftwards harpoon to bar with barb downwards', google translation)
+ - "⥖": [T: "arpón hacia la izquierda a barra con punta hacia abajo"] # 0x2956 (en: 'leftwards harpoon to bar with barb downwards', MathPlayer: 'leftwards harpoon to bar with barb downwards', google: 'arpoon hacia la izquierda para bar con barb hacia abajo')
+ - "": [T: "arpón hacia la derecha a barra con punta hacia abajo"] # 0xeb23 (en: 'rightwards harpoon to bar with barb downwards', google translation)
+ - "⥗": [T: "arpón hacia la derecha a barra con punta hacia abajo"] # 0x2957 (en: 'rightwards harpoon to bar with barb downwards', MathPlayer: 'rightwards harpoon to bar with barb downwards', google: 'arpoon a la derecha para bar con barb hacia abajo')
+ - "": [T: "arpón hacia la izquierda partiendo de barra con punta hacia arriba"] # 0xeb24 (en: 'leftwards harpoon from bar with barb upwards', google translation)
+ - "⥚": [T: "arpón hacia la izquierda partiendo d barra con punta hacia arriba"] # 0x295a (en: 'leftwards harpoon from bar with barb upwards', MathPlayer: 'leftwards harpoon from bar with barb upwards', google: 'arpón de la izquierda desde el bar con barb al alza')
+ - "": [T: "arpón hacia la derecha partiendo de barra con punta hacia arriba"] # 0xeb25 (en: 'rightwards harpoon from bar with barb upwards', google translation)
+ - "⥛": [T: "arpón hacia la derecha partiendo de barra con punta hacia arriba"] # 0x295b (en: 'rightwards harpoon from bar with barb upwards', MathPlayer: 'rightwards harpoon from bar with barb upwards', google: 'arpoon a la derecha desde el bar con barb al alza')
+ - "": [T: "arpón hacia la izquierda partiendo de barra con punta hacia abajo"] # 0xeb26 (en: 'leftwards harpoon from bar with barb downwards', google translation)
+ - "⥞": [T: "arpón hacia la izquierda partiendo de barra con punta hacia abajo"] # 0x295e (en: 'leftwards harpoon from bar with barb downwards', MathPlayer: 'leftwards harpoon from bar with barb downwards', google: 'arpón de la izquierda desde el bar con barb hacia abajo')
+ - "": [T: "arpón hacia la derecha partiendo de barra con punta hacia abajo"] # 0xeb27 (en: 'rightwards harpoon from bar with barb downwards', google translation)
+ - "⥟": [T: "arpón hacia la derecha partiendo de barra con punta hacia abajo"] # 0x295f (en: 'rightwards harpoon from bar with barb downwards', MathPlayer: 'rightwards harpoon from bar with barb downwards', google: 'arpoon a la derecha desde el bar con barb hacia abajo')
+ - "": [T: "arpón hacia arriba a barra con punta a la izquierda"] # 0xeb28 (en: 'upwards harpoon to bar with barb leftwards', google translation)
+ - "⥘": [T: "arpón hacia arriba a barra con púa a la izquierda"] # 0x2958 (en: 'upwards harpoon to bar with barb leftwards', MathPlayer: 'upwards harpoon to bar with barb leftwards', google: 'hace arriba hacia arriba para bar con barb a la izquierda')
+ - "": [T: "arpón hacia abajo a barra con punta hacia la izquierda"] # 0xeb29 (en: 'downwards harpoon to bar with barb leftwards', google translation)
+ - "⥙": [T: "arpón hacia abajo a barra con punta hacia la izquierda"] # 0x2959 (en: 'downwards harpoon to bar with barb leftwards', MathPlayer: 'downwards harpoon to bar with barb leftwards', google: 'harpoon hacia abajo para bar con barb a la izquierda')
+ - "": [T: "arpón hacia arriba a barra con punta hacia la derecha"] # 0xeb2a (en: 'upwards harpoon to bar with barb rightwards', google translation)
+ - "⥔": [T: "arpón hacia arriba a barra con punta hacia la derecha"] # 0x2954 (en: 'upwards harpoon to bar with barb rightwards', MathPlayer: 'upwards harpoon to bar with barb rightwards', google: 'hace arriba hacia arriba para bar con barb a la derecha')
+ - "": [T: "arpón hacia abajo a barra con punta hacia la derecha"] # 0xeb2b (en: 'downwards harpoon to bar with barb rightwards', google translation)
+ - "⥕": [T: "arpón hacia abajo a barra con punta hacia la derecha"] # 0x2955 (en: 'downwards harpoon to bar with barb rightwards', MathPlayer: 'downwards harpoon to bar with barb rightwards', google: 'harpoon hacia abajo para bar con barb a la derecha')
+ - "": [T: "arpón hacia harriba partiendo de barra con punta hacia la izquierda"] # 0xeb2c (en: 'upwards harpoon from bar with barb leftwards', google translation)
+ - "⥠": [T: "arpón hacia arriba partiendo de barra con punta hacia la izquierda"] # 0x2960 (en: 'upwards harpoon from bar with barb leftwards', MathPlayer: 'upwards harpoon from bar with barb leftwards', google: 'hacia arriba hacia arriba desde el bar con barb a la izquierda')
+ - "": [T: "arpón hacia abajo partiendo de barra con punta hacia la izquierda"] # 0xeb2d (en: 'downwards harpoon from bar with barb leftwards', google translation)
+ - "⥡": [T: "arpón hacia abajo partiendo de barra con punta hacia la izquierda"] # 0x2961 (en: 'downwards harpoon from bar with barb leftwards', MathPlayer: 'downwards harpoon from bar with barb leftwards', google: 'hosto hacia abajo de bar con barb a la izquierda')
+ - "": [T: "arpón hacia arriba partiendo de barra con punta hacia la derecha"] # 0xeb2e (en: 'upwards harpoon from bar with barb rightwards', google translation)
+ - "⥜": [T: "arpón hacia arriba partiendo de barra con punta hacia la derecha"] # 0x295c (en: 'upwards harpoon from bar with barb rightwards', MathPlayer: 'upwards harpoon from bar with barb rightwards', google: 'hace arriba hacia arriba desde el bar con barb a la derecha')
+ - "": [T: "arpón hacia abajo partiendo de barra con punta hacia la derecha"] # 0xeb2f (en: 'downwards harpoon from bar with barb rightwards', google translation)
+ - "⥝": [T: "arpón hacia abajo partiendo de barra con punta hacia la derecha"] # 0x295d (en: 'downwards harpoon from bar with barb rightwards', MathPlayer: 'downwards harpoon from bar with barb rightwards', google: 'hosto hacia abajo desde el bar con barb a la derecha')
+ - "": [T: "flecha hacia arriba a barra"] # 0xeb30 (en: 'upwards arrow to bar', google translation)
+ - "⤒": [T: "flecha hacia arriba a barra"] # 0x2912
+ - "": [T: "flecha hacia abajo a barra"] # 0xeb31 (en: 'downwards arrow to bar', google translation)
+ - "⤓": [T: "flecha hacia abajo a barra"] # 0x2913
+ - "": [T: "arpón hacia arriba a la izquierda de arpón hacia abajo"] # 0xeb32 (en: 'upwards harpoon to the left of downwards harpoon', google translation)
+ - "⥮": [T: "arpón hacia arriba a la izquierda de arpón hacia abajo"] # 0x296e (en: 'upwards harpoon to the left of downwards harpoon', MathPlayer: 'upwards harpoon to the left of downwards harpoon', google: 'hacia arriba harpoon a la izquierda de la arpón hacia abajo')
+ - "": [T: "arpón hacia arriba a la derecha de arpón hacia abajo"] # 0xeb33 (en: 'upwards harpoon to the right of downwards harpoon', google translation)
+ - "⥯": [T: "arpón hacia arriba a la derecha de arpón hacia abajo"] # 0x296f (en: 'upwards harpoon to the right of downwards harpoon', MathPlayer: 'upwards harpoon to the right of downwards harpoon', google: 'hacia arriba hacia arriba a la derecha de la arpón hacia abajo')
+ - "": [T: "punta de flecha hacia arriba"] # 0xeb34 (en: 'upwards arrowhead', google translation)
+ - "": [T: "punta de flecha hacia abajo"] # 0xeb35 (en: 'downwards arrowhead', google translation)
+ - "": [T: "doble arpón con punta hacia abajo a la izquierda y punta hacia arriba a la derecha"] # 0xeb36 (en: 'double harpoon with leftwards barb down rightwards barb up', google translation)
+ - "": [T: "doble arpón con punta hacia arriba a la izquierda y con punta hacia abajo a la derecha"] # 0xeb37 (en: 'double harpoon with leftwards barb up rightwards barb down', google translation)
+ - "": [T: "flecha hacia la izquierda sobre barra"] # 0xeb38 (en: 'leftwards arrow over bar', google translation)
+ - "": [T: "flecha hacia la derecha sobre barra"] # 0xeb39 (en: 'rightwards arrow over bar', google translation)
+ - "": [T: "flecha hacia la izquierda debajo de barra"] # 0xeb3a (en: 'leftwards arrow under bar', google translation)
+ - "": [T: "flecha hacia la derecha debajo de barra"] # 0xeb3b (en: 'rightwards arrow under bar', google translation)
+ - "": [T: "triple flecha derecha e izquierda"] # 0xeb3c (en: 'left right triple arrow', google translation)
+ - "": [T: "doble flecha nordeste sudeste"] # 0xeb3f (en: 'double arrow northeast southeast', google translation)
+ - "": [T: "flecha semicircular izquierda en sentido contrario a las agujas del reloj"] # 0xeb40 (en: 'anticlockwise left semicircle arrow', google translation)
+ - "⤹": [T: "flecha semicircular izquierda en sentido contrario a las agujas del reloj"] # 0x2939 (en: 'anticlockwise left semicircle arrow')
+ - "": [T: "flecha semicircular izquierda en sentido a las agujas del reloj"] # 0xeb41 (en: 'clockwise left semicircle arrow', google translation)
+ - "": [T: "círculo abierto izquierdo flecha derecha izquierda"] # 0xeb42 (en: 'left open circle left right arrow', google translation)
+ - "": [T: "flecha hacia la derecha sobre tilde"] # 0xeb44 (en: 'rightwards arrow over tilde', google translation)
+ - "⥴": [T: "flecha hacia la derecha sobre tilde"] # 0x2974 (en: 'rightwards arrow over tilde')
+ - "": [T: "flecha hacia la izquierda sobre tilde"] # 0xeb45 (en: 'leftwards arrow over tilde', google translation)
+ - "⥳": [T: "flecha hacia la derecha sobre tilde"] # 0x2973 (en: 'leftwards arrow over tilde')
+ - "": [T: "arpón hacia la izquierda sobre barra"] # 0xeb48 (en: 'leftwards harpoon over bar', google translation)
+ - "⥪": [T: "arpón hacia la izquierda sobre barra"] # 0x296a (en: 'leftwards harpoon over bar')
+ - "": [T: "arpón hacia la derecha sobre barra"] # 0xeb49 (en: 'rightwards harpoon over bar', google translation)
+ - "⥬": [T: "arpón hacia la derecha sobre barra"] # 0x296c (en: 'rightwards harpoon over bar')
+ - "": [T: "arpón hacia la izquierda debajo de barra"] # 0xeb4a (en: 'leftwards harpoon under bar', google translation)
+ - "⥫": [T: "arpón hacia la izquierda debajo de barra"] # 0x296b (en: 'leftwards harpoon under bar')
+ - "": [T: "arpón hacia la derecha debajo de barra"] # 0xeb4b (en: 'rightwards harpoon under bar', google translation)
+ - "⥭": [T: "arpón hacia la derecha debajo de barra"] # 0x296d (en: 'rightwards harpoon under bar')
+ - "": [T: "flecha corta negra hacia la izquierda"] # 0xeb4c (en: 'squat black leftwards arrow', google translation)
+ - "": [T: "flecha semicircular derecha en sentido a las agujas del reloj"] # 0xeb50 (en: 'clockwise right semicircle arrow', google translation)
+ - "⤸": [T: "flecha semicircular derecha en sentido a las agujas del relojt"] # 0x2938 (en: 'clockwise right semicircle arrow')
+ - "": [T: "flecha semicircular derecha en sentido contrario a las agujas del reloj"] # 0xeb51 (en: 'anticlockwise right semicircle arrow', google translation)
+ - "": [T: "círculo abierto izquierdo arpón izquierdo derecho"] # 0xeb52 (en: 'left open circle left right harpoon', google translation)
+ - "": [T: "flecha hacia arriba y hacia la izquierda de barra vertical"] # 0xeb58 (en: 'upwards arrow leftwards of vertical bar', google translation)
+ - "": [T: "flecha hacia abajo hacia la izquierda de barra vertical"] # 0xeb59 (en: 'downwards arrow leftwards of vertical bar', google translation)
+ - "": [T: "flecha hacia arriba hacia la derecha de barra vertical"] # 0xeb5a (en: 'upwards arrow rightwards of vertical bar', google translation)
+ - "": [T: "flecha hacia abajo hacia la derecha de barra vertical"] # 0xeb5b (en: 'downwards arrow rightwards of vertical bar', google translation)
+ - "": [T: "flecha hacia la derecha con garfio hacia abajo extendido"] # 0xeb5c (en: 'rightwards arrow with extended downwards hook', google translation)
+ - "": [T: "flecha hacia la izquierda con gancho extendido"] # 0xeb5d (en: 'leftwards arrow with extended hook', google translation)
+ - "": [T: "flecha hacia la izquierda con gancho hacia abajo extendido"] # 0xeb5e (en: 'leftwards arrow with extended downwards hook', google translation)
+ - "": [T: "flecha hacia la derecha con garfio extendido"] # 0xeb5f (en: 'rightwards arrow with extended hook', google translation)
+ - "": [T: "no flecha derecha ondulada"] # 0xeb60 (en: 'not right arrow wavy', google translation)
+ - "": [T: "no flecha derecha curva"] # 0xeb61 (en: 'not right arrow curved', google translation)
+ - "": [T: "arpón hacia arriba hacia la izquierda de barra vertical"] # 0xeb68 (en: 'upwards harpoon leftwards of vertical bar', google translation)
+ - "": [T: "arpoon hacia abajo hacia la izquierda de barra vertical"] # 0xeb69 (en: 'downwards harpoon leftwards of vertical bar', google translation)
+ - "": [T: "arpón hacia arriba hacia la derecha de barra vertical"] # 0xeb6a (en: 'upwards harpoon rightwards of vertical bar', google translation)
+ - "": [T: "arpón hacia abajo hacia la derecha de barra vertical"] # 0xeb6b (en: 'downwards harpoon rightwards of vertical bar', google translation)
+ - "": [T: "extensor de flecha doble vertical"] # 0xeb6c (en: 'vertical double arrow extender', google translation)
+ - "": [T: "arpón vertical con extensor de punta izquierda"] # 0xeb6d (en: 'vertical harpoon with barb left extender', google translation)
+ - "": [T: "arpón vertical con extensor de punta derecha"] # 0xeb6e (en: 'vertical harpoon with barb right extender', google translation)
+ - "": [T: "arpón derecho sobre arpón izquierdo a la derecha"] # 0xeb6f (en: 'right harpoon over left harpoon right', google translation)
+ - "": [T: "arpón derecho sobre arpón izquierdo a la izquierda"] # 0xeb70 (en: 'right harpoon over left harpoon left', google translation)
+ - "": [T: "arpón izquierdo sobre arpón derecho a la derecha"] # 0xeb71 (en: 'left harpoon over right harpoon right', google translation)
+ - "": [T: "arpón izquierdo sobre arpón derecho a la izquierda"] # 0xeb72 (en: 'left harpoon over right harpoon left', google translation)
+ - "": [T: "flecha hacia la izquierda partiendo de punta de flecha de barra"] # 0xeb73 (en: 'leftwards arrow from bar arrowhead', google translation)
+ - "": [T: "flecha hacia la izquierda y derecha partiendo de extensor de barra"] # 0xeb74 (en: 'leftwards rightwards arrow from bar extender', google translation)
+ - "": [T: "flecha hacia la izquierda partiendo de cola de barra"] # 0xeb75 (en: 'leftwards arrow from bar tail', google translation)
+ - "": [T: "flecha hacia la derecha partiendo de cola de barra"] # 0xeb76 (en: 'rightwards arrow from bar tail', google translation)
+ - "": [T: "flecha hacia la derecha partiendo de punta de flecha de barra"] # 0xeb77 (en: 'rightwards arrow from bar arrowhead', google translation)
+ - "": [T: "arpón hacia arriba partiendo de barra punzante con punta de flecha hacia la izquierda"] # 0xeb78 (en: 'upwards harpoon from bar with barb leftwards arrowhead', google translation)
+ - "": [T: "flecha hacia la derecha sobre flecha derecha hacia la izquierda"] # 0xeb79 (en: 'rightwards arrow over leftwards arrow right', google translation)
+ - "": [T: "flecha derecha sobre flecha izquierda hacia la izquierda"] # 0xeb7a (en: 'rightwards arrow over leftwards arrow left', google translation)
+ - "": [T: "flecha hacia la izquierda sobre flecha derecha hacia la derecha"] # 0xeb7b (en: 'leftwards arrow over rightwards arrow right', google translation)
+ - "": [T: "flecha hacia la izquierda sobre flecha derecha hacia la izquierda"] # 0xeb7c (en: 'leftwards arrow over rightwards arrow left', google translation)
+ - "": [T: "flecha hacia arriba partiendo de punta de flecha de barra"] # 0xeb7d (en: 'upwards arrow from bar arrowhead', google translation)
+ - "": [T: "flecha hacia arriba partiendo de la cola de la barra"] # 0xeb7e (en: 'upwards arrow from bar tail', google translation)
+ - "": [T: "flecha hacia abajo partiendo de la cola de la barra"] # 0xeb7f (en: 'downwards arrow from bar tail', google translation)
+ - "": [T: "flecha hacia abajo partiendo de la punta de flecha de la barra"] # 0xeb80 (en: 'downwards arrow from bar arrowhead', google translation)
+ - "": [T: "arpón hacia abajo partiendo de punta de flecha derecha de barra punzante"] # 0xeb81 (en: 'downwards harpoon from bar with barb rightwards arrowhead', google translation)
+ - "": [T: "arpón hacia arriba a la izquierda del fondo del arpón hacia abajo"] # 0xeb82 (en: 'upwards harpoon to the left of downwards harpoon bottom', google translation)
+ - "": [T: "arpón hacia arriba a la izquierda de extensor de arpón hacia abajo"] # 0xeb83 (en: 'upwards harpoon to the left of downwards harpoon extender', google translation)
+ - "": [T: "arpón hacia abajo a la izquierda de parte superior de arpón hacia arriba"] # 0xeb84 (en: 'downwards harpoon to the left of upwards harpoon top', google translation)
+ - "": [T: "arpón hacia arriba a la izquierda de parte superior de arpón hacia abajo"] # 0xeb85 (en: 'upwards harpoon to the left of downwards harpoon top', google translation)
+ - "": [T: "arpón hacia abajo a la izquierda de extensor de arpón hacia arriba"] # 0xeb86 (en: 'downwards harpoon to the left of the upwards harpoon extender', google translation)
+ - "": [T: "arpón hacia arriba a la izquierda de parte inferior d arpón hacia abajo"] # 0xeb87 (en: 'downwards harpoon to the left of the upwards harpoon bottom', google translation)
+ - "": [T: "flecha hacia arriba hacia la izquierda del fondo de flecha hacia abajo"] # 0xeb88 (en: 'upwards arrow leftwards of downwards arrow bottom', google translation)
+ - "": [T: "flecha hacia abajo hacia la izquierda de la parte superiorde flecha hacia arriba"] # 0xeb89 (en: 'downwards arrow leftwards of upwards arrow top', google translation)
+ - "": [T: "flecha hacia arriba hacia la izquierda de la parte superior de flecha hacia abajo"] # 0xeb8a (en: 'upwards arrow leftwards of downwards arrow top', google translation)
+ - "": [T: "flecha hacia abajo hacia la izquierda de la parte inferior de flecha hacia arriba"] # 0xeb8b (en: 'downwards arrow leftwards of upwards arrow bottom', google translation)
+ - "": [T: "extensor de flechas hacia izquierda y derecha"] # 0xeb8c (en: 'leftwards rightwards arrows extender', google translation)
+ - "": [T: "extensor de flecha nordeste"] # 0xeb8d (google translation)
+ - "": [T: "extensor de flecha noroeste"] # 0xeb8e (google translation)
+ - "": [T: "paréntesis izquierdo apuntando hacia abajo"] # 0xec00 (en: 'down pointing brace left', google translation)
+ - "": [T: "paréntesis medio apuntando hacia abajo"] # 0xec01 (google translation)
+ - "": [T: "paréntesis derecho apuntando hacia abajo"] # 0xec02 (en: 'down pointing brace right', google translation)
+ - "": [T: "extensor de paréntesis horizontal"] # 0xec03 (en: 'horizontal brace extender', google translation)
+ - "": [T: "paréntesis izquierdo apuntando hacia arriba"] # 0xec04 (en: 'up pointing brace left', google translation)
+ - "": [T: "paréntesis medio apuntando hacia arriba"] # 0xec05 (en: 'up pointing brace mid', google translation)
+ - "": [T: "paréntesis derecho apuntando hacia arriba"] # 0xec06 (en: 'up-pointing brace right', google translation)
+ - "": [T: "barra vertical izquierda"] # 0xec07 (en: 'left vertical bar', google translation)
+ - "": [T: "barra vertical derecha"] # 0xec08 (en: 'right vertical bar', google translation)
+ - "": [T: "doble barra vertical izquierda"] # 0xec09 (en: 'left double vertical bar', google translation)
+ - "": [T: "doble barra vertical derecha"] # 0xec0a (en: 'right double vertical bar', google translation)
+ - "": [T: "extensor de soporte horizontal"] # 0xec0b (en: 'horizontal bracket extender', google translation)
+ - "": [T: "debajo de corchete"] # 0xec0c (en: 'under square bracket', google translation)
+ - "⎵": [T: "debajo de corchete"] # 0x23b5 (en: 'under square bracket')
+ - "": [T: "encima de corchete"] # 0xec0d (en: 'over square bracket', google translation)
+ - "⎴": [T: "encima de corchete"] # 0x23b4 (en: 'over square bracket')
+ - "": [T: "debajo de paréntesis izquierdo"] # 0xec0e (en: 'under bracket left', google translation)
+ - "": [T: "debajo de paréntesis derecho"] # 0xec0f (en: 'under bracket right', google translation)
+ - "": [T: "sobre paréntesis izquierdo"] # 0xec10 (en: 'over bracket left', google translation)
+ - "": [T: "encima de paréntesis derecho"] # 0xec11 (en: 'over bracket right', google translation)
+ - "": [T: "abrir paréntesis 1"] # 0xec12 (en: 'left parens 1', google translation)
+ - "": [T: "abrir paréntesis 2"] # 0xec13 (en: 'left parens 2', google translation)
+ - "": [T: "abrir paréntesis 3"] # 0xec14 (en: 'left parens 3', google translation)
+ - "": [T: "abrir paréntesis 4"] # 0xec15 (en: 'left parens 4', google translation)
+ - "": [T: "cerrar paréntesis 1"] # 0xec16 (en: 'right parens 1', google translation)
+ - "": [T: "cerrar paréntesis 2"] # 0xec17 (en: 'right parens 2', google translation)
+ - "": [T: "cerrar paréntesis 3"] # 0xec18 (en: 'right parens 3', google translation)
+ - "": [T: "cerrar paréntesis 4"] # 0xec19 (en: 'right parens 4', google translation)
+ - "": [T: "radical 1"] # 0xec1a (google translation)
+ - "": [T: "radical 2"] # 0xec1b (google translation)
+ - "": [T: "radical 3"] # 0xec1c (google translation)
+ - "": [T: "radical 4"] # 0xec1d (google translation)
+ - "": [T: "radical 5"] # 0xec1e (google translation)
+ - "": [T: "radical inferior"] # 0xec1f (en: 'radical bottom', google translation)
+ - "": [T: "extensor de radical vertical"] # 0xec20 (en: 'radical vertical extender', google translation)
+ - "": [T: "radical superior"] # 0xec21 (en: 'radical top', google translation)
+ - "": [T: "soporte blanco izquierdo superior"] # 0xec22 (en: 'left white bracket top', google translation)
+ - "": [T: "extensor de soporte blanco izquierdo"] # 0xec23 (en: 'left white bracket extender', google translation)
+ - "": [T: "soporte blanco izquierdo inferior"] # 0xec24 (en: 'left white bracket bottom', google translation)
+ - "": [T: "soporte blanco derecho superior"] # 0xec25 (en: 'right white bracket top', google translation)
+ - "": [T: "extensor de soporte blanco derecho"] # 0xec26 (en: 'right white bracket extender', google translation)
+ - "": [T: "soporte blanco derecho inferior"] # 0xec27 (en: 'right white bracket bottom', google translation)
+ - "": [T: "soporte blanco izquierdo rotacional"] # 0xec30 (en: 'left white curly bracket', google translation)
+ - "": [T: "soporte blanco derecho rotacional"] # 0xec31 (en: 'right white curly bracket', google translation)
+ - "": [T: "signo de división largo"] # 0xec32 (google translation)
+ - "": [T: "extensor de signo de división largo"] # 0xec33 (en: 'long division sign extender', google translation)
+ - "": [T: "división corta"] # 0xec34 (en: 'short division', google translation)
+ - "": [T: "doble sudoeste al nordeste unión em"] # 0xec40 (en: 'double southwest to northeast em bond', google translation)
+ - "": [T: "doble noroeste al sudeste unión em"] # 0xec41 (en: 'double northwest to southeast em bond', google translation)
+ - "": [T: "enlace em horizontal único"] # 0xec42 (en: 'single horizontal em bond', google translation)
+ - "": [T: "doble enlace em horizontal"] # 0xec43 (en: 'double horizontal em bond', google translation)
+ - "": [T: "triple enlace em horizontal"] # 0xec44 (en: 'triple horizontal em bond', google translation)
+ - "": [T: "enlace em único vertical"] # 0xec45 (en: 'single vertical em bond', google translation)
+ - "": [T: "doble enlace em vertical"] # 0xec46 (en: 'double vertical em bond', google translation)
+ - "": [T: "triple enlace em vertical"] # 0xec47 (en: 'triple vertical em bond', google translation)
+ - "": [T: "menr que enlace em"] # 0xec48 (en: 'less than em bond', google translation)
+ - "": [T: "mayor que enlace em"] # 0xec49 (en: 'greater than em bond', google translation)
+ - "": [T: "enlace único horizontal"] # 0xec4a (en: 'single horizontal en bond', google translation)
+ - "": [T: "doble enlace horizontal en"] # 0xec4b (en: 'double horizontal en bond', google translation)
+ - "": [T: "triple enlace horizontal en"] # 0xec4c (en: 'triple horizontal en bond', google translation)
+ - "": [T: "rectángulo superior izquierdo"] # 0xec80 (en: 'top left rectangle', google translation)
+ - "": [T: "rectángulo inferior izquierdo"] # 0xec81 (en: 'bottom left rectangle', google translation)
+ - "": [T: "rectángulo superior derecho"] # 0xec90 (en: 'top right rectangle', google translation)
+ - "": [T: "rectángulo inferior derecho"] # 0xec91 (en: 'bottom right rectangle', google translation)
+ - "": [T: "intersección de división sintética"] # 0xec92 (en: 'synthetic division corner', google translation)
+ - "": [T: "extensor horizontal de división sintética"] # 0xec93 (en: 'synthetic division horizontal extender', google translation)
+ - "": [T: "extensor vertical de división sintética"] # 0xec94 (en: 'synthetic division vertical extender', google translation)
+ - "": [T: "extensor de límite izquierdo del fondo"] # 0xec95 (en: 'left ceiling floor extender', google translation)
+ - "": [T: "extensor de límite derecho del fondo"] # 0xec96 (en: 'right ceiling floor extender', google translation)
+ - "": [T: "por encima de extensor de soporte"] # 0xec97 (en: 'over bracket extender', google translation)
+ - "": [T: "extensor de barra vertical"] # 0xec98 (en: 'vertical bar extender', google translation)
+ - "": [T: "extensor de barra vertical doble izquierda"] # 0xec99 (en: 'left double vertical bar extender', google translation)
+ - "": [T: "extensor de barra horizontal"] # 0xec9a (en: 'horizontal bar extender', google translation)
+ - "": [T: "debajo de extensor de soporte"] # 0xec9c (en: 'under bracket extender', google translation)
+ - "": [T: "apuntando hacia abajo de paréntesis derecho"] # 0xec9d (en: 'down pointing paren right', google translation)
+ - "": [T: "apuntando hacia abajo de extensor de paréntesis"] # 0xec9e (en: 'down pointing paren extender', google translation)
+ - "": [T: "apuntando hacia abajo de paréntesis izquierdo"] # 0xec9f (en: 'down pointing paren left', google translation)
+ - "": [T: "apuntando hacia arriba de extensor de paréntesis"] # 0xeca0 (en: 'up pointing brace extender', google translation)
+ - "": [T: "apuntando hacia arriba de paréntesis de izquierda"] # 0xeca1 (en: 'up pointing paren left', google translation)
+ - "": [T: "apuntando hacia arriba de extensor de paréntesis"] # 0xeca2 (en: 'up pointing paren extender', google translation)
+ - "": [T: "apuntando hacia arriba de paréntesis derecho"] # 0xeca3 (en: 'up pointing paren right', google translation)
+ - "": [T: "apuntando hacia abajo de extensor de paréntesis"] # 0xeca4 (google translation)
+ - "": [T: "constante de Planck sobre dos barras pi"] # 0xed00 (en: 'planck constant over two pi bar', google translation)
+ - "": [T: "espejo g"] # 0xed01 (en: 'mirror g', google translation)
+ - "": [T: "j sin puntos"] # 0xed02 (google translation)
+ - "": [T: "digamma"] # 0xed03 (google translation)
+ - "ϝ": [T: "digamma"] # 0x3dd
+ - "": [T: "d"] # 0xed10 (en: 'd', google translation)
+ - "": [T: "e"] # 0xed11 (en: 'e', google translation)
+ - "": [T: "i"] # 0xed12 (en: 'i', google translation)
+ - "": [T: "j"] # 0xed13 (en: 'j', google translation)
+ - "ⅅ":
+ - spell: "translate('.', 'ⅅ', 'DD')" # 0xed16, 0x2145
+
+# The private use chars are efrom MathType
+ - "": [T: "bucle integral de contorno en sentido contrario a las agujas del reloj"] # 0xee00 (en: 'anticlockwise contour integral loop', google translation)
+ - "": [T: "bucle integral de contorno en sentido de las agujas del reloj"] # 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: "ornamentación de estatus conjunto"] # 0xee0d (en: 'joint status embellishment', google translation)
+ - "": [T: "ornamentación de estatus conjunto"] # 0xee0e (en: 'joint status embellishment left', google translation)
+ - "": [T: "ornamentación derecha de estatus conjunto"] # 0xee0f (en: 'joint status embellishment right', google translation)
+ - "": [T: "extensión de ornamentos de estatus conjunto"] # 0xee10 (en: 'joint status embellishment extender', google translation)
+ - "": [T: "bucle integral"] # 0xee11 (en: 'integral loop', google translation)
+ - "": [T: "doble bucle integral"] # 0xee12 (en: 'integral loop double', google translation)
+ - "": [T: "triple bucle integral"] # 0xee13 (en: 'integral loop triple', google translation)
+ - "": [T: "doble expansión de bucle integral"] # 0xee15 (en: 'expanding integral loop double', google translation)
+ - "": [T: "triple expansión de bucle integral"] # 0xee16 (en: 'expanding integral loop triple', google translation)
+ - "": [T: "asintóticamente igual al acento"] # 0xee17 (en: 'asymptotically equal to accent', google translation)
+ - "": [T: "signo igual a acetno"] # 0xee18 (en: 'equal sign accent', google translation)
+ - "": [T: "prima cuádruple"] # 0xee19 (en: 'quadruple prime', google translation)
+ - "⁗": [T: "prima cuádruple"] # 0x2057 (en: 'quadruple prime', MathPlayer: 'cuarta', google: 'prime cuádruple')
+ - "": [T: "acento de barra con círculo abierto izquierdo"] # 0xee1a (en: 'bar accent with open circle left', google translation)
+ - "": [T: "acento de barra con círculo cerrado izquierdo"] # 0xee1b (en: 'bar accent with closed circle left', google translation)
+ - "": [T: "acento de barra con círculo abierto derecho"] # 0xee1c (en: 'bar accent with open circle right', google translation)
+ - "": [T: "acento de barra con punto encima"] # 0xee1d (en: 'bar accent with over dot', google translation)
+ - "": [T: "acento de barra con punto debajo"] # 0xee1e (en: 'bar accent with under dot', google translation)
+ - "": [T: "acento de barra con doble punto encima"] # 0xee1f (en: 'bar accent with double over dot', google translation)
+ - "": [T: "acento de barra con doble punto debajo"] # 0xee20 (en: 'bar accent with double under dot', google translation)
+ - "": [T: "acento de barra con signo de intercalación"] # 0xee21 (en: 'bar accent with caret', google translation)
+ - "": [T: "marcado debajo de acento de barra"] # 0xee22 (en: 'thick under bar accent', google translation)
+ - "": [T: "acento de barra con círculo cerrado a la derecha"] # 0xee23 (en: 'bar accent with closed circle right', google translation)
+ - "": [T: "gran punto arriba"] # 0xee24 (en: 'large dot above', google translation)
+ - "": [T: "marca de alineación"] # 0xef00 (en: 'alignment mark', google translation)
+ - "": [t: ""] # 0xef01
+ - "": [t: ""] # 0x200b
+ - "": [t: ""] # 0xef02
+ - " ": [t: ""] # 0x2009
+ - "": [t: ""] # 0xef03
+ - " ": [t: ""] # 0x205f
+ - "": [t: ""] # 0xef04
+ - "": [t: ""] # 0xef05
+ - " ": [t: ""] # 0x2003
+ - "": [t: ""] # 0xef06
+ - "": [t: ""] # 0xef07
+ - "": [t: ""] # 0xef08
+ - "": [t: ""] # 0xef09
+ - "": [t: ""] # 0xef0a
+ - " ": [t: ""] # 0x200a
+ - "": [t: ""] # 0xef22
+ - "": [t: ""] # 0xef23
+ - "": [t: ""] # 0xef24
+ - "": [t: ""] # 0xef29
+ - "": [T: "término ausente"] # 0xef41 (en: 'missing term', google translation)
+ - "": [T: "flecha integral de contorno en sentido de las agujas del reloj a la izquierda"] # 0xef80 (en: 'clockwise contour integral arrow on left', google translation)
+ - "": [T: "integral con cuadrado"] # 0xef81 (en: 'integral with square', google translation)
+ - "": [T: "integral con barra cortada"] # 0xef82 (en: 'integral with slash', google translation)
+ - "": [T: "integral invertida"] # 0xef83 (en: 'reversed integral', google translation)
+ - "": [T: "doble cero sobre doble cero"] # 0xef90 (en: 'double zero over double zero', google translation)
+ - "": [T: "cero con barra cortada"] # 0xef91 (en: 'zero with slash', google translation)
+
+ # 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: "fraktur" # (google translation)
+ - spell: "translate('.', '𝔄𝔅𝔇𝔈𝔉𝔊𝔍𝔎𝔏𝔐𝔑𝔒𝔓𝔔𝔖𝔗𝔘𝔙𝔚𝔛𝔜', 'ABCDEFGHIJKLMNOPQRSTUVWXY')"
+
+ - "-": # 0xf000 - 0xf018
+ - T: "fraktur" # (google translation)
+ - spell: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXY')"
+
+ - "𝔞-𝔷": # 0x1d51e - 0x1d537
+ - T: "fraktur" # (google translation)
+ - spell: "translate('.', '𝔞𝔟𝔠𝔡𝔢𝔣𝔤𝔥𝔦𝔧𝔨𝔩𝔪𝔫𝔬𝔭𝔮𝔯𝔰𝔱𝔲𝔳𝔴𝔵𝔶𝔷', 'abcdefghijklmnopqrstuvwxyz')"
+ - "-": # 0xf01a - 0xf033
+ - T: "fraktur" # (google translation)
+ - spell: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "𝕬-𝖅": # 0x1D56C - 0x1D585
+ - T: "fraktur bold" # (google translation)
+ - spell: "translate('.', '𝕬𝕭𝕮𝕯𝕰𝕱𝕲𝕳𝕴𝕵𝕶𝕷𝕸𝕹𝕺𝕻𝕼𝕽𝕾𝕿𝖀𝖁𝖂𝖃𝖄𝖅', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "-": # 0xf040 - 0xf059
+ - T: "fraktur bold" # (google translation)
+ - spell: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "𝖆-𝖟": # 0x1d586 - 0x1d59f
+ - T: "fraktur bold" # (google translation)
+ - spell: "translate('.', '𝖆𝖇𝖈𝖉𝖊𝖋𝖌𝖍𝖎𝖏𝖐𝖑𝖒𝖓𝖔𝖕𝖖𝖗𝖘𝖙𝖚𝖛𝖜𝖝𝖞𝖟', 'abcdefghijklmnopqrstuvwxyz')"
+ - "-": # 0xf05a - 0xf073
+ - T: "fraktur bold" # (google translation)
+ - 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)
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "doble tachadura"] # (en: 'double struck', google translation)
+ - spell: "translate('.', '𝔸𝔹𝔻𝔼𝔽𝔾𝕀𝕁𝕂𝕃𝕄𝕆𝕊𝕋𝕌𝕍𝕎𝕏𝕐', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "-": # 0xf080 - 0xf098
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "doble tachadura"] # (en: 'double struck', google translation)
+ - spell: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "𝕒-𝕫": # 0x1d552 - 0x1d56b
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "doble tachadura"] # (en: 'double struck', google translation)
+ - spell: "translate('.', '𝕒𝕓𝕔𝕕𝕖𝕗𝕘𝕙𝕚𝕛𝕜𝕝𝕞𝕟𝕠𝕡𝕢𝕣𝕤𝕥𝕦𝕧𝕨𝕩𝕪𝕫', 'abcdefghijklmnopqrstuvwxyz')"
+ - "-": # 0xf09a - 0xf0b3
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "doble tachadura"] # (en: 'double struck', google translation)
+ - spell: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
+ - "𝟘-𝟡": # 0x1d7d8 - 0x1d7e1
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "doble tachadura"] # (en: 'double struck', google translation)
+ - spell: "translate('.', '𝟘𝟙𝟚𝟛𝟜𝟝𝟞𝟟𝟠𝟡', '0123456789')"
+ - "-": # 0xf0c0 - 0xf0c9
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "doble tachadura"] # (en: 'double struck', google translation)
+ - spell: "translate('.', '', '0123456789')"
+
+ - "": [T: "doble nabla tachada"] # 0xf0ca (en: 'double struck nabla', google translation)
+ - "": [T: "doble constante de Euler tachada"] # 0xf0cb (en: 'double struck euler constant', google translation)
+
+ # script chars in math alphabetic block and also MathType private use area
+ - "𝒜-𝒵": # 0x1d49c - 0x1d4b5
+ - T: "guión" # (en: 'script', google translation)
+ - spell: "translate('.', '𝒜𝒞𝒟𝒢𝒥𝒦𝒩𝒪𝒫𝒬𝒮𝒯𝒰𝒱𝒲𝒳𝒴𝒵', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "-": # 0xf100 - 0xf119
+ - T: "guión" # (en: 'script', google translation)
+ - spell: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "𝒶-𝓏": # 0x1d4b6 - 0x1d4cf
+ - T: "guión" # (en: 'script', google translation)
+ - spell: "translate('.', '𝒶𝒷𝒸𝒹𝒻𝒽𝒾𝒿𝓀𝓁𝓂𝓃𝓅𝓆𝓇𝓈𝓉𝓊𝓋𝓌𝓍𝓎𝓏', 'abcdefghijklmnopqrstuvwxyz')"
+ - "-": # 0xf11a - 0xf133
+ - T: "guión" # (en: 'script', google translation)
+ - spell: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
+
+ # bold script chars in math alphabetic block and also MathType private use area
+ - "𝓐-𝓩": # 0x1d4d0 - 0x1d4e9
+ - T: "guión en negrita" # (en: 'script bold', google translation)
+ - spell: "translate('.', '𝓐𝓑𝓒𝓓𝓔𝓕𝓖𝓗𝓘𝓙𝓚𝓛𝓜𝓝𝓞𝓟𝓠𝓡𝓢𝓣𝓤𝓥𝓦𝓧𝓨𝓩', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "-": # 0xf140 - 0xf159
+ - T: "guión en negrita" # (en: 'script bold', google translation)
+ - spell: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "𝓪-𝔃": # 0x1d4ea - 0x1d503
+ - T: "guión en negrita" # (en: 'script bold', google translation)
+ - spell: "translate('.', '𝓪𝓫𝓬𝓭𝓮𝓯𝓰𝓱𝓲𝓳𝓴𝓵𝓶𝓷𝓸𝓹𝓺𝓻𝓼𝓽𝓾𝓿𝔀𝔁𝔂𝔃', 'abcdefghijklmnopqrstuvwxyz')"
+ - "-": # 0xf15a - 0xf173
+ - T: "guión en negrita" # (en: 'script bold', google translation)
+ - spell: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "-": # 0xf180 - 0xf199
+ - spell: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "": # 0xf19a
+ - 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: "mayúscula"] # (en: 'cap', google translation)
+ else: [x: "$SpeechOverrides_CapitalLetters"]
+ - pitch:
+ value: "$CapitalLetters_Pitch"
+ replace: [T: "ligadura ae"] # (en: 'ligature ae', google translation)
+ - "": # 0xf19b
+ - 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: "mayúscula"] # (en: 'cap', google translation)
+ else: [x: "$SpeechOverrides_CapitalLetters"]
+ - pitch:
+ value: "$CapitalLetters_Pitch"
+ replace: [T: "s puntiaguda"] # (en: 'sharp s', google translation)
+ - "": # 0xf19c
+ - 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: "mayúscula"] # (en: 'cap', google translation)
+ else: [x: "$SpeechOverrides_CapitalLetters"]
+ - pitch:
+ value: "$CapitalLetters_Pitch"
+ replace: [T: "o con trazo"] # (en: 'o with stroke', google translation)
+
+ # MathType only has a few of the cap Greek letters in PUA
+ - "": # 0xf201 - 0xf209
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "doble tachadura"] # (en: 'double struck', google translation)
+ - spell: "translate('.', '', 'ΔΨΛΠΣΘΓΩΥ')"
+
+ - "-": # 0xf220 - 0xf236
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "doble tachadura"] # (en: 'double struck', google translation)
+ - spell: "translate('.', '', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
+
+ - "": [T: "doble tachadura en sigma final"] # 0xf237 (en: 'double struck final sigma', google translation)
+ - "": [T: "doble tachadura en rho"] # 0xf250 (en: 'double struck rho', google translation)
+ - "": [T: "doble tachadura en phi"] # 0xf251 (en: 'double struck phi', google translation)
+ - "𝐀-𝐙": # 0x1d400 - 0x1d419
+ - T: "negrita" # (en: 'bold', google translation)
+ - spell: "translate('.', '𝐀𝐁𝐂𝐃𝐄𝐅𝐆𝐇𝐈𝐉𝐊𝐋𝐌𝐍𝐎𝐏𝐐𝐑𝐒𝐓𝐔𝐕𝐖𝐗𝐘𝐙', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "-": # 0xf260 - 0xf279
+ - T: "negrita" # (en: 'bold', google translation)
+ - spell: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "𝐚-𝐳": # 0x1d41a - 0x1d433
+ - T: "negrita" # (en: 'bold', google translation)
+ - spell: "translate('.', '𝐚𝐛𝐜𝐝𝐞𝐟𝐠𝐡𝐢𝐣𝐤𝐥𝐦𝐧𝐨𝐩𝐪𝐫𝐬𝐭𝐮𝐯𝐰𝐱𝐲𝐳', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "-": # 0xf27a - 0xf293
+ - T: "negrita" # (en: 'bold', google translation)
+ - spell: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "𝐴-𝑍": # 0x1d434 - 0x1d44d
+ - spell: "translate('.', '𝐴𝐵𝐶𝐷𝐸𝐹𝐺𝐻𝐼𝐽𝐾𝐿𝑀𝑁𝑂𝑃𝑄𝑅𝑆𝑇𝑈𝑉𝑊𝑋𝑌𝑍', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "-": # 0xf294 - 0xf2ad
+ - spell: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "𝑎-𝑧": # 0x1d44e - 0x1d467
+ - spell: "translate('.', '𝑎𝑏𝑐𝑑𝑒𝑓𝑔𝑖𝑗𝑘𝑙𝑚𝑛𝑜𝑝𝑞𝑟𝑠𝑡𝑢𝑣𝑤𝑥𝑦𝑧', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "-": # 0xf2ae - 0xf2c7
+ - spell: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "𝑨-𝒁": # 0x1d468 - 0x1d481
+ # - T: "negrita cursiva"
+ - T: "negrita" # (en: 'bold', google translation)
+ - spell: "translate('.', '𝑨𝑩𝑪𝑫𝑬𝑭𝑮𝑯𝑰𝑱𝑲𝑳𝑴𝑵𝑶𝑷𝑸𝑹𝑺𝑻𝑼𝑽𝑾𝑿𝒀𝒁', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "-": # 0xf2c8 - 0xf2e1
+ # - T: "negrita cursiva"
+ - T: "negrita" # (en: 'bold', google translation)
+ - spell: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "𝒂-𝒛": # 0x1d482 - 0x1d49b
+ # - T: "negrita cursiva"
+ - T: "negrita" # (en: 'bold', google translation)
+ - spell: "translate('.', '𝒂𝒃𝒄𝒅𝒆𝒇𝒈𝒉𝒊𝒋𝒌𝒍𝒎𝒏𝒐𝒑𝒒𝒓𝒔𝒕𝒖𝒗𝒘𝒙𝒚𝒛', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "-": # 0xf2e2 - 0xf2fb
+ # - T: "negrita cursiva" # (en: 'bold', google translation)
+ - spell: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "𝖠-𝖹": # 0x1d5a0 - 0x1d5b9
+ - spell: "translate('.', '𝖠𝖡𝖢𝖣𝖤𝖥𝖦𝖧𝖨𝖩𝖪𝖫𝖬𝖭𝖮𝖯𝖰𝖱𝖲𝖳𝖴𝖵𝖶𝖷𝖸𝖹', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "-": # 0xf300 - 0xf319
+ - spell: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "𝖺-𝗓": # 0x1d5ba - 0x1d5d3
+ - spell: "translate('.', '𝖺𝖻𝖼𝖽𝖾𝖿𝗀𝗁𝗂𝗃𝗄𝗅𝗆𝗇𝗈𝗉𝗊𝗋𝗌𝗍𝗎𝗏𝗐𝗑𝗒𝗓', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "-": # 0xf31a - 0xf333
+ - spell: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "𝗔-𝗭": # 0x1d5d4 - 0x1d5ed
+ - T: "negrita" # (en: 'bold', google translation)
+ - spell: "translate('.', '𝗔𝗕𝗖𝗗𝗘𝗙𝗚𝗛𝗜𝗝𝗞𝗟𝗠𝗡𝗢𝗣𝗤𝗥𝗦𝗧𝗨𝗩𝗪𝗫𝗬𝗭', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "-": # 0xf334 - 0xf34d
+ - T: "negrita" # (en: 'bold', google translation)
+ - spell: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "𝗮-𝘇": # 0x1d5ee - 0x1d607
+ - T: "negrita" # (en: 'bold', google translation)
+ - spell: "translate('.', '𝗮𝗯𝗰𝗱𝗲𝗳𝗴𝗵𝗶𝗷𝗸𝗹𝗺𝗻𝗼𝗽𝗾𝗿𝘀𝘁𝘂𝘃𝘄𝘅𝘆𝘇', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "-": # 0xf34e - 0xf367
+ - T: "negrita" # (en: 'bold', google translation)
+ - spell: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
+ - "𝘈-𝘡": # 0x1d608 - 0x1d621
+ # - T: "cursiva"
+ - spell: "translate('.', '𝘈𝘉𝘊𝘋𝘌𝘍𝘎𝘏𝘐𝘑𝘒𝘓𝘔𝘕𝘖𝘗𝘘𝘙𝘚𝘛𝘜𝘝𝘞𝘟𝘠𝘡', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+ - "-": # 0xf368 - 0xf381
+ # - T: "cursiva"
+ - spell: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "𝘢-𝘻": # 0x1d622 - 0x1d63b
+ # - T: "cursiva"
+ - spell: "translate('.', '𝘢𝘣𝘤𝘥𝘦𝘧𝘨𝘩𝘪𝘫𝘬𝘭𝘮𝘯𝘰𝘱𝘲𝘳𝘴𝘵𝘶𝘷𝘸𝘹𝘺𝘻', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "-": # 0xf382 - 0xf39b
+ # - T: "cursiva"
+ - spell: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "𝘼-𝙕": # 0x1d63c - 0x1d655
+ # - T: "negrita cursiva"
+ - T: "negrita" # (en: 'bold', google translation)
+ - spell: "translate('.', '𝘼𝘽𝘾𝘿𝙀𝙁𝙂𝙃𝙄𝙅𝙆𝙇𝙈𝙉𝙊𝙋𝙌𝙍𝙎𝙏𝙐𝙑𝙒𝙓𝙔𝙕', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "-": # 0xf39c - 0xf3b5
+ # - T: "negrita cursiva"
+ - T: "negrita" # (en: 'bold', google translation)
+ - spell: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "𝙖-𝙯": # 0x1d656 - 0x1d66f
+ # - T: "negrita cursiva"
+ - T: "negrita" # (en: 'bold', google translation)
+ - spell: "translate('.', '𝙖𝙗𝙘𝙙𝙚𝙛𝙜𝙝𝙞𝙟𝙠𝙡𝙢𝙣𝙤𝙥𝙦𝙧𝙨𝙩𝙪𝙫𝙬𝙭𝙮𝙯', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "-": # 0xf3b6 - 0xf3cf
+ # - T: "negrita cursiva"
+ - T: "negrita" # (en: 'bold', google translation)
+ - spell: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "𝙰-𝚉": # 0x1d670 - 0x1d689
+ - spell: "translate('.', '𝙰𝙱𝙲𝙳𝙴𝙵𝙶𝙷𝙸𝙹𝙺𝙻𝙼𝙽𝙾𝙿𝚀𝚁𝚂𝚃𝚄𝚅𝚆𝚇𝚈𝚉', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "-": # 0xf3d0 - 0xf3e9
+ - spell: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "𝚊-𝚣": # 0x1d68a - 0x1d6a3
+ - spell: "translate('.', '𝚊𝚋𝚌𝚍𝚎𝚏𝚐𝚑𝚒𝚓𝚔𝚕𝚖𝚗𝚘𝚙𝚚𝚛𝚜𝚝𝚞𝚟𝚠𝚡𝚢𝚣', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "-": # 0xf3ea - 0xf403
+ - spell: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "": [T: "i sin punto"] # 0xf404 (google translation)
+ - "𝚤": [T: "ci cursiva sin punto"] # 0x1d6a4 (en: 'dotless i', google: 'dotless i')
+ - "𝚥": [T: "j cursiva sin punto"] # 0x1d6a5 (en: 'dotless j', google: 'dotless j')
+
+ - "𝚨-𝛀": # 0x1d6a8 - 0x1d6c0
+ - T: "j cursiva sin punto" # (en: 'bold', google: 'atrevido')
+ - spell: "translate('.', '𝚨𝚩𝚪𝚫𝚬𝚭𝚮𝚯𝚰𝚱𝚲𝚳𝚴𝚵𝚶𝚷𝚸𝚹𝚺𝚻𝚼𝚽𝚾𝚿𝛀', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
+
+ - "-": # 0xf408 - 0xf420
+ - T: "j cursiva sin punto" # (en: 'bold', google: 'atrevido')
+ - spell: "translate('.', '', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
+
+ - "𝛂-𝛚": # 0x1d6c2 - 0x1d6da
+ - T: "j cursiva sin punto" # (en: 'bold', google: 'atrevido')
+ - spell: "translate('.', '𝛂𝛃𝛄𝛅𝛆𝛇𝛈𝛉𝛊𝛋𝛌𝛍𝛎𝛏𝛐𝛑𝛒𝛓𝛔𝛕𝛖𝛗𝛘𝛙𝛚', 'αβγδεζηθικλμνξοπρςστυφχψω')"
+
+ - "-": # 0xf422 - 0xf43a
+ - T: "j cursiva sin punto" # (en: 'bold', google: 'atrevido')
+ - spell: "translate('.', '', 'αβγδεζηθικλμνξοπρςστυφχψω')"
+
+ - "": [T: "nabla en negrita"] # 0xf421 (google translation)
+ - "𝛁": [T: "nabla en negrita"] # 0x1d6c1 (google translation)
+
+ - "𝛛𝛜𝛝𝛞𝛟𝛠𝛡": # 0x1D6DB - 0x1D6E1
+ - T: "negrita" # (en: 'bold', google translation)
+ - spell: "translate('.', '𝛛𝛜𝛝𝛞𝛟𝛠𝛡', '∂εθκφρπ')"
+
+ - "": # 0xF43C - 0xF441
+ - T: "negrita" # (en: 'bold', google translation)
+ - spell: "translate('.', '', '∂εθκφρπ')"
+
+ - "𝛢-𝛺": # 0x1d6e2 - 0x1d6fa
+ # - T: "cursiva"
+ - spell: "translate('.', '𝛢𝛣𝛤𝛥𝛦𝛧𝛨𝛩𝛪𝛫𝛬𝛭𝛮𝛯𝛰𝛱𝛲𝛳𝛴𝛵𝛶𝛷𝛸𝛹𝛺', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
+
+ - "-": # 0xf442 - 0xf45a
+ # - T: "cursiva"
+ - spell: "translate('.', '', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
+
+ - "𝛼-𝜔": # 0x1d6fc - 0x1d714
+ # - T: "cursiva"
+ - spell: "translate('.', '𝛼𝛽𝛾𝛿𝜀𝜁𝜂𝜃𝜄𝜅𝜆𝜇𝜈𝜉𝜊𝜋𝜌𝜍𝜎𝜏𝜐𝜑𝜒𝜓𝜔', 'αβγδεζηθικλμνξοπρςστυφχψω')"
+
+ - "-": # 0xf45c - 0xf474
+ # - T: "cursiva"
+ - spell: "translate('.', '', 'αβγδεζηθικλμνξοπρςστυφχψω')"
+
+ - "": [T: "nabla en cursiva"] # 0xf45b (en: 'italic nabla', google translation)
+ - "𝛻": [T: "nabla en cursiva"] # 0x1d6fb (en: 'italic nabla', google translation)
+
+ - "𝜕𝜖𝜗𝜘𝜙𝜚𝜛": # 0x1d715 - 0x1d71b
+ # - T: "cursiva"
+ - spell: "translate('.', '𝜕𝜖𝜗𝜘𝜙𝜚𝜛', '∂εθκφρπ')"
+
+ - "": # 0xf475 - 0xf47b
+ # - T: "cursiva"
+ - spell: "translate('.', '', '∂εθκφρπ')"
+
+ - "𝜜-𝜴": # 0x1d71c - 0x1d734
+ # - T: "negrita cursiva"
+ - T: "negrita" # (en: 'bold', google translation)
+ - spell: "translate('.', '𝜜𝜝𝜞𝜟𝜠𝜡𝜢𝜣𝜤𝜥𝜦𝜧𝜨𝜩𝜪𝜫𝜬𝜭𝜮𝜯𝜰𝜱𝜲𝜳𝜴', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
+
+ - "-": # 0xf47c - 0xf494
+ # - T: "negrita cursiva"
+ - T: "negrita" # (en: 'bold', google translation)
+ - spell: "translate('.', '', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
+
+ - "𝜶-𝝎": # 0x1d736 - 0x1d74e
+ # - T: "negrita cursiva"
+ - T: "negrita" # (en: 'bold', google translation)
+ - spell: "translate('.', '𝜶𝜷𝜸𝜹𝜺𝜻𝜼𝜽𝜾𝜿𝝀𝝁𝝂𝝃𝝄𝝅𝝆𝝇𝝈𝝉𝝊𝝋𝝌𝝍𝝎', 'αβγδεζηθικλμνξοπρςστυφχψω')"
+
+ - "-": # 0xf496 - 0xf4ae
+ # - T: "negrita cursiva"
+ - T: "negrita" # (en: 'bold', google translation)
+ - spell: "translate('.', '', 'αβγδεζηθικλμνξοπρςστυφχψω')"
+
+ - "𝝏𝝐𝝑𝝒𝝓𝝔𝝕": # 0x1d74f - 0x1d755
+ # - T: "negrita cursiva"
+ - T: "negrita" # (en: 'bold', google translation)
+ - spell: "translate('.', '𝝏𝝐𝝑𝝒𝝓𝝔𝝕', '∂εθκφρπ')"
+
+ - "": # 0xf422 - 0xf43a
+ # - T: "negrita cursiva"
+ - T: "negrita" # (en: 'bold', google translation)
+ - spell: "translate('.', '', '∂εθκφρπ')"
+
+ - "𝜵": [T: "nabla en cursiva y negrita"] # 0x1d735 (en: 'bold italic nabla', google translation)
+ - "": [T: "nabla en cursiva y negrita"] # 0xf495 (en: 'bold italic nabla', google translation)
+
+ - "𝝖-𝝮": # 0x1d756 - 0x1d76e
+ - T: "negrita" # (en: 'bold', google translation)
+ - spell: "translate('.', '𝝖𝝗𝝘𝝙𝝚𝝛𝝜𝝝𝝞𝝟𝝠𝝡𝝢𝝣𝝤𝝥𝝦𝝧𝝨𝝩𝝪𝝫𝝬𝝭𝝮', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
+ - "-": # 0xf4b6 - 0xf4ce
+ - T: "negrita" # (en: 'bold', google translation)
+ - spell: "translate('.', '', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
+
+ - "𝝰-𝞈": # 0x1d770 - 0x1d788
+ - T: "negrita" # (en: 'bold', google translation)
+ - spell: "translate('.', '𝝰𝝱𝝲𝝳𝝴𝝵𝝶𝝷𝝸𝝹𝝺𝝻𝝼𝝽𝝾𝝿𝞀𝞁𝞂𝞃𝞄𝞅𝞆𝞇𝞈', 'αβγδεζηθικλμνξοπρςστυφχψω')"
+
+ - "-": # 0xf4d0 - 0xf4e8
+ - T: "negrita" # (en: 'bold', google translation)
+ - spell: "translate('.', '', 'αβγδεζηθικλμνξοπρςστυφχψω')"
+
+ - "𝞉𝞊𝞋𝞌𝞍𝞎𝞏": # 0x1d789 - 0x1d78f
+ - T: "negrita" # (en: 'bold', google translation)
+ - spell: "translate('.', '𝞉𝞊𝞋𝞌𝞍𝞎𝞏', '∂εθκφρπ')"
+
+ - "": # 0xf4e9 - 0xf4ef
+ - T: "negrita" # (en: 'bold', google translation)
+ - spell: "translate('.', '', '∂εθκφρπ')"
+
+ - "": [T: "nabla en negrita"] # 0xf4cf (google translation)
+ - "𝝯": [T: "nabla en negrita"] # 0x1d76f (google translation)
+
+ - "𝞐-𝞨": # 0x1d790 - 0x1d7a8
+ # - T: "negrita cursiva"
+ - T: "negrita" # (en: 'bold', google translation)
+ - spell: "translate('.', '𝞐𝞑𝞒𝞓𝞔𝞕𝞖𝞗𝞘𝞙𝞚𝞛𝞜𝞝𝞞𝞟𝞠𝞡𝞢𝞣𝞤𝞥𝞦𝞧𝞨', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
+
+ - "-": # 0xf4f0 - 0xf508
+ # - T: "negrita cursiva"
+ - T: "negrita" # (en: 'bold', google translation)
+ - spell: "translate('.', '', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
+
+ - "𝞪-𝟂": # 0x1d7aa - 0x1d7c2
+ # - T: "negrita cursiva"
+ - T: "negrita" # (en: 'bold', google translation)
+ - spell: "translate('.', '𝞪𝞫𝞬𝞭𝞮𝞯𝞰𝞱𝞲𝞳𝞴𝞵𝞶𝞷𝞸𝞹𝞺𝞻𝞼𝞽𝞾𝞿𝟀𝟁𝟂', 'αβγδεζηθικλμνξοπρςστυφχψω')"
+
+ - "-": # 0xf50a - 0xf522
+ # - T: "negrita cursiva"
+ - T: "negrita" # (en: 'bold', google translation)
+ - spell: "translate('.', '', 'αβγδεζηθικλμνξοπρςστυφχψω')"
+
+ - "𝟃𝟄𝟅𝟆𝟇𝟈𝟉": # 0x1d7c3 - 0x1d7c9
+ # - T: "negrita cursiva"
+ - T: "negrita" # (en: 'bold', google translation)
+ - spell: "translate('.', '𝟃𝟄𝟅𝟆𝟇𝟈𝟉', '∂εθκφρπ')"
+
+ - "": # 0xf523 - 0xf529
+ # - T: "negrita cursiva"
+ - T: "negrita" # (en: 'bold', google translation)
+ - spell: "translate('.', '', '∂εθκφρπ')"
+
+ - "": [T: "nabla en negrita"] # 0xf509 (google translation)
+ - "𝞩": [T: "nabla en negrita"] # 0x1d7a9 (google translation)
+
+ - "": [T: "cero en negrita"] # 0xf52e (en: 'bold zero', google translation)
+ - "𝟎": [T: "cero en negrita"] # 0x1d7ce (en: 'bold zero', google translation)
+ - "": [T: "uno en negrita"] # 0xf52f (en: 'bold one', google translation)
+ - "𝟏": [T: "negrita"] # 0x1d7cf (en: 'bold one', google translation)
+ - "": [T: "dos en negrita"] # 0xf530 (en: 'bold two', google translation)
+ - "𝟐": [T: "dos en negrita"] # 0x1d7d0 (en: 'bold two', google translation)
+ - "": [T: "tres en negrita"] # 0xf531 (en: 'bold three', google translation)
+ - "𝟑": [T: "tres en negrita"] # 0x1d7d1 (en: 'bold three', google translation)
+ - "": [T: "cuatro en negrita"] # 0xf532 (en: 'bold four', google translation)
+ - "𝟒": [T: "bold en negrita"] # 0x1d7d2 (en: 'bold four', google translation)
+ - "": [T: "cinco en negrita"] # 0xf533 (en: 'bold five', google translation)
+ - "𝟓": [T: "cinco en negrita"] # 0x1d7d3 (en: 'bold five', google translation)
+ - "": [T: "seis en negrita"] # 0xf534 (en: 'bold six', google translation)
+ - "𝟔": [T: "seis en negrita"] # 0x1d7d4 (en: 'bold six', google translation)
+ - "": [T: "siete en negrita"] # 0xf535 (en: 'bold seven', google translation)
+ - "𝟕": [T: "siete en negrita"] # 0x1d7d5 (en: 'bold seven', google translation)
+ - "": [T: "ocho en negrita"] # 0xf536 (en: 'bold eight', google translation)
+ - "𝟖": [T: "ocho en negrita"] # 0x1d7d6 (en: 'bold eight', google translation)
+ - "": [T: "nueve en negrita"] # 0xf537 (en: 'bold nine', google translation)
+ - "𝟗": [T: "nueve en negrita"] # 0x1d7d7 (en: 'bold nine', google translation)
+ - "": [T: "cero"] # 0xf542 (en: 'zero', google translation)
+ - "𝟢": [T: "cero"] # 0x1d7e2 (en: 'zero', google translation)
+ - "": [T: "uno"] # 0x1d7e3 (en: 'one', google translation)
+ - "": [T: "dos"] # 0xf544 (en: 'two', google translation)
+ - "𝟤": [T: "dos"] # 0x1d7e4 (en: 'two', google translation)
+ - "": [T: "tres"] # 0xf545 (en: 'three', google translation)
+ - "𝟥": [T: "tres"] # 0x1d7e5 (en: 'three', google translation)
+ - "": [T: "cuatro"] # 0xf546 (en: 'four', google translation)
+ - "𝟦": [T: "cuatro"] # 0x1d7e6 (en: 'four', google translation)
+ - "": [T: "cinco"] # 0xf547 (en: 'five', google translation)
+ - "𝟧": [T: "cinco"] # 0x1d7e7 (en: 'five', google translation)
+ - "": [T: "seis"] # 0xf548 (en: 'six', google translation)
+ - "𝟨": [T: "seis"] # 0x1d7e8 (en: 'six', google translation)
+ - "": [T: "siete"] # 0xf549 (en: 'seven', google translation)
+ - "𝟩": [T: "siete"] # 0x1d7e9 (en: 'seven', google translation)
+ - "": [T: "ocho"] # 0xf54a (en: 'eight', google translation)
+ - "𝟪": [T: "ocho"] # 0x1d7ea (en: 'eight', google translation)
+ - "": [T: "nueve"] # 0xf54b (en: 'nine', google translation)
+ - "𝟫": [T: "nueve"] # 0x1d7eb (en: 'nine', google translation)
+ - "": [T: "cero en negrita"] # 0xf54c (en: 'bold zero', google translation)
+ - "𝟬": [T: "cero en negrita"] # 0x1d7ec (en: 'bold zero', google translation)
+ - "": [T: "uno en negrita"] # 0xf54d (en: 'bold one', google translation)
+ - "𝟭": [T: "uno en negrita"] # 0x1d7ed (en: 'bold one', google translation)
+ - "": [T: "dos en negrita"] # 0xf54e (en: 'bold two', google translation)
+ - "𝟮": [T: "dos en negrita"] # 0x1d7ee (en: 'bold two', google translation)
+ - "": [T: "tres en negrita"] # 0xf54f (en: 'bold three', google translation)
+ - "𝟯": [T: "tres en negrita"] # 0x1d7ef (en: 'bold three', google translation)
+ - "": [T: "cuatro en negrita"] # 0xf550 (en: 'bold four', google translation)
+ - "𝟰": [T: "bold en negrita"] # 0x1d7f0 (en: 'bold four', google translation)
+ - "": [T: "cinco en negrita"] # 0xf551 (en: 'bold five', google translation)
+ - "𝟱": [T: "bcinco en negrita"] # 0x1d7f1 (en: 'bold five', google translation)
+ - "": [T: "seis negrita"] # 0xf552 (en: 'bold six', google translation)
+ - "𝟲": [T: "seis negrita"] # 0x1d7f2 (en: 'bold six', google translation)
+ - "": [T: "siete negrita"] # 0xf553 (en: 'bold seven', google translation)
+ - "𝟳": [T: "siete en negrita"] # 0x1d7f3 (en: 'bold seven', google translation)
+ - "": [T: "ocho en negrita"] # 0xf554 (en: 'bold eight', google translation)
+ - "𝟴": [T: "ocho en negrita"] # 0x1d7f4 (en: 'bold eight', google translation)
+ - "": [T: "nueve en negrita"] # 0xf555 (en: 'bold nine', google translation)
+ - "𝟵": [T: "nueve en negrita"] # 0x1d7f5 (en: 'bold nine', google translation)
+ - "": [T: "cero"] # 0xf556 (en: 'zero', google translation)
+ - "𝟶": [T: "cero"] # 0x1d7f6 (en: 'zero', google translation)
+ - "": [T: "uno"] # 0xf557 (en: 'one', google translation)
+ - "𝟷": [T: "uno"] # 0x1d7f7 (en: 'one', google translation)
+ - "": [T: "dos"] # 0xf558 (en: 'two', google translation)
+ - "𝟸": [T: "dos"] # 0x1d7f8 (en: 'two', google translation)
+ - "": [T: "tres"] # 0xf559 (en: 'three', google translation)
+ - "𝟹": [T: "tres"] # 0x1d7f9 (en: 'three', google translation)
+ - "": [T: "cuatro"] # 0xf55a (en: 'four', google translation)
+ - "𝟺": [T: "cuatro"] # 0x1d7fa (en: 'four', google translation)
+ - "": [T: "cinco"] # 0xf55b (en: 'five', google translation)
+ - "𝟻": [T: "cinco"] # 0x1d7fb (en: 'five', google translation)
+ - "": [T: "seis"] # 0xf55c (en: 'six', google translation)
+ - "𝟼": [T: "seis"] # 0x1d7fc (en: 'six', google translation)
+ - "": [T: "siete"] # 0xf55d (en: 'seven', google translation)
+ - "𝟽": [T: "siete"] # 0x1d7fd (en: 'seven', google translation)
+ - "": [T: "ocho"] # 0xf55e (en: 'eight', google translation)
+ - "𝟾": [T: "ocho"] # 0x1d7fe (en: 'eight', google translation)
+ - "": [T: "nueve"] # 0xf55f (en: 'nine', google translation)
+ - "𝟿": [T: "nueve"] # 0x1d7ff (en: 'nine', google translation)
+ - "": [T: "carácter desconocido"] # 0xf700 (en: 'unknown character', google translation)
+ - "": [T: "triángulos inferior derecho e inferior izquierdo"] # 0xf726 (en: 'lower right and lower left triangles', google translation)
+ - "": [T: "extensor de puntos suspensivos horizontales"] # 0xf72d (en: 'horizontal ellipsis extender', google translation)
+ - "": [T: "extensor de puntos suspensivos de línea media horizontal"] # 0xf72e (en: 'midline horizontal ellipsis extender', google translation)
+ - "": [T: "extensor radical"] # 0xf8e5 (en: 'radical extender', google translation)
+ - "": [T: "extensor de flecha vertical"] # 0xf8e6 (en: 'vertical arrow extender', google translation)
+ - "": [T: "extensor de flecha horizontal"] # 0xf8e7 (en: 'horizontal arrow extender', google translation)
+ - "": [T: "señal registrada sans serif"] # 0xf8e8 (en: 'registered sign sans serif', google translation)
+ - "": [T: "copyright sign sans serif"] # 0xf8e9 (google translation)
+ - "": [T: "signo de marca comercial sans serif"] # 0xf8ea (en: 'trade mark sign sans serif', google translation)
+ - "": [T: "paréntesis superior izquierdo"] # 0xf8eb (en: 'left paren top', google translation)
+ - "": [T: "extensor de paréntesis izquierdo"] # 0xf8ec (en: 'left paren extender', google translation)
+ - "": [T: "paréntesis izquierdo inferior"] # 0xf8ed (en: 'left paren bottom', google translation)
+ - "": [T: "soporte izquierdo superior"] # 0xf8ee (en: 'left bracket top', google translation)
+ - "": [T: "extensor de soporte izquierdo"] # 0xf8ef (en: 'left bracket extender', google translation)
+ - "": [T: "soporte izquierdo inferior"] # 0xf8f0 (en: 'left bracket bottom', google translation)
+ - "": [T: "soporte izquierdo superior"] # 0xf8f1 (en: 'left brace top', google translation)
+ - "": [T: "soporte izquierdo medio"] # 0xf8f2 (en: 'left brace mid', google translation)
+ - "": [T: "soporte izquierdo inferior"] # 0xf8f3 (en: 'left brace bottom', google translation)
+ - "": [T: "extensor de soporte"] # 0xf8f4 (en: 'brace extender', google translation)
+ - "": [T: "extensor integral"] # 0xf8f5 (en: 'integral extender', google translation)
+ - "": [T: "paréntesis superior derecho"] # 0xf8f6 (en: 'right paren top', google translation)
+ - "": [T: "extensor de paréntesis derecho"] # 0xf8f7 (en: 'right paren extender', google translation)
+ - "": [T: "paréntesis inferior derecho"] # 0xf8f8 (en: 'right paren bottom', google translation)
+ - "": [T: "soporte derecho superior"] # 0xf8f9 (en: 'right bracket top', google translation)
+ - "": [T: "extensor de soporte derecho"] # 0xf8fa (en: 'right bracket extender', google translation)
+ - "": [T: "soporte derecho inferior"] # 0xf8fc (en: 'right brace top', google translation)
+ - "": [T: "soporte derecho medio"] # 0xf8fd (en: 'right brace mid', google translation)
+ - "": [T: "soporte derecho inferior"] # 0xf8fe (en: 'right brace bottom', google translation)
+ - "": [T: "logotipo de apple"] # 0xf8ff (en: 'apple logo', google translation)
+ - "ff": [T: "ff ligadas"] # 0xfb00 (en: 'ff', google: 'ff')
+ - "fi": [T: "fi ligadas"] # 0xfb01 (en: 'fi', google: 'f')
+ - "fl": [T: "fl ligadas"] # 0xfb02 (en: 'fl', google: 'florida')
+ - "ffi": [T: "ffl ligadas"] # 0xfb04 (en: 'ffl', google: 'ffl')
+ - "ſt": [T: "pie"] # 0xfb05 (en: 'ft', google translation)
+ - "st": [T: "calle"] # 0xfb06 (en: 'st', google translation)
+ - "︠": [T: "mitad de ornamentación izquierda en ligadura"] # 0xfe20 (en: 'ligature left half embellishment', google translation)
+ - "︡": [T: "mitad de ornamentación derecha en ligadura"] # 0xfe21 (en: 'ligature right half embellishment', google translation)
+ - "︢": [T: "doble tilde con media ornamentación izquierda"] # 0xfe22 (en: 'double tilde left half embellishment', google translation)
+ - "︣": [T: "doble tilde medio adorno"] # 0xfe23 (en: 'double tilde right half embellishment', google translation)
+ - "︤": [T: "macron dejó medio adorno"] # 0xfe24 (en: 'macron left half embellishment', google translation)
+ - "︥": [T: "macron medio adorno"] # 0xfe25 (en: 'macron right half embellishment', google translation)
+ - "︦": [T: "unir el adorno de macron"] # 0xfe26 (en: 'conjoining macron embellishment', google translation)
+ - "︵": [T: "paréntesis superior"] # 0xfe35 (en: 'over paren')
+ - "︶": [T: "paréntesis inferior"] # 0xfe36 (en: 'under paren')
+ - "︷": [T: "llave superior"] # 0xfe37 (en: 'over brace')
+ - "︸": [T: "llave inferior"] # 0xfe38 (en: 'under brace')
+ - "︿": [T: "paréntesis angular superior"] # 0xfe3f (en: 'over angle bracket')
+ - "﹀": [T: "paréntesis angular inferior"] # 0xfe40 (en: 'under angle bracket')
+ - "﹨": [T: "división entera"] # 0xfe68 (en: 'integer divide')
+ - "": [T: "objeto desconocido o faltante"] # 0xfffc (en: 'unknown or missing object', google translation)
+ - "�": [T: "caracter desconocido o faltante"] # 0xfffd (en: 'unknown or missing character', google: 'personaje desconocido o faltante')
+
diff --git a/Rules/Languages/es/unicode.yaml b/Rules/Languages/es/unicode.yaml
index dd7119ada..545b70516 100644
--- a/Rules/Languages/es/unicode.yaml
+++ b/Rules/Languages/es/unicode.yaml
@@ -1,466 +1,466 @@
----
- # Note to translators:
- # most languages don't have two ways to pronounce 'a' -- if not need, remove the rules and change "B-Z" to "A-Z"
- # some languages say the word for "uppercase" after the letter. Make sure to change that where appropriate by moving some code around
- - "a-z":
- - test:
- if: "$TTS='none'"
- then: [T: "."]
- else: [spell: "'.'"]
- - "A-Z":
- - 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: "mayúscula"] # (en: 'cap', google translation)
- else: [x: "$SpeechOverrides_CapitalLetters"]
- - pitch:
- value: "$CapitalLetters_Pitch"
- # note: processing of ranges converts '.' into the character, so it needs to be in quotes below
- replace: [spell: "translate('.', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"]
-
- - "0-9": [T: "."] # (en: '.')
-
- - " ": [t: " "] # 0x20
-
- - "!": [T: "factorial"] # 0x21
- - "\"": [T: "barra inversa"] # 0x22 (en: 'quotation mark')
- - "#": [T: "almohadilla"] # 0x23 (en: 'number', MathPlayer: 'signo de número', google: 'número')
- - "$": [T: "dólar"] # 0x24 (en: 'dollars')
- - "%": [T: "porciento"] # 0x25 (en: 'percent')
- - "&": [T: "ampersand"] # 0x26
- - "'": [T: "apóstrofo"] # 0x27 (en: 'apostrophe', MathPlayer: 'apóstrofo', google: 'apóstrofe')
- - "(": # 0x28
- - test:
- if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
- then_test:
- if: "$Verbosity='Terse'"
- then: [T: "abrir paréntesis"] # (en: 'open', google translation)
- else: [T: "se abren paréntesis"] # (en: 'open paren', MathPlayer: 'paréntesis', google: 'paréntesis abierto')
- else: [T: "se abren paréntesis"] # (en: 'left paren', MathPlayer: 'paréntesis', google: 'paréntesis dejado')
- - ")": # 0x29
- - test:
- if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
- then_test:
- if: "$Verbosity='Terse'"
- then: [T: "cerrar paréntesis"] # (en: 'close', google translation)
- else: [T: "se cierran paréntesis"] # (en: 'close paren', MathPlayer: 'cierra paréntesis', google: 'paréntesis cercana')
- else: [T: "se cierran paréntesis"] # (en: 'right paren', MathPlayer: 'cierra paréntesis')
-
- - "*": # 0x2a
- test:
- if: "parent::*[name(.)='msup' or name(.)='msubsup']"
- then: [T: "estrella"] # (en: 'star', google translation)
- else: [T: "por"] # (en: 'times')
- - "+": [T: "más"] # 0x2b (en: 'plus')
- - ",": # 0x2c
- # the following deals with the interaction of "," with "…" which sometimes wants the ',' to be silent
- # that this test is here and not with "…" is not ideal, but seems simplest
- test:
- if:
- - "$SpeechStyle != 'ClearSpeak' or $ClearSpeak_Ellipses = 'Auto' or "
- # must be ClearSpeak and $ClearSpeak_Ellipses = 'AndSoOn'
- # speak "comma" when not adjacent to '…'
- - "( following-sibling::*[1][text()!= '…'] and preceding-sibling::*[1][text()!='…'] ) or "
- # except if expression starts with '…'
- - "../*[1][.='…'] "
- then:
- - T: "coma" # (en: 'comma', google translation)
- - test:
- if: "$Verbosity != Terse"
- then: [pause: short]
- # else silent
-
- - "-": [T: "menos"] # 0x2d (en: 'minus')
- - ".": # 0x2e
- - test:
- if: "parent::*[1][self::m:mn]"
- then: [T: "punto"] # (en: 'point', google translation)
- else: [T: "punto"] # (en: 'dot')
- - "/": [T: "barra oblicua"] # 0x2f (en: 'divided by')
- - ":": [T: "dos puntos"] # 0x3a (en: 'colon')
- - ";": [T: "punto y coma"] # 0x3b (en: 'semicolon')
- - "<": # 0x3c
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "menor que" # (en: 'less than')
- - "=": # 0x3d
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es igual a"] # (en: 'is equal to', google translation)
- else: [T: "igual a"] # (en: 'equals', google: 'iguales')
-
- - ">": # 0x3e
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "mayor que" # (en: 'greater than')
- - "?": [T: "interrogación derecha"] # 0x3f (en: 'question mark', MathPlayer: 'cierra interrogación', google: 'signo de interrogación')
- - "@": [T: "arroba"] # 0x40 (en: 'at sign')
- - "[": # 0x5b
- - test:
- if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
- then: [T: "abrir corchetes"] # (en: 'open bracket', google translation)
- else: [T: "se abren corchetes"] # (en: 'left bracket', MathPlayer: 'abre corchetes', google: 'soporte izquierdo')
- - "\\": [T: "se abren corchetes"] # 0x5c (en: 'back slash', MathPlayer: 'abre corchetes', google: 'back slash')
- - "]": # 0x5d
- - test:
- if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
- then: [T: "cerrar corchetes"] # (en: 'close bracket', google translation)
- else: [T: "se cierran corchetes"] # (en: 'right bracket', MathPlayer: 'cierra corchetes', google: 'soporte derecho')
- - "^": [T: "acento circunflejo"] # 0x5e (en: 'hat')
- - "_": [T: "subrayado"] # 0x5f (en: 'under bar')
- - "`": [T: "acento grave"] # 0x60 (en: 'grave')
- - "{": # 0x7b
- - test:
- if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
- then: [T: "abrir llaves"] # (en: 'open brace', google translation)
- else: [T: "se abren llaves"] # (en: 'left brace', MathPlayer: 'abre llaves', google: 'abrazadera izquierda')
- - "|": # 0x7c
- # note: for ClearSpeak and SimpleSpeak, "|" inside of sets is handled at the mrow level, same for 'sets'
- - test:
- - if: "$SpeechStyle != 'ClearSpeak' or not(preceding-sibling::*) or not(following-sibling::*)"
- then: [T: "barra vertical"] # (en: 'vertical line', google translation)
- - else_if: "$ClearSpeak_VerticalLine = 'SuchThat'"
- then: [T: "tal que"] # (en: 'such that', google translation)
- - else_if: "$ClearSpeak_VerticalLine = 'Given'"
- then: [T: "dado"] # (en: 'given', google translation)
- - else: [T: "barra vertical"] # (en: 'divides')
-
- - "}": # 0x7d
- - test:
- if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
- then: [T: "cerrar llaves"] # (en: 'close brace', google translation)
- else: [T: "se cierran llaves"] # (en: 'right brace', MathPlayer: 'cierra llaves', google: 'abrazadera derecha')
-
- - "~": [T: "tilde"] # 0x7e
- - " ": # 0xa0
- - test:
- if: "@data-empty-in-2D"
- then: [T: "vacío"] # want to say something for fraction (etc) with empty child (en: 'empty', google translation)
- else: [T: ""]
-
- - "¢": [T: "centavo"] # 0xa2 (en: 'cents')
- - "£": [T: "libra esterlina"] # 0xa3 (en: 'pounds')
- - "¬": [T: "no"] # 0xac (en: 'not')
- - "°": [T: "grado"] # 0xb0 (en: 'degrees')
- - "±": [T: "más menos"] # 0xb1 (en: 'plus or minus')
- - "´": [T: "acento agudo"] # 0xb4 (en: 'acute')
- - "·": # 0xB7
- - test:
- if: "$SpeechStyle != 'ClearSpeak' or $ClearSpeak_MultSymbolDot = 'Auto'"
- then_test:
- if: "$Verbosity = 'Verbose'"
- then: [T: "multiplicado por"] # (en: 'times', google translation)
- else: [T: "por"]
- else: [T: "punto medio"] # (en: 'dot')
- - "×": # 0xd7
- - test:
- if: "$Verbosity = 'Verbose'"
- then: [T: "multiplicado por"] # (en: 'times', google translation)
- else: [T: "por"]
- - "÷": [T: "dividido por"] # 0xf7 (en: 'divided by')
- - "̀": [T: "acento grave ornamentado"] # 0x300 (en: 'grave accent embellishment', google: 'embellido de acento grave')
- - "́": [T: "acento agudo ornamentado"] # 0x301 (en: 'acute accent embellishment', google: 'embellido de acento agudo')
- - "̂": [T: "acento circunflejo ornamentado"] # 0x302 (en: 'circumflex accent embellishment', google: 'embellamiento del acento circunflejo')
- - "̃": [T: "tilde ornamentada"] # 0x303 (en: 'tilde embellishment', google: 'tilde adorno')
- - "̄": [T: "barra ornamentada"] # 0x304 (en: 'macron embellishment', google: 'embellido de macron')
- - "̅": [T: "barra encima con adorno"] # 0x305 (en: 'overbar embellishment', google: 'embellido de overbar')
- - "̆": [T: "breve"] # 0x306
- - "̇": [T: "punto encima con adorno"] # 0x307 (en: 'dot above embellishment', google: 'punto por encima del adorno')
-
- # Note: ClearSpeak has pref TriangleSymbol for "Δ", but that is wrong
- - "Α-Ω":
- - 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: "mayúscula"] # (en: 'cap', google translation)
- else: [x: "$SpeechOverrides_CapitalLetters"]
- - pitch:
- value: "$CapitalLetters_Pitch"
- # note: processing of ranges converts '.' into the character, so it needs to be in quotes below
- replace: [spell: "translate('.', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ', 'αβγδεζηθικλμνξοπρςστυφχψω')"]
-
- - "α": [T: "alfa"] # 0x3b1 (en: 'alpha')
- - "β": [T: "beta"] # 0x3b2
- - "γ": [T: "gamma"] # 0x3b3 (google: 'gama')
- - "δ": [T: "delta"] # 0x3b4
- - "ε": [T: "épsilon"] # 0x3b5 (en: 'epsilon', google: 'epsilon')
- - "ζ": [T: "zeta"] # 0x3b6
- - "η": [T: "eta"] # 0x3b7
- - "θ": [T: "theta"] # 0x3b8
- - "ι": [T: "iota"] # 0x3b9
- - "κ": [T: "kappa"] # 0x3ba
- - "λ": [T: "lambda"] # 0x3bb
- - "μ": [T: "my"] # 0x3bc (en: 'mu', google: 'mu')
- - "ν": [T: "ny"] # 0x3bd (en: 'nu', google: 'nu')
- - "ξ": [T: "xi"] # 0x3be (en: 'zai', google: 'zai')
- - "ο": [T: "ómicron"] # 0x3bf (en: 'omicron', google: 'omicron')
- - "π": [T: "pi"] # 0x3c0
- - "ρ": [T: "rho"] # 0x3c1
- - "ς": [T: "sigma final"] # 0x3c2 (en: 'final sigma', google: 'final sigma')
- - "σ": [T: "sigma"] # 0x3c3
- - "τ": [T: "tau"] # 0x3c4
- - "υ": [T: "ípsilon"] # 0x3c5 (en: 'upsilon', google: 'upsilon')
- - "φ": [T: "phi"] # 0x3c6 (google: 'fi')
- - "χ": [T: "ji"] # 0x3c7 (en: 'chi', google: 'chi')
- - "ψ": [T: "psi"] # 0x3c8
- - "ω": [T: "omega"] # 0x3c9
- - "ϕ": [T: "phi recta"] # 0x3d5 (en: 'phi', google: 'fi')
- - "ϖ": [T: "variante de pi"] # 0x3d6 (en: 'pi', google: 'pi')
- - "ϵ": [T: "variante de épsilon"] # 0x3f5 (en: 'epsilon', google: 'epsilon')
- - "϶": [T: "épsilon invertida"] # 0x3f6 (en: 'reversed epsilon')
-
- - "": [T: ""] # 0x2062
- - "ℂℕℚℝℤ": # here we rely on this running through the table again to speak "cap xxx"
- - T: "prima inversa" # (en: 'double-struck', google: 'doble golpe')
- - spell: "translate('.', 'ℂℕℚℝℤ', 'CNQRZ')"
-
- - "℃": [T: "grados Celsius"] # 0x2103 (en: 'degrees celsius', google: 'grados celsius')
- - "ℋℛℓ": # 0x210b
- - T: "grados Fahrenheit" # (en: 'script', google: 'guion')
- - spell: "translate('.', 'ℋℛℓ', 'HRl')"
- - "ℜ": # 0x211c
- - T: "r mayúscula partida" # (en: 'fraktur', google: 'fraktur')
- - spell: "'R'"
-
- - "ⅆⅇⅈⅉ": # 0x2146-9
- - T: "angstrom resaltado" # (en: 'double-struck italic')
- - spell: "translate('.', 'ⅆⅇⅈⅉ', 'deij')"
-
- - "∥": # 0x2225
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "paralelo a" # (en: 'parallel to')
- - "∦": # 0x2226
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "no paralela a" # (en: 'not parallel to')
- - "≤": # 0x2264
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "menor o igual a"
- - "≥": # 0x2265
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "mayor o igual a" # (en: 'greater than or equal to')
-
- # --- restored complex short definitions (prefer over unicode-full) ---
- - "…": # 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: "puntos suspensivos"] # (en: 'dot dot dot', google translation)
- else_test: # must have $ClearSpeak_Ellipses = 'AndSoOn'
- if: "count(following-sibling::*) = 0"
- then: [T: "etcétera"] # (en: 'and so on', google translation)
- else: [T: "puntos suspensivos"] # (en: 'and so on up to', MathPlayer: 'punto punteado punteado', google: 'y así sucesivamente')
- - "": # 0x2061
- - test:
- # skip saying "of" when Terse and a trig function, when it is a shape (does this happen?), or we are in :literal mode
- if: "not(
- ( $Verbosity='Terse' or ($SpeechStyle = 'ClearSpeak' and IsNode(following-sibling::*[1],'simple')) and
- preceding-sibling::*[1][IfThenElse($SpeechStyle='ClearSpeak',
- IsInDefinition(., 'ClearSpeakTrigFunctionNames'),
- IsInDefinition(., 'TrigFunctionNames') )]
- ) or
- preceding-sibling::*[1][IsInDefinition(., 'GeometryShapes')] or
- (@data-changed='added' and ancestor-or-self::*[contains(@data-intent-property, ':literal:')])
- )"
- then: [T: "de"] # (en: 'of', google translation)
- - "→": # 0x2192
- - test:
- if: "ancestor::*[2][self::m:limit]"
- then: [T: "aproximaciones"] # (en: 'approaches', google translation)
- else: [T: "flecha derecha"] # (en: 'right arrow', MathPlayer: 'flecha', google: 'flecha correcta')
- - "∂": # 0x2202
- - test:
- if: "$Verbosity='Terse'"
- then: [T: "parcial"] # (en: 'partial', google translation)
- else: [T: "derivada parcial"] # (en: 'partial derivative')
- - "∆": # 0x2206
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "el"] # (en: 'the', google translation)
- - T: "incremento" # (en: 'laplacian of')
- - "∈": # 0x2208
- - test:
- if: "$SpeechStyle != 'ClearSpeak'"
- then: [T: "un elemento de"] # (en: 'an element of', google translation)
- # 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
- then_test:
- - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'In'
- then: [T: "en"] # (en: 'in', google translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'Member'
- then: [T: "miembro de"] # (en: 'member of', google translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
- then: [T: "elemento de"] # (en: 'element of', google translation)
- - else: [T: "pertenece a"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'belonging to')
- else_test:
- - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'Member'
- then: [T: "es miembro de"] # (en: 'is a member of', google translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
- then: [T: "es un elemento de"] # (en: 'is an element of', google translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'In'
- then: [T: "está en"] # (en: 'is in', google translation)
- - else: [T: "pertenece a"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'belongs to')
- - "∉": # 0x2209
- # rule is identical to 0x2208
- - test:
- if: "$SpeechStyle != 'ClearSpeak'"
- then: [T: "no es un elemento de"] # (en: 'is not an element of', google translation)
- # 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
- then_test:
- - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'In'
- then: [T: "no está en"] # (en: 'not in', google translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'Member'
- then: [T: "no es miembro de"] # (en: 'not member of', google translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
- then: [T: "no es un elemento de"] # (en: 'not element of', google translation)
- - else: [T: "no pertenece a"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'not belonging to')
- else_test:
- - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'Member'
- then: [T: "no es miembro de"] # (en: 'is not a member of', google translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
- then: [T: "no es un elemento de"] # (en: 'is not an element of', google translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'In'
- then: [T: "no está incluido en"] # (en: 'is not in', google translation)
- - else: [T: "no pertenece a"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'does not belong to')
- - "∊": # 0x220a
- - test:
- if: "$SpeechStyle != 'ClearSpeak'"
- then: [T: "es un elemento de"] # (en: 'is an element of', google translation)
- # 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
- then_test:
- - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'In'
- then: [T: "en"] # (en: 'in', google translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'Member'
- then: [T: "miembro de"] # (en: 'member of', google translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
- then: [T: "elemento de"] # (en: 'element of', google translation)
- - else: [T: "pertenece a"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'belonging to')
- else_test:
- - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'Member'
- then: [T: "es miembro de"] # (en: 'is a member of', google translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
- then: [T: "es un elemento de"] # (en: 'is an element of', google translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'In'
- then: [T: "está en"] # (en: 'is in', google translation)
- - else: [T: "pertenece a"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'belongs to')
- - "√": # 0x221a
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "el"] # (en: 'the', google translation)
- - T: "raíz cuadrada de" # (en: 'square root of')
- - "∝": # 0x221d
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "proporcional a" # (en: 'proportional to')
- - "∶": # 0x2236
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "a" # (en: 'to')
- - "∾": # 0x223e
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "más positivo" # (en: 'most positive')
- - "≠": # 0x2260
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "no es igual a" # (en: 'not equal to', MathPlayer: 'distinto de', google: 'no igual a')
- - "≡": # 0x2261
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "idéntico a" # (en: 'identical to')
- - "⊂": # 0x2282
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es un"] # (en: 'is a', google translation)
- - T: "subconjunto de" # (en: 'subset of')
- - "⊃": # 0x2283
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es un"] # (en: 'is a', google translation)
- - T: "superconjunto de" # (en: 'superset of')
- - "⊄": # 0x2284
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "no es un subconjunto de" # (en: 'not a subset of')
- - "⊅": # 0x2285
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es"] # (en: 'is', google translation)
- - T: "no esun superconjunto de" # (en: 'not a superset of')
- - "⊆": # 0x2286
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es un"] # (en: 'is a', google translation)
- - T: "subconjunto o igual a" # (en: 'subset of or equal to')
- - "⊇": # 0x2287
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "es un"] # (en: 'is a', google translation)
- - T: "superconjunto o igual a" # (en: 'superset of or equal to')
-
- # --- restored short definitions that differ from unicode-full ---
- - "–": [T: "ene raya"] # 0x2013 (en: 'en dash')
- - "—": [T: "eme raya"] # 0x2014 (en: 'em dash')
- - "‖": [T: "barra vertical doble"] # 0x2016 (en: 'double vertical line')
- - "″": [T: "segunda"] # 0x2033 (en: 'double prime', MathPlayer: 'segunda', google: 'doble primo')
- - "‴": [T: "tercera"] # 0x2034 (en: 'triple prime', MathPlayer: 'tercera', google: 'triple prime')
- - "‵": [T: "prima inversa"] # 0x2035 (en: 'reversed prime')
- - "‶": [T: "segunda inversa"] # 0x2036 (en: 'reversed double prime')
- - "‷": [T: "tercera inversa"] # 0x2037 (en: 'reversed triple prime', google: 'triple prime invertido')
- - "℉": [T: "grados Fahrenheit"] # 0x2109 (en: 'degrees fahrenheit')
- - "ℎ": [T: "constante de Planck"] # 0x210e (en: 'planck constant', MathPlayer: 'constante de Planck', google: 'planck constante')
- - "K": [T: "grados Kelvin"] # 0x212a (en: 'kelvin')
- - "←": [T: "flecha izquierda"] # 0x2190 (en: 'leftwards arrow')
- - "↑": [T: "flecha arriba"] # 0x2191 (en: 'upwards arrow')
- - "↓": [T: "flecha abajo"] # 0x2193 (en: 'downwards arrow')
- - "⇒": [T: "flecha doble derecha"] # 0x21d2 (en: 'rightwards double arrow')
- - "∘": [T: "compuesto"] # 0x2218 (en: 'composed with')
- - "∣": [T: "divisible"] # 0x2223 (en: 'divides')
- - "∤": [T: "indivisible"] # 0x2224 (en: 'does not divide')
- - "∷": [T: "como"] # 0x2237 (en: 'as')
- - "∼": [T: "distinto de"] # 0x223c (en: 'varies with')
- - "∽": [T: "tilde inversa"] # 0x223d (en: 'reversed tilde')
- - "∿": [T: "onda sinusoidal"] # 0x223f (en: 'sine wave')
- - "≦": [T: "menor o igual a"] # 0x2266 (en: 'less than over equal to')
- - "≧": [T: "mayor o igual a"] # 0x2267 (en: 'greater than over equal to')
+---
+ # Note to translators:
+ # most languages don't have two ways to pronounce 'a' -- if not need, remove the rules and change "B-Z" to "A-Z"
+ # some languages say the word for "uppercase" after the letter. Make sure to change that where appropriate by moving some code around
+ - "a-z":
+ - test:
+ if: "$TTS='none'"
+ then: [T: "."]
+ else: [spell: "'.'"]
+ - "A-Z":
+ - 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: "mayúscula"] # (en: 'cap', google translation)
+ else: [x: "$SpeechOverrides_CapitalLetters"]
+ - pitch:
+ value: "$CapitalLetters_Pitch"
+ # note: processing of ranges converts '.' into the character, so it needs to be in quotes below
+ replace: [spell: "translate('.', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"]
+
+ - "0-9": [T: "."] # (en: '.')
+
+ - " ": [t: " "] # 0x20
+
+ - "!": [T: "factorial"] # 0x21
+ - "\"": [T: "barra inversa"] # 0x22 (en: 'quotation mark')
+ - "#": [T: "almohadilla"] # 0x23 (en: 'number', MathPlayer: 'signo de número', google: 'número')
+ - "$": [T: "dólar"] # 0x24 (en: 'dollars')
+ - "%": [T: "porciento"] # 0x25 (en: 'percent')
+ - "&": [T: "ampersand"] # 0x26
+ - "'": [T: "apóstrofo"] # 0x27 (en: 'apostrophe', MathPlayer: 'apóstrofo', google: 'apóstrofe')
+ - "(": # 0x28
+ - test:
+ if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
+ then_test:
+ if: "$Verbosity='Terse'"
+ then: [T: "abrir paréntesis"] # (en: 'open', google translation)
+ else: [T: "se abren paréntesis"] # (en: 'open paren', MathPlayer: 'paréntesis', google: 'paréntesis abierto')
+ else: [T: "se abren paréntesis"] # (en: 'left paren', MathPlayer: 'paréntesis', google: 'paréntesis dejado')
+ - ")": # 0x29
+ - test:
+ if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
+ then_test:
+ if: "$Verbosity='Terse'"
+ then: [T: "cerrar paréntesis"] # (en: 'close', google translation)
+ else: [T: "se cierran paréntesis"] # (en: 'close paren', MathPlayer: 'cierra paréntesis', google: 'paréntesis cercana')
+ else: [T: "se cierran paréntesis"] # (en: 'right paren', MathPlayer: 'cierra paréntesis')
+
+ - "*": # 0x2a
+ test:
+ if: "parent::*[name(.)='msup' or name(.)='msubsup']"
+ then: [T: "estrella"] # (en: 'star', google translation)
+ else: [T: "por"] # (en: 'times')
+ - "+": [T: "más"] # 0x2b (en: 'plus')
+ - ",": # 0x2c
+ # the following deals with the interaction of "," with "…" which sometimes wants the ',' to be silent
+ # that this test is here and not with "…" is not ideal, but seems simplest
+ test:
+ if:
+ - "$SpeechStyle != 'ClearSpeak' or $ClearSpeak_Ellipses = 'Auto' or "
+ # must be ClearSpeak and $ClearSpeak_Ellipses = 'AndSoOn'
+ # speak "comma" when not adjacent to '…'
+ - "( following-sibling::*[1][text()!= '…'] and preceding-sibling::*[1][text()!='…'] ) or "
+ # except if expression starts with '…'
+ - "../*[1][.='…'] "
+ then:
+ - T: "coma" # (en: 'comma', google translation)
+ - test:
+ if: "$Verbosity != Terse"
+ then: [pause: short]
+ # else silent
+
+ - "-": [T: "menos"] # 0x2d (en: 'minus')
+ - ".": # 0x2e
+ - test:
+ if: "parent::*[1][self::m:mn]"
+ then: [T: "punto"] # (en: 'point', google translation)
+ else: [T: "punto"] # (en: 'dot')
+ - "/": [T: "barra oblicua"] # 0x2f (en: 'divided by')
+ - ":": [T: "dos puntos"] # 0x3a (en: 'colon')
+ - ";": [T: "punto y coma"] # 0x3b (en: 'semicolon')
+ - "<": # 0x3c
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "menor que" # (en: 'less than')
+ - "=": # 0x3d
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es igual a"] # (en: 'is equal to', google translation)
+ else: [T: "igual a"] # (en: 'equals', google: 'iguales')
+
+ - ">": # 0x3e
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "mayor que" # (en: 'greater than')
+ - "?": [T: "interrogación derecha"] # 0x3f (en: 'question mark', MathPlayer: 'cierra interrogación', google: 'signo de interrogación')
+ - "@": [T: "arroba"] # 0x40 (en: 'at sign')
+ - "[": # 0x5b
+ - test:
+ if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
+ then: [T: "abrir corchetes"] # (en: 'open bracket', google translation)
+ else: [T: "se abren corchetes"] # (en: 'left bracket', MathPlayer: 'abre corchetes', google: 'soporte izquierdo')
+ - "\\": [T: "se abren corchetes"] # 0x5c (en: 'back slash', MathPlayer: 'abre corchetes', google: 'back slash')
+ - "]": # 0x5d
+ - test:
+ if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
+ then: [T: "cerrar corchetes"] # (en: 'close bracket', google translation)
+ else: [T: "se cierran corchetes"] # (en: 'right bracket', MathPlayer: 'cierra corchetes', google: 'soporte derecho')
+ - "^": [T: "acento circunflejo"] # 0x5e (en: 'hat')
+ - "_": [T: "subrayado"] # 0x5f (en: 'under bar')
+ - "`": [T: "acento grave"] # 0x60 (en: 'grave')
+ - "{": # 0x7b
+ - test:
+ if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
+ then: [T: "abrir llaves"] # (en: 'open brace', google translation)
+ else: [T: "se abren llaves"] # (en: 'left brace', MathPlayer: 'abre llaves', google: 'abrazadera izquierda')
+ - "|": # 0x7c
+ # note: for ClearSpeak and SimpleSpeak, "|" inside of sets is handled at the mrow level, same for 'sets'
+ - test:
+ - if: "$SpeechStyle != 'ClearSpeak' or not(preceding-sibling::*) or not(following-sibling::*)"
+ then: [T: "barra vertical"] # (en: 'vertical line', google translation)
+ - else_if: "$ClearSpeak_VerticalLine = 'SuchThat'"
+ then: [T: "tal que"] # (en: 'such that', google translation)
+ - else_if: "$ClearSpeak_VerticalLine = 'Given'"
+ then: [T: "dado"] # (en: 'given', google translation)
+ - else: [T: "barra vertical"] # (en: 'divides')
+
+ - "}": # 0x7d
+ - test:
+ if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
+ then: [T: "cerrar llaves"] # (en: 'close brace', google translation)
+ else: [T: "se cierran llaves"] # (en: 'right brace', MathPlayer: 'cierra llaves', google: 'abrazadera derecha')
+
+ - "~": [T: "tilde"] # 0x7e
+ - " ": # 0xa0
+ - test:
+ if: "@data-empty-in-2D"
+ then: [T: "vacío"] # want to say something for fraction (etc) with empty child (en: 'empty', google translation)
+ else: [T: ""]
+
+ - "¢": [T: "centavo"] # 0xa2 (en: 'cents')
+ - "£": [T: "libra esterlina"] # 0xa3 (en: 'pounds')
+ - "¬": [T: "no"] # 0xac (en: 'not')
+ - "°": [T: "grado"] # 0xb0 (en: 'degrees')
+ - "±": [T: "más menos"] # 0xb1 (en: 'plus or minus')
+ - "´": [T: "acento agudo"] # 0xb4 (en: 'acute')
+ - "·": # 0xB7
+ - test:
+ if: "$SpeechStyle != 'ClearSpeak' or $ClearSpeak_MultSymbolDot = 'Auto'"
+ then_test:
+ if: "$Verbosity = 'Verbose'"
+ then: [T: "multiplicado por"] # (en: 'times', google translation)
+ else: [T: "por"]
+ else: [T: "punto medio"] # (en: 'dot')
+ - "×": # 0xd7
+ - test:
+ if: "$Verbosity = 'Verbose'"
+ then: [T: "multiplicado por"] # (en: 'times', google translation)
+ else: [T: "por"]
+ - "÷": [T: "dividido por"] # 0xf7 (en: 'divided by')
+ - "̀": [T: "acento grave ornamentado"] # 0x300 (en: 'grave accent embellishment', google: 'embellido de acento grave')
+ - "́": [T: "acento agudo ornamentado"] # 0x301 (en: 'acute accent embellishment', google: 'embellido de acento agudo')
+ - "̂": [T: "acento circunflejo ornamentado"] # 0x302 (en: 'circumflex accent embellishment', google: 'embellamiento del acento circunflejo')
+ - "̃": [T: "tilde ornamentada"] # 0x303 (en: 'tilde embellishment', google: 'tilde adorno')
+ - "̄": [T: "barra ornamentada"] # 0x304 (en: 'macron embellishment', google: 'embellido de macron')
+ - "̅": [T: "barra encima con adorno"] # 0x305 (en: 'overbar embellishment', google: 'embellido de overbar')
+ - "̆": [T: "breve"] # 0x306
+ - "̇": [T: "punto encima con adorno"] # 0x307 (en: 'dot above embellishment', google: 'punto por encima del adorno')
+
+ # Note: ClearSpeak has pref TriangleSymbol for "Δ", but that is wrong
+ - "Α-Ω":
+ - 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: "mayúscula"] # (en: 'cap', google translation)
+ else: [x: "$SpeechOverrides_CapitalLetters"]
+ - pitch:
+ value: "$CapitalLetters_Pitch"
+ # note: processing of ranges converts '.' into the character, so it needs to be in quotes below
+ replace: [spell: "translate('.', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ', 'αβγδεζηθικλμνξοπρςστυφχψω')"]
+
+ - "α": [T: "alfa"] # 0x3b1 (en: 'alpha')
+ - "β": [T: "beta"] # 0x3b2
+ - "γ": [T: "gamma"] # 0x3b3 (google: 'gama')
+ - "δ": [T: "delta"] # 0x3b4
+ - "ε": [T: "épsilon"] # 0x3b5 (en: 'epsilon', google: 'epsilon')
+ - "ζ": [T: "zeta"] # 0x3b6
+ - "η": [T: "eta"] # 0x3b7
+ - "θ": [T: "theta"] # 0x3b8
+ - "ι": [T: "iota"] # 0x3b9
+ - "κ": [T: "kappa"] # 0x3ba
+ - "λ": [T: "lambda"] # 0x3bb
+ - "μ": [T: "my"] # 0x3bc (en: 'mu', google: 'mu')
+ - "ν": [T: "ny"] # 0x3bd (en: 'nu', google: 'nu')
+ - "ξ": [T: "xi"] # 0x3be (en: 'zai', google: 'zai')
+ - "ο": [T: "ómicron"] # 0x3bf (en: 'omicron', google: 'omicron')
+ - "π": [T: "pi"] # 0x3c0
+ - "ρ": [T: "rho"] # 0x3c1
+ - "ς": [T: "sigma final"] # 0x3c2 (en: 'final sigma', google: 'final sigma')
+ - "σ": [T: "sigma"] # 0x3c3
+ - "τ": [T: "tau"] # 0x3c4
+ - "υ": [T: "ípsilon"] # 0x3c5 (en: 'upsilon', google: 'upsilon')
+ - "φ": [T: "phi"] # 0x3c6 (google: 'fi')
+ - "χ": [T: "ji"] # 0x3c7 (en: 'chi', google: 'chi')
+ - "ψ": [T: "psi"] # 0x3c8
+ - "ω": [T: "omega"] # 0x3c9
+ - "ϕ": [T: "phi recta"] # 0x3d5 (en: 'phi', google: 'fi')
+ - "ϖ": [T: "variante de pi"] # 0x3d6 (en: 'pi', google: 'pi')
+ - "ϵ": [T: "variante de épsilon"] # 0x3f5 (en: 'epsilon', google: 'epsilon')
+ - "϶": [T: "épsilon invertida"] # 0x3f6 (en: 'reversed epsilon')
+
+ - "": [T: ""] # 0x2062
+ - "ℂℕℚℝℤ": # here we rely on this running through the table again to speak "cap xxx"
+ - T: "prima inversa" # (en: 'double-struck', google: 'doble golpe')
+ - spell: "translate('.', 'ℂℕℚℝℤ', 'CNQRZ')"
+
+ - "℃": [T: "grados Celsius"] # 0x2103 (en: 'degrees celsius', google: 'grados celsius')
+ - "ℋℛℓ": # 0x210b
+ - T: "grados Fahrenheit" # (en: 'script', google: 'guion')
+ - spell: "translate('.', 'ℋℛℓ', 'HRl')"
+ - "ℜ": # 0x211c
+ - T: "r mayúscula partida" # (en: 'fraktur', google: 'fraktur')
+ - spell: "'R'"
+
+ - "ⅆⅇⅈⅉ": # 0x2146-9
+ - T: "angstrom resaltado" # (en: 'double-struck italic')
+ - spell: "translate('.', 'ⅆⅇⅈⅉ', 'deij')"
+
+ - "∥": # 0x2225
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "paralelo a" # (en: 'parallel to')
+ - "∦": # 0x2226
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "no paralela a" # (en: 'not parallel to')
+ - "≤": # 0x2264
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "menor o igual a"
+ - "≥": # 0x2265
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "mayor o igual a" # (en: 'greater than or equal to')
+
+ # --- restored complex short definitions (prefer over unicode-full) ---
+ - "…": # 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: "puntos suspensivos"] # (en: 'dot dot dot', google translation)
+ else_test: # must have $ClearSpeak_Ellipses = 'AndSoOn'
+ if: "count(following-sibling::*) = 0"
+ then: [T: "etcétera"] # (en: 'and so on', google translation)
+ else: [T: "puntos suspensivos"] # (en: 'and so on up to', MathPlayer: 'punto punteado punteado', google: 'y así sucesivamente')
+ - "": # 0x2061
+ - test:
+ # skip saying "of" when Terse and a trig function, when it is a shape (does this happen?), or we are in :literal mode
+ if: "not(
+ ( $Verbosity='Terse' or ($SpeechStyle = 'ClearSpeak' and IsNode(following-sibling::*[1],'simple')) and
+ preceding-sibling::*[1][IfThenElse($SpeechStyle='ClearSpeak',
+ IsInDefinition(., 'ClearSpeakTrigFunctionNames'),
+ IsInDefinition(., 'TrigFunctionNames') )]
+ ) or
+ preceding-sibling::*[1][IsInDefinition(., 'GeometryShapes')] or
+ (@data-changed='added' and ancestor-or-self::*[contains(@data-intent-property, ':literal:')])
+ )"
+ then: [T: "de"] # (en: 'of', google translation)
+ - "→": # 0x2192
+ - test:
+ if: "ancestor::*[2][self::m:limit]"
+ then: [T: "aproximaciones"] # (en: 'approaches', google translation)
+ else: [T: "flecha derecha"] # (en: 'right arrow', MathPlayer: 'flecha', google: 'flecha correcta')
+ - "∂": # 0x2202
+ - test:
+ if: "$Verbosity='Terse'"
+ then: [T: "parcial"] # (en: 'partial', google translation)
+ else: [T: "derivada parcial"] # (en: 'partial derivative')
+ - "∆": # 0x2206
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "el"] # (en: 'the', google translation)
+ - T: "incremento" # (en: 'laplacian of')
+ - "∈": # 0x2208
+ - test:
+ if: "$SpeechStyle != 'ClearSpeak'"
+ then: [T: "un elemento de"] # (en: 'an element of', google translation)
+ # 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
+ then_test:
+ - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'In'
+ then: [T: "en"] # (en: 'in', google translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'Member'
+ then: [T: "miembro de"] # (en: 'member of', google translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
+ then: [T: "elemento de"] # (en: 'element of', google translation)
+ - else: [T: "pertenece a"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'belonging to')
+ else_test:
+ - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'Member'
+ then: [T: "es miembro de"] # (en: 'is a member of', google translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
+ then: [T: "es un elemento de"] # (en: 'is an element of', google translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'In'
+ then: [T: "está en"] # (en: 'is in', google translation)
+ - else: [T: "pertenece a"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'belongs to')
+ - "∉": # 0x2209
+ # rule is identical to 0x2208
+ - test:
+ if: "$SpeechStyle != 'ClearSpeak'"
+ then: [T: "no es un elemento de"] # (en: 'is not an element of', google translation)
+ # 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
+ then_test:
+ - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'In'
+ then: [T: "no está en"] # (en: 'not in', google translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'Member'
+ then: [T: "no es miembro de"] # (en: 'not member of', google translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
+ then: [T: "no es un elemento de"] # (en: 'not element of', google translation)
+ - else: [T: "no pertenece a"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'not belonging to')
+ else_test:
+ - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'Member'
+ then: [T: "no es miembro de"] # (en: 'is not a member of', google translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
+ then: [T: "no es un elemento de"] # (en: 'is not an element of', google translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'In'
+ then: [T: "no está incluido en"] # (en: 'is not in', google translation)
+ - else: [T: "no pertenece a"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'does not belong to')
+ - "∊": # 0x220a
+ - test:
+ if: "$SpeechStyle != 'ClearSpeak'"
+ then: [T: "es un elemento de"] # (en: 'is an element of', google translation)
+ # 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
+ then_test:
+ - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'In'
+ then: [T: "en"] # (en: 'in', google translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'Member'
+ then: [T: "miembro de"] # (en: 'member of', google translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
+ then: [T: "elemento de"] # (en: 'element of', google translation)
+ - else: [T: "pertenece a"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'belonging to')
+ else_test:
+ - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'Member'
+ then: [T: "es miembro de"] # (en: 'is a member of', google translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
+ then: [T: "es un elemento de"] # (en: 'is an element of', google translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'In'
+ then: [T: "está en"] # (en: 'is in', google translation)
+ - else: [T: "pertenece a"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'belongs to')
+ - "√": # 0x221a
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "el"] # (en: 'the', google translation)
+ - T: "raíz cuadrada de" # (en: 'square root of')
+ - "∝": # 0x221d
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "proporcional a" # (en: 'proportional to')
+ - "∶": # 0x2236
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "a" # (en: 'to')
+ - "∾": # 0x223e
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "más positivo" # (en: 'most positive')
+ - "≠": # 0x2260
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "no es igual a" # (en: 'not equal to', MathPlayer: 'distinto de', google: 'no igual a')
+ - "≡": # 0x2261
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "idéntico a" # (en: 'identical to')
+ - "⊂": # 0x2282
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es un"] # (en: 'is a', google translation)
+ - T: "subconjunto de" # (en: 'subset of')
+ - "⊃": # 0x2283
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es un"] # (en: 'is a', google translation)
+ - T: "superconjunto de" # (en: 'superset of')
+ - "⊄": # 0x2284
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "no es un subconjunto de" # (en: 'not a subset of')
+ - "⊅": # 0x2285
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es"] # (en: 'is', google translation)
+ - T: "no esun superconjunto de" # (en: 'not a superset of')
+ - "⊆": # 0x2286
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es un"] # (en: 'is a', google translation)
+ - T: "subconjunto o igual a" # (en: 'subset of or equal to')
+ - "⊇": # 0x2287
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "es un"] # (en: 'is a', google translation)
+ - T: "superconjunto o igual a" # (en: 'superset of or equal to')
+
+ # --- restored short definitions that differ from unicode-full ---
+ - "–": [T: "ene raya"] # 0x2013 (en: 'en dash')
+ - "—": [T: "eme raya"] # 0x2014 (en: 'em dash')
+ - "‖": [T: "barra vertical doble"] # 0x2016 (en: 'double vertical line')
+ - "″": [T: "segunda"] # 0x2033 (en: 'double prime', MathPlayer: 'segunda', google: 'doble primo')
+ - "‴": [T: "tercera"] # 0x2034 (en: 'triple prime', MathPlayer: 'tercera', google: 'triple prime')
+ - "‵": [T: "prima inversa"] # 0x2035 (en: 'reversed prime')
+ - "‶": [T: "segunda inversa"] # 0x2036 (en: 'reversed double prime')
+ - "‷": [T: "tercera inversa"] # 0x2037 (en: 'reversed triple prime', google: 'triple prime invertido')
+ - "℉": [T: "grados Fahrenheit"] # 0x2109 (en: 'degrees fahrenheit')
+ - "ℎ": [T: "constante de Planck"] # 0x210e (en: 'planck constant', MathPlayer: 'constante de Planck', google: 'planck constante')
+ - "K": [T: "grados Kelvin"] # 0x212a (en: 'kelvin')
+ - "←": [T: "flecha izquierda"] # 0x2190 (en: 'leftwards arrow')
+ - "↑": [T: "flecha arriba"] # 0x2191 (en: 'upwards arrow')
+ - "↓": [T: "flecha abajo"] # 0x2193 (en: 'downwards arrow')
+ - "⇒": [T: "flecha doble derecha"] # 0x21d2 (en: 'rightwards double arrow')
+ - "∘": [T: "compuesto"] # 0x2218 (en: 'composed with')
+ - "∣": [T: "divisible"] # 0x2223 (en: 'divides')
+ - "∤": [T: "indivisible"] # 0x2224 (en: 'does not divide')
+ - "∷": [T: "como"] # 0x2237 (en: 'as')
+ - "∼": [T: "distinto de"] # 0x223c (en: 'varies with')
+ - "∽": [T: "tilde inversa"] # 0x223d (en: 'reversed tilde')
+ - "∿": [T: "onda sinusoidal"] # 0x223f (en: 'sine wave')
+ - "≦": [T: "menor o igual a"] # 0x2266 (en: 'less than over equal to')
+ - "≧": [T: "mayor o igual a"] # 0x2267 (en: 'greater than over equal to')
diff --git a/Rules/Languages/fi/definitions.yaml b/Rules/Languages/fi/definitions.yaml
index d68062a01..67abe6f23 100644
--- a/Rules/Languages/fi/definitions.yaml
+++ b/Rules/Languages/fi/definitions.yaml
@@ -6,25 +6,94 @@
# name: [ "...", "..." "..." ],
-# If an "intent" is used, the 'terse:medium:verbose' speech for the intent name is given here for a prefix||infix||postfix||function fixity
-# If only one ":" is used, it the first part is used for 'terse' and the second part is used for 'medium' and 'verbose'
-# If no ":"s are used, the same speech is used for all forms
-# If bracketing words make sense, they are separated with ";"s
-# Intent mappings must specify whether they are "prefix", "infix", "postfix", or "function" with an "=" sign
-# If there are multiple fixities (e.g., see transpose), they are separated with "||
-# for readability, spaces can be used around any of the delimiter characters
-# Note: if there are multiple fixities, the first one is used if the fixity is not given in the intent
+# IntentMappings Syntax:
+#
+# This section defines how each "intent" is spoken for various grammatical forms (fixities such as "prefix", "infix", "postfix", and "function"),
+# along with supporting different verbosity levels.
+# The syntax is a little bit complicated, but allows a declarative syntax so you don't have to write as many rules.
+#
+# For each intent, you specify spoken forms for one or more fixities using the syntax below.
+#
+# - Each mapping has the form:
+# "": "= || = || ...",
+# Every alternative must name a fixity and use "="; the fixity requested when speaking selects one.
+#
+# - Separate multiple fixities with "||". Spaces are allowed around any delimiter for readability.
+# - Within a speech string, "|" selects the verbosity form:
+# - one "|" (two forms): the first is 'terse', the second is used for 'medium' and 'verbose'
+# - two "|" (three forms): 'terse', 'medium', 'verbose', in that order
+# - no "|": the same spoken form is used for all verbosity levels
+#
+# - Use semicolons ";" to divide opening; main; closing bracketing words within the name part,
+# where such words make sense (a name with no ";" is just the main phrase).
+# - If an intent has multiple fixities but a definition does not specify one, the first fixity listed is chosen by default.
+#
+# Functions and argument glue (the part after the name):
+# - ":" separates the name/bracketing phrase from the argument-glue options that follow it.
+# - Arity template (two or more ":" options, or one option with ','-separated glue words): the
+# number of glue words implies the arity, and the final argument is preceded by "of".
+# Example: "sum: over: from,to"
+# - 1 arg: "sum of x"
+# - 2 args: "sum over i of x"
+# - 3 args: "sum from i to n of x"
+# If no option matches the argument count, the arguments are separated with "comma".
+# - Binary separator (exactly one ":" option, no commas in it): after "of", that word joins the two args.
+# Example: "quotient": "function=integer part: divided by" → "integer part of x divided by y"
+# If there are not exactly two args, the arguments fall back to "comma".
+# - Paired "ratio-style" (" : | : | ..."): used when every "|"-separated
+# piece is a single "name : glue" pair. Verbosity selects one pair, whose glue is the binary
+# separator described above. Example: "ratio": "function=ratio : to | the ratio : to | the ratio : to"
+#
+# Conceptual grammar (with precedence):
+#
+# IntentMappingsEntry ::= ":" # ":" is the YAML key/value separator
+#
+# ::= ( "||" )*
+#
+# ::= "="
+#
+# ::= "prefix" | "infix" | "postfix" | "function" | "nofix" | "silent"
+#
+# ::= |
+#
+# # Standard form: a name/bracketing part, then ":"-separated argument-glue options.
+# ::= ( ":" )*
+#
+# ::= [ ";" ";" ] # 1 part: name; 3 parts: opening; main; closing
+#
+# ::= [ "|" [ "|" ] ] # terse | medium | verbose
+#
+# ::= # a single glue word, or ","-separated arity words
+#
+# # Paired "ratio-style" form: recognized only when every "|" piece is a single "name : glue" pair.
+# ::= ( "|" )+
+#
+# ::= ":" # the glue contains no ":"
+#
+# ::= text
+#
+# Precedence depends on the form:
+# - Standard: split on ":" first (name vs. argument-glue options), then split each piece on "|"
+# for terse|medium|verbose, and split only the name part on ";" for opening; main; closing.
+# - Paired: split on "|" first into "name : glue" pairs, then verbosity selects one pair.
+#
+# Example:
+# "absolute-value": "function= ; absolute value| the absolute value| the absolute value; end absolute value"
+# "sum": "function=sum: over: from,to"
+# "quotient": "function=integer part: divided by"
+# "ratio": "function=ratio : to | the ratio : to | the ratio : to" # verbosity of name:glue pairs
+#
- IntentMappings: {
"indexed-by": "infix= ; ala; loppu ala",
"modified-variable": "silent= ",
- "say-super": "infix=ylä: yläindeksi: yläindeksi", # used with 'mo' for superscripts (e.g, "<")
+ "say-super": "infix=ylä| yläindeksi| yläindeksi", # used with 'mo' for superscripts (e.g, "<")
"skip-super": "silent=", # used with 'mo' for superscripts (e.g, "*")
"absolute-value": "function= ; itseisarvo; loppu itseisarvo",
"binomial": "infix=binomi; yli; loppu binomi",
- "limit": "prefix=raja-arvo: raja-arvo kun: raja-arvo kun",
- "lim-sup": "prefix=supremum: supremum: supremum",
- "lim-inf": "prefix=infimum: infimum : infimum",
+ "limit": "prefix=raja-arvo| raja-arvo kun| raja-arvo kun",
+ "lim-sup": "prefix=supremum| supremum| supremum",
+ "lim-inf": "prefix=infimum| infimum | infimum",
"logarithm-with-base": "prefix=log kanta",
"minus": "infix=miinus || prefix=negatiivinen",
"plus": "infix=plus || prefix=positiivinen",
@@ -36,12 +105,12 @@
"homomorphism": "function= ; homomorfismi; loppu homomorfismi",
"kernel": "function= ; ydin; loppu ydin",
"vector": "function= ; vektori || prefix=vektori",
- "cross-product": "infix=risti: ristitulo: ristitulo",
- "dot-product": "infix=piste: pistetulo: piste:pistetulo",
+ "cross-product": "infix=risti| ristitulo| ristitulo",
+ "dot-product": "infix=piste| pistetulo| piste|pistetulo",
- "divergence": "function= ; div: divergenssi: divergenssi; loppu divergenssi",
+ "divergence": "function= ; div| divergenssi| divergenssi; loppu divergenssi",
"curl": "function= ; roottori; loppu roottori",
- "gradient": "function= ; grad: gradientti: gradientti; loppu gradientti",
+ "gradient": "function= ; grad| gradientti| gradientti; loppu gradientti",
"laplacian": "function=laplasen", # speech engines don't do a good job with "laplacian"
}
diff --git a/Rules/Languages/fi/unicode-full.yaml b/Rules/Languages/fi/unicode-full.yaml
index a43408b28..cb48cd1cd 100644
--- a/Rules/Languages/fi/unicode-full.yaml
+++ b/Rules/Languages/fi/unicode-full.yaml
@@ -1,3435 +1,3435 @@
----
-
-# Translated with the help of https://jkorpela.fi/merkkien-nimet.html
-
- - "¢": [T: "senttiä"] # 0xa2 (en: 'cents')
- - "£": [T: "puntaa"] # 0xa3 (en: 'pounds')
- - "¤": [T: "valuuttamerkki"] # 0xa4 (en: 'currency sign')
- - "¥": [T: "jeni"] # 0xa5 (en: 'yen', google: 'jeni')
- - "¦": [T: "katkopystyviiva"] # 0xa6 (en: 'broken bar', google: 'rikkoutunut palkki')
- - "§": [T: "pykälä"] # 0xa7 (en: 'section', google: 'osa')
- - "¨": [T: "piste piste"] # 0xa8 (en: 'double dot', google: 'kaksinkertainen piste') # FI: use case with derivative?
- - "©": [T: "tekijänoikeus"] # 0xa9 (en: 'copyright', google: 'tekijänoikeudet') # FI: in NVDA it's written "copyright"
- - "ª": [T: "feminiininen järjestysluku"] # 0xaa (en: 'feminine ordinal indicator', google: 'naisellinen ordinaaliindikaattori')
- - "«": [T: "vasemmalle osoittava kaksinkertainen kulmalainausmerkki"] # 0xab (en: 'left-pointing double angle quote mark', google: 'vasemman potentiaalinen kaksoiskulma lainausmerkki')
- - "¯": # 0xaf
- - test:
- if: "ancestor::m:modified-variable and preceding-sibling::*[1][self::m:mi]"
- then: [T: "viiva"] # (en: 'bar', google translation)
- else: [T: "viiva"] # (en: 'line', google: 'linja')
- - "²": [T: "yläindeksi kaksi"] # 0xb2 (en: 'two', google: 'kaksi')
- - "³": [T: "yläindeksi kolme"] # 0xb3 (en: 'three', google: 'kolme')
- - "µ": [T: "mikro"] # 0xb5 (en: 'micro')
- - "¹": [T: "yläindeksi yksi"] # 0xb9 (en: 'one', google: 'yksi')
- - "º": [T: "maskuliininen järjestysluku"] # 0xb9 (en: 'masculine ordinal indicator', google: 'maskuliininen ordinaaliindikaattori') # should be 0xba
- - "ʰ": [T: "yläindeksi h"] # 0x2b0 (en: 'modifier small h', google translation)
- - "ʱ": [T: "yläindeksi h koukulla"] # 0x2b1 (en: 'modifier small h with hook', google translation)
- - "ʲ": [T: "yläindeksi j"] # 0x2b2 (en: 'modifier small j', google translation)
- - "ʳ": [T: "yläindeksi r"] # 0x2b3 (en: 'modifier small r', google translation)
- - "ʴ": [T: "yläindeksi käännetty r"] # 0x2b4 (en: 'modifier small turned r', google translation)
- - "ʵ": [T: "yläindeksi käännetty r koukulla"] # 0x2b5 (en: 'modifier small turned r with hook', google translation)
- - "ʶ": # 0x2b6
- - T: "yläindeksi käännetty R" # (en: 'modifier small inverted', google translation)
- - SPELL: "translate('R', 'R', 'R')"
-
- - "ʷ": [T: "yläindeksi w"] # 0x2b7 (en: 'modifier small w', google translation)
- - "ʸ": [T: "yläindeksi y"] # 0x2b8 (en: 'modifier small y', google translation)
- - "ʹ": [T: "priimi"] # 0x2b9 (en: 'modifier prime', google translation) # FI: derivated once -> "pilkku"
- - "ʺ": [T: "kaksoispriimi"] # 0x2ba (en: 'modifier double prime', google translation) # FI: derivated twice -> "pilkku pilkku"
- - "ʻ": [T: "käänteispilkku"] # 0x2bb (en: 'modifier turned comma', google translation)
- - "ʼ": [T: "heitto"] # 0x2bc (en: 'modifier apostrophe', google translation)
- - "ʽ": [T: "peilikuvapilkku"] # 0x2bd (en: 'modifier reversed comma', google translation)
- - "ʾ": [T: "tarke oikea puolikaari"] # 0x2be (en: 'modifier right half ring', google: 'muokkain oikea puolirengas')
- - "ʿ": [T: "tarke vasen puolikaari"] # 0x2bf (en: 'modifier left half ring', google: 'muokkain vasemmalla puolirengas')
- - "ˀ": [T: "glottaaliklusiilitarke"] # 0x2c0 (en: 'modifier glottal stop', google translation)
- - "ˁ": [T: "käännetty glottaaliklusiilitarke"] # 0x2c1 (en: 'modifier reversed glottal stop', google translation)
- - "˂": [T: "tarke vasen nuoli"] # 0x2c2 (en: 'modifier left arrowhead', google translation)
- - "˃": [T: "tarke oikea nuoli"] # 0x2c3 (en: 'modifier right arrowhead', google translation)
- - "˄": [T: "tarke nuoli ylös"] # 0x2c4 (en: 'modifier up arrowhead', google translation)
- - "˅": [T: "tarke nuoli alas"] # 0x2c5 (en: 'modifier down arrowhead', google translation)
- - "ˆ": [T: "sirkumfleksi"] # 0x2c6 (en: 'modifier circumflex accent', google: 'modifikaattorin ympäryssuoja aksentti') # FI: should maybe be "hat", "hattu"
- - "ˇ": [T: "ylösalainen sirkumfleksi"] # 0x2c7 (en: 'caron', google: 'caron') # FI: "inverted hat"? "käännetty hattu"
- - "ˈ": [T: "tarke pystyviiva"] # 0x2c8 (en: 'modifier vertical line', google translation)
- - "ˉ": [T: "pituusmerkki"] # 0x2c9 (en: 'modifier macron', google: 'muokkain macron')
- - "ˊ": [T: "tarke akuutti"] # 0x2ca (en: 'modifier acute accent', google translation)
- - "ˋ": [T: "tarke gravis"] # 0x2cb (en: 'modifier grave accent', google translation)
- - "ˌ": [T: "tarke alapystyviiva"] # 0x2cc (en: 'modifier low vertical line', google translation)
- - "ˍ": [T: "alapituusmerkki"] # 0x2cd (en: 'modifier low macron', google translation)
- - "ˎ": [T: "alagravis"] # 0x2ce (en: 'modifier low grave accent', google translation)
- - "ˏ": [T: "ala-akuutti"] # 0x2cf (en: 'modifier low acute accent', google translation)
- - "ː": [T: "kolmiokaksoispiste"] # 0x2d0 (en: 'modifier triangular colon', google translation)
- - "ˑ": [T: "puolikas kolmiokaksoispiste"] # 0x2d1 (en: 'modifier half triangular colon', google translation)
- - "˒": [T: "keskitetty oikea puolirengas"] # 0x2d2 (en: 'modifier centered right half ring', google translation)
- - "˓": [T: "keskitetty vasen puolirengas"] # 0x2d3 (en: 'modifier centered left half ring', google translation)
- - "˔": [T: "nupi ylöspäin"] # 0x2d4 (en: 'modifier up tadck', google translation)
- - "˕": [T: "nupi alaspäin"] # 0x2d5 (en: 'modifier down tack', google translation)
- - "˖": [T: "plus"] # 0x2d6 (en: 'modifier plus sign', google translation)
- - "˗": [T: "miinus"] # 0x2d7 (en: 'modifier minus sign', google translation)
- - "˘": [T: "lyhyysmerkki"] # 0x2d8 (en: 'breve', google: 'breve')
- - "˙": [T: "piste"] # 0x2d9 (en: 'dot', google: 'piste')
- - "˚": [T: "yläympyrä"] # 0x2da (en: 'ring above', google: 'rengas yläpuolella')
- - "˛": [T: "ogonek"] # 0x2db
- - "˜": [T: "pieni tilde"] # 0x2dc (en: 'small tilde', google: 'pieni tilde')
- - "˝": [T: "kaksoisakuutti"] # 0x2dd (en: 'double acute accent', google: 'kaksinkertainen akuutti aksentti')
- - "˞": [T: "rhoottinen koukku"] # 0x2de (en: 'modifier rhotic hook', google translation)
- - "˟": [T: "risti"] # 0x2df (en: 'modifier cross accent', google translation)
- - "ˠ": [T: "pieni gamma"] # 0x2e0 (en: 'modifier small gamma', google translation) # FI: should these be without "pieni" ("small")?
- - "ˡ": [T: "pieni l"] # 0x2e1 (en: 'modifier small l', google translation)
- - "ˢ": [T: "pieni s"] # 0x2e2 (en: 'modifier small s', google translation)
- - "ˣ": [T: "pieni x"] # 0x2e3 (en: 'modifier small x', google translation)
- - "ˤ": [T: "pieni käännetty glottaaliklusiili"] # 0x2e4 (en: 'modifier small reversed glottal stop', google translation)
- - "˥": [T: "erittäin korkea äänipalkki"] # 0x2e5 (en: 'modifier extra-high tone bar', google translation)
- - "˦": [T: "korkea äänipalkki"] # 0x2e6 (en: 'modifier high tone bar', google translation)
- - "˧": [T: "keskiäänipalkki"] # 0x2e7 (en: 'modifier mid tone bar', google translation)
- - "˨": [T: "matala äänipalkki"] # 0x2e8 (en: 'modifier low tone bar', google translation)
- - "˩": [T: "erittäin matala äänipalkki"] # 0x2e9 (en: 'modifier extra-low tone bar', google translation)
- - "˪": [T: "yin lähtöäänimerkki"] # 0x2ea (en: 'modifier yin departing tone mark', google translation) # FI: unclear
- - "˫": [T: "yang lähtöäänimerkki"] # 0x2eb (en: 'modifier yang departing tone mark', google translation) # FI: unclear
- - "ˬ": [T: "ääntämismerkki"] # 0x2ec (en: 'modifier voicing', google translation)
- - "˭": [T: "aspiroitumattomuusmerkki"] # 0x2ed (en: 'modifier unaspirated', google translation)
- - "ˮ": [T: "kaksoisheittomerkki"] # 0x2ee (en: 'modifier double apostrophe', google translation)
- - "˯": [T: "alanuolenpää alas"] # 0x2ef (en: 'modifier low down arrowhead', google translation)
- - "˰": [T: "alanuolenpää ylös"] # 0x2f0 (en: 'modifier low up arrowhead', google translation)
- - "˱": [T: "alanuolenpää vasemmalle"] # 0x2f1 (en: 'modifier low left arrowhead', google translation)
- - "˲": [T: "alanuolenpää oikealle"] # 0x2f2 (en: 'modifier low right arrowhead', google translation)
- - "˳": [T: "alarengas"] # 0x2f3 (en: 'modifier low ring', google translation)
- - "˴": [T: "keskitetty gravis"] # 0x2f4 (en: 'modifier middle grave accent', google translation)
- - "˵": [T: "keskitetty tuplagravis"] # 0x2f5 (en: 'modifier middle double grave accent', google translation)
- - "˶": [T: "keskitetty akuutti"] # 0x2f6 (en: 'modifier middle double acute accent', google translation)
- - "˷": [T: "alatilde"] # 0x2f7 (en: 'modifier low tilde', google translation)
- - "˸": [T: "nostettu kaksoispiste"] # 0x2f8 (en: 'modifier raised colon', google translation)
- - "˹": [T: "korkea ääni alku"] # 0x2f9 (en: 'modifier begin high tone', google translation)
- - "˺": [T: "korkea ääni loppu"] # 0x2fa (en: 'modifier end high tone', google translation)
- - "˻": [T: "matala ääni alku"] # 0x2fb (en: 'modifier begin low tone', google translation)
- - "˼": [T: "matala ääni loppu"] # 0x2fc (en: 'modifier end low tone', google translation)
- - "˽": [T: "tarke hylly"] # 0x2fd (en: 'modifier shelf', google translation)
- - "˾": [T: "tarke avoin hylly"] # 0x2fe (en: 'modifier open shelf', google translation)
- - "˿": [T: "vasen alanuoli"] # 0x2ff (en: 'modifier low left arrow', google translation)
- - "̈": [T: "treema"] # 0x308 (en: 'diaeresis embellishment', google: 'diaeresis -koriste')
- - "̉": [T: "yläkoukku"] # 0x309 (en: 'hook above embellishment', google translation)
- - "̊": [T: "yläympyrä"] # 0x30a (en: 'ring above embellishment', google: 'rengas koristelun yläpuolella')
- - "̋": [T: "kakoisakuutti"] # 0x30b (en: 'double acute accent embellishment', google translation)
- - "̌": [T: "hattu"] # 0x30c (en: 'check', google: 'tarkistaa')
- - "̍": [T: "yläpuolinen pystyviiva"] # 0x30d (en: 'vertical line above embellishment', google translation)
- - "̎": [T: "yläpuolinen kaksoispystyviiva"] # 0x30e (en: 'double vertical line above embellishment', google translation)
- - "̏": [T: "kakoisgravis"] # 0x30f (en: 'double grave accent embellishment', google translation)
- - "̐": [T: "candrabindu"] # 0x310 (en: 'candrabindu embellishment', google translation)
- - "̑": [T: "ylösalainen lyhyysmerkki"] # 0x311 (en: 'inverted breve embellishment', google: 'käänteinen breve -koriste')
- - "̒": [T: "yläpuolinen ylösalainen pilkku"] # 0x312 (en: 'turned comma above embellishment', google translation)
- - "̓": [T: "yläoikealla oleva pilkku"] # 0x313 (en: 'comma above embellishment', google translation)
- - "̔": [T: "yläpuolinen peilikuvapilkku"] # 0x314 (en: 'reversed comma above embellishment', google translation)
- - "̕": [T: "yläpilkku"] # 0x315 (en: 'comma above right embellishment', google translation)
- - "̖": [T: "alapuolinen gravis"] # 0x316 (en: 'grave accent below embellishment', google translation)
- - "̗": [T: "alapuolinen akuutti"] # 0x317 (en: 'acute accent below embellishment', google translation)
- - "̘": [T: "alapuolinen vasemmalle osoittava nupi"] # 0x318 (en: 'left tack below embellishment', google translation)
- - "̙": [T: "alapuolinen oikealle osoittava nupi"] # 0x319 (en: 'right tack below embellishment', google translation)
- - "̚": [T: "yläpuolinen vasen kulma"] # 0x31a (en: 'left angle above embellishment', google translation)
- - "̛": [T: "sarvi"] # 0x31b (en: 'horn embellishment', google translation)
- - "̜": [T: "alapuolinen vasen ympyränkaari"] # 0x31c (en: 'left half ring below embellishment', google translation)
- - "̝": [T: "alapuolinen ylös osoittava nupi"] # 0x31d (en: 'up tack below embellishment', google translation)
- - "̞": [T: "alapuolinen alas osoittava nupi"] # 0x31e (en: 'down tack below embellishment', google translation)
- - "̟": [T: "alapuolinen plusmerkki"] # 0x31f (en: 'plus sign below embellishment', google translation)
- - "̠": [T: "alapuolinen miinusmerkki"] # 0x320 (en: 'minus sign below embellishment', google translation)
- - "̡": [T: "alapuolinen palataalisuuskoukku"] # 0x321 (en: 'palatalized hook below embellishment', google translation)
- - "̢": [T: "alapuolinen retrofleksisuuskoukku"] # 0x322 (en: 'retroflex hook below embellishment', google translation)
- - "̣": [T: "alapiste"] # 0x323 (en: 'dot below embellishment', google: 'piste koristelun alapuolella')
- - "̤": [T: "alatreema"] # 0x324 (en: 'diaeresis below embellishment', google: 'diaeresis koristelun alapuolella')
- - "̥": [T: "alaympyrä"] # 0x325 (en: 'ring below embellishment', google translation)
- - "̦": [T: "alapilkku"] # 0x326 (en: 'comma below embellishment', google translation)
- - "̧": [T: "sedilji"] # 0x327 (en: 'cedilla embellishment', google: 'cedilla -koriste')
- - "̨": [T: "ogonek"] # 0x328 (en: 'ogonek embellishment', google translation)
- - "̩": [T: "alapuolinen pystyviiva"] # 0x329 (en: 'vertical line below embellishment', google translation)
- - "̪": [T: "alapuolinen silta"] # 0x32a (en: 'bridge below embellishment', google translation)
- - "̫": [T: "alapuolinen ylösalainen kaksoiskaari"] # 0x32b (en: 'inverted double arch below embellishment', google translation)
- - "̬": [T: "alapuolinen hattu"] # 0x32c (en: 'caron below embellishment', google translation)
- - "̭": [T: "alapuolinen sirkumfleksi"] # 0x32d (en: 'circumflex accent below embellishment', google translation)
- - "̮": [T: "alapuolinen lyhyysmerkki"] # 0x32e (en: 'breve below embellishment', google: 'breve koristelun alapuolella')
- - "̯": [T: "alapuolinen ylösalainen lyhyysmerkki"] # 0x32f (en: 'inverted breve below embellishment', google translation)
- - "̰": [T: "alatilde"] # 0x330 (en: 'tilde below embellishment', google: 'tilde koristelun alapuolella')
- - "̱": [T: "alapuolinen pituusmerkki"] # 0x331 (en: 'macron below embellishment', google: 'macron koristelun alapuolella')
- - "̲": [T: "alaviiva"] # 0x332 (en: 'low line embellishment', google: 'matala linjakoriste')
- - "̳": [T: "kaksoisalaviiva"] # 0x333 (en: 'double low line embellishment', google translation)
- - "̴": [T: "tilde päällä"] # 0x334 (en: 'tilde overlay embellishment', google translation)
- - "̵": [T: "lyhyt yliviivaus"] # 0x335 (en: 'short stroke overlay embellishment', google translation)
- - "̶": [T: "pitkä yliviivaus"] # 0x336 (en: 'long stroke overlay embellishment', google translation)
- - "̷": [T: "lyhyt yliviivausvinoviiva"] # 0x337 (en: 'short solidus overlay embellishment', google translation)
- - "̸": [T: "yliviivausvinoviiva"] # 0x338 (en: 'long solidus overlay embellishment', google: 'pitkä solidus -päällekkäisyys')
- - "̹": [T: "oikea puolirengas alapuolella"] # 0x339 (en: 'right half ring below embellishment', google translation)
- - "̺": [T: "käänteinen silta alapuolella"] # 0x33a (en: 'inverted bridge below embellishment', google translation)
- - "̻": [T: "neliö alapuolella"] # 0x33b (en: 'square below embellishment', google translation)
- - "̼": [T: "lokki alapuolella"] # 0x33c (en: 'seagull below embellishment', google translation)
- - "̽": [T: "x yläpuolella"] # 0x33d (en: 'x above embellishment', google translation)
- - "̾": [T: "pystysuora tilde"] # 0x33e (en: 'vertical tilde embellishment', google translation)
- - "̿": [T: "kaksinkertainen yliviivaus"] # 0x33f (en: 'double overline embellishment', google translation)
- - "̀": [T: "gravis"] # 0x340 (en: 'grave tone mark embellishment', google translation)
- - "́": [T: "akuutti"] # 0x341 (en: 'acute tone mark embellishment', google translation)
-
- - "ΪΫϏ": # 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: "iso"] # (en: 'cap', google translation)
- else: [x: "$SpeechOverrides_CapitalLetters"]
- - pitch:
- value: "$CapitalLetters_Pitch"
- replace: [SPELL: "translate('.', 'ΪΫϏ', 'ιυϗ')"]
- - T: "dialyytikalla" # (en: 'with dialytika', google translation)
- - "ϊ": [T: "treema-ioota"] # 0x3ca (en: 'iota with dialytika', google translation)
- - "ϋ": [T: "treema-ypsilon"] # 0x3cb (en: 'upsilon with dialytika', google translation)
- - "ό": [T: "akuutti-omikron"] # 0x3cc (en: 'omicron with tonos', google translation)
- - "ύ": [T: "akuutti-ypsilon"] # 0x3cd (en: 'upsilon with tonos', google translation)
- - "ώ": [T: "akuutti-oomega"] # 0x3ce (en: 'omega with tonos', google translation)
- - "ϐ": [T: "beeta"] # 0x3d0 (en: 'beta', google: 'beeta')
- - "ϑ": [T: "theeta"] # 0x3d1 (en: 'theta', google: 'theta')
- - "ϒ": [T: "ypsilon koukulla"] # 0x3d2 (en: 'upsilon with hook', google: 'upsilon koukkuun')
- - "ϓ": [T: "upsilon akuutilla ja koukulla"] # 0x3d3 (en: 'upsilon with acute and hook', google translation)
- - "ϔ": [T: "upsilon treemalla ja koukulla"] # 0x3d4 (en: 'upsilon with diaeresis and hook', google translation)
- - "ϗ": [T: "kai"] # 0x3d7 (en: 'kai', google: 'kai')
- - "А-Я": # 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: "iso"] # (en: 'cap', google translation)
- else: [x: "$SpeechOverrides_CapitalLetters"]
- - pitch:
- value: "$CapitalLetters_Pitch"
- replace: [SPELL: "translate('.', 'АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ', 'абвгдежзийклмнопрстуфхцчшщъыьэюя')"]
- - "а": [T: "a"] # 0x430 (google: 'а')
- - "б": [T: "bee"] # 0x431 (google: 'olla')
- - "в": [T: "vee"] # 0x432
- - "г": [T: "gee"] # 0x433
- - "д": [T: "dee"] # 0x434
- - "е": [T: "jee"] # 0x435 (google: 'eli')
- - "ж": [T: "tzee"] # 0x436
- - "з": [T: "zee"] # 0x437
- - "и": [T: "i"] # 0x438 (google: 'и')
- - "й": [T: "lyhyt i"] # 0x439 (en: 'short i')
- - "к": [T: "kaa"] # 0x43a
- - "л": [T: "el"] # 0x43b
- - "м": [T: "em"] # 0x43c
- - "н": [T: "en"] # 0x43d (google: 'fi')
- - "о": [T: "o"] # 0x43e (google: 'о')
- - "п": [T: "pee"] # 0x43f
- - "р": [T: "er"] # 0x440
- - "с": [T: "es"] # 0x441
- - "т": [T: "tee"] # 0x442
- - "у": [T: "u"] # 0x443 (google: 'у')
- - "ф": [T: "ef"] # 0x444
- - "х": [T: "haa"] # 0x445
- - "ц": [T: "tsee"] # 0x446
- - "ч": [T: "tshee"] # 0x447
- - "ш": [T: "shaa"] # 0x448
- - "щ": [T: "shtshaa"] # 0x449
- - "ъ": [T: "kova merkki"] # 0x44a (en: 'hard sign')
- - "ы": [T: "jeru"] # 0x44b
- - "ь": [T: "pehmeä merkki"] # 0x44c (en: 'soft sign')
- - "э": [T: "käänteis-e"] # 0x44d (google: 'э')
- - "ю": [T: "juu"] # 0x44e
- - "я": [T: "jaa"] # 0x44f
- - "‐": [T: "tavuviiva"] # 0x2010 (en: 'hyphen', google: 'tavuviiva')
- - "‑": [T: "tavuviiva"] # 0x2011 (en: 'hyphen', google translation)
- - "‒": [T: "numerotavuviiva"] # 0x2012 (en: 'figure dash', google translation)
- - "–": [T: "lyhyt ajatusviiva"] # 0x2013 (en: 'en dash', google: 'fi dash')
- - "—": [T: "pitkä ajatusviiva"] # 0x2014 (en: 'em dash', google: 'em dash')
- - "‖": [T: "kaksinkertainen pystyviiva"] # 0x2016 (en: 'double vertical line', google: 'kaksinkertainen pystysuora viiva')
- - "†": [T: "risti"] # 0x2020 (en: 'dagger', google: 'tikari')
- - "‡": [T: "kaksoisristi"] # 0x2021 (en: 'double dagger', google: 'kaksinkertainen tikari')
-
- - "•": # 0x2022
- - test:
- if: "@data-chem-formula-op"
- then: [T: "piste"] # (en: 'dot', google translation)
- else: [T: "luetelmapallo"] # (en: 'bullet', google: 'luoti')
-
- - "‰": [T: "promille"] # 0x2030 (en: 'per mille', google: 'per milli')
- - "‱": [T: "kymmenestuhannesosa"] # 0x2031 (en: 'per ten thousand', google: 'kymmenentuhatta')
- - "‵": [T: "käänteinen priimi"] # 0x2035 (en: 'reversed prime', google: 'kääntynyt pääministeri') # FI: "käänteinen pilkku" and for the next ones
- - "‶": [T: "käänteinen kaskoispriimi"] # 0x2036 (en: 'reversed double prime', google: 'kääntynyt kaksinkertainen prime')
- - "‷": [T: "käänteinen kolmoispriimi"] # 0x2037 (en: 'reversed triple prime', google translation)
- - "‸": [T: "lisäys"] # 0x2038
- - "‹": [T: "vasemmalle osoittava kulmapuolilainaus"] # 0x2039 (en: 'single left pointing angle quote mark', google: 'yksi vasen piste -kulman lainausmerkki')
- - "›": [T: "oikealle osoittava kulmapuolilainaus"] # 0x203a (en: 'single right pointing angle quote mark', google: 'yksi oikea osoituskulma lainausmerkki')
- - "‼": [T: "kaksoiskertoma"] # 0x203c (en: 'double factorial', google translation)
- - "⁄": [T: "murtoluvun vinoviiva"] # 0x2044 (en: 'divided by', google: 'jaettuna') # FI: check how this works in a sentence
- - "⁅": [T: "piikillinen alkuhakasulku"] # 0x2045 (en: 'left square bracket with quill', google translation)
- - "⁆": [T: "piikillinen loppuhakasulku"] # 0x2046 (en: 'right square bracket with quill', google translation)
- - "⁗": [T: "neloispriimi"] # 0x2057 (en: 'quadruple prime', google: 'neljänneksen prime') # FI: maybe "pilkku pilkku pilkku pilkku"
- - "": [T: "rivinvaihdon esto"] # 0x2060
- - "⁰": [T: "potenssiin nolla"] # 0x2070 (en: 'to the zeroth power', google translation)
- - "ⁱ": [T: "potenssiin i"] # 0x2071 (en: 'to the eihth power', google translation)
- - "⁴": [T: "potenssiin neljä"] # 0x2074 (en: 'to the fourth power', google translation)
- - "⁵": [T: "potenssiin viisi"] # 0x2075 (en: 'to the fifth power', google translation)
- - "⁶": [T: "potenssiin kuusi"] # 0x2076 (en: 'to the sixth power', google translation)
- - "⁷": [T: "potenssiin seitsemän"] # 0x2077 (en: 'to the seventh power', google translation)
- - "⁸": [T: "potenssiin kahdeksan"] # 0x2078 (en: 'to the eighth power', google translation)
- - "⁹": [T: "potenssiin yhdeksän"] # 0x2079 (en: 'to the ninth power', google translation)
- - "⁺": [T: "yläindeksi plus"] # 0x207a (en: 'superscript plus sign', google translation)
- - "⁻": [T: "yläindeksi miinus"] # 0x207b (en: 'superscript minus', google translation)
- - "⁼": [T: "yläindeksi on yhtä suuri kuin"] # 0x207c (en: 'superscript equals sign', google translation)
- - "⁽": [T: "yläindeksi vasen sulku"] # 0x207d (en: 'superscript left parenthesis', google translation)
- - "⁾": [T: "yläindeksi oikea sulku"] # 0x207e (en: 'superscript right parenthesis', google translation)
- - "ⁿ": [T: "potenssiin n"] # 0x207f (en: 'to the ennth power', google translation)
- - "₀": [T: "alaindeksi nolla"] # 0x2080 (en: 'sub zero', google translation)
- - "₁": [T: "alaindeksi yksi"] # 0x2081 (en: 'sub one', google translation)
- - "₂": [T: "alaindeksi kaksi"] # 0x2082 (en: 'sub two', google translation)
- - "₃": [T: "alaindeksi kolme"] # 0x2083 (en: 'sub three', google translation)
- - "₄": [T: "alaindeksi neljä"] # 0x2084 (en: 'sub four', google translation)
- - "₅": [T: "alaindeksi viisi"] # 0x2085 (google translation)
- - "₆": [T: "alaindeksi kuusi"] # 0x2086 (google translation)
- - "₇": [T: "alaindeksi seitsemän"] # 0x2087 (en: 'sub seven', google translation)
- - "₈": [T: "alaindeksi kahdeksan"] # 0x2088 (en: 'sub eight', google translation)
- - "₉": [T: "alaindeksi yhdeksän"] # 0x2089 (en: 'sub nine', google translation)
- - "₊": [T: "alaindeksi plus"] # 0x208a (en: 'subscript plus sign', google translation)
- - "₋": [T: "alaindeksi miinus"] # 0x208b (en: 'subscript minus sign', google translation)
- - "₌": [T: "alaindeksi on yhtä suuri kuin"] # 0x208c (en: 'subscript equals sign', google translation)
- - "₍": [T: "alaindeksi vasen sulku"] # 0x208d (en: 'subscript left parenthesis', google translation)
- - "₎": [T: "alaindeksi oikea sulku"] # 0x208e (en: 'subscript right parenthesis', google translation)
- - "ₐ": [T: "alaindeksi a"] # 0x2090 (en: 'sub A', google translation)
- - "ₑ": [T: "alaindeksi e"] # 0x2091 (en: 'sub E', google translation)
- - "ₒ": [T: "alaindeksi o"] # 0x2092 (en: 'sub O', google translation)
- - "ₓ": [T: "alaindeksi x"] # 0x2093 (en: 'sub X', google translation)
- - "ₕ": [T: "alaindeksi h"] # 0x2095 (en: 'sub H', google translation)
- - "ₖ": [T: "alaindeksi k"] # 0x2096 (en: 'sub K', google translation)
- - "ₗ": [T: "alaindeksi l"] # 0x2097 (en: 'sub L', google translation)
- - "ₘ": [T: "alaindeksi m"] # 0x2098 (en: 'sub M', google translation)
- - "ₙ": [T: "alaindeksi n"] # 0x2099 (en: 'sub N', google translation)
- - "ₚ": [T: "alaindeksi p"] # 0x209a (en: 'sub P', google translation)
- - "ₛ": [T: "alaindeksi s"] # 0x209b (en: 'sub S', google translation)
- - "ₜ": [T: "alaindeksi t"] # 0x209c (en: 'sub T', google translation)
- - "₠": [T: "eurooppalaiset valuuttayksiköt"] # 0x20a0 (en: 'european currenty units', google translation)
- - "₡": [T: "colonia"] # 0x20a1 (en: 'colons', google: 'colons')
- - "₢": [T: "cruzeiroa"] # 0x20a2 (en: 'cruzeiro', google: 'cruzeiro')
- - "₣": [T: "frangia"] # 0x20a3 (en: 'franc', google: 'frangi')
- - "₤": [T: "liiraa"] # 0x20a4 (en: 'lira', google: 'liira')
- - "₥": [T: "milliä"] # 0x20a5 (en: 'mills', google: 'myllyt')
- - "₦": [T: "nairaa"] # 0x20a6 (en: 'naira', google: 'naira')
- - "₧": [T: "pesetaa"] # 0x20a7 (en: 'peseta', google: 'peseta')
- - "₨": [T: "rupiaa"] # 0x20a8 (en: 'rupees', google: 'rupia')
- - "₩": [T: "wonia"] # 0x20a9 (en: 'won', google: 'voitti')
- - "₪": [T: "sekeliä"] # 0x20aa (en: 'new sheqels', google: 'uudet sheqels')
- - "₫": [T: "dongia"] # 0x20ab (en: 'dong', google: 'dong')
- - "€": [T: "euroa"] # 0x20ac (en: 'euros', google: 'eurot')
- - "₭": [T: "kipia"] # 0x20ad (en: 'kip', google: 'kip')
- - "₮": [T: "tugrikia"] # 0x20ae (en: 'tugrik', google: 'tugrik')
- - "₯": [T: "drakhmaa"] # 0x20af (en: 'drachma', google: 'drachma')
- - "₰": [T: "pfennigiä"] # 0x20b0 (en: 'german pennies', google: 'saksalaiset penniä')
- - "₱": [T: "pesoa"] # 0x20b1 (en: 'pesos', google: 'pesot')
- - "₲": [T: "guarania"] # 0x20b2 (en: 'guaranis', google: 'guaranis')
- - "₳": [T: "australia"] # 0x20b3 (en: 'australs', google: 'itävaltait')
- - "₴": [T: "hryvniaa"] # 0x20b4 (en: 'hryvnias', google: 'hryvnias')
- - "₵": [T: "cediä"] # 0x20b5 (en: 'cedis', google: 'cedis')
- - "₶": [T: "Toursin livreä"] # 0x20b6 (google translation)
- - "₷": [T: "spesmiloa"] # 0x20b7 (google translation)
- - "₸": [T: "tengeä"] # 0x20b8 (google translation)
- - "₹": [T: "intialainen rupiaa"] # 0x20b9 (en: 'indian rupees', google translation)
- - "₺": [T: "turkin liiraa"] # 0x20ba (en: 'turkish liras', google translation)
- - "⃐": [T: "vasemmalle suuntautuva harppuuna"] # 0x20d0 (en: 'left harpoon above embellishment', google: 'vasen harppuon koristelun yläpuolella')
- - "⃑": [T: "oikealle suuntautuva harppuuna"] # 0x20d1 (en: 'right harpoon above embellishment', google: 'oikea harppuuna koristelun yläpuolella')
- - "⃒": [T: "pitkä yliviivauspystyviiva"] # 0x20d2 (en: 'long vertical line overlay embellishment', google translation)
- - "⃓": [T: "lyhyt yliviivauspystyviiva"] # 0x20d3 (en: 'short vertical line overlay embellishment', google translation)
- - "⃔": [T: "vastapäiväinen ylänuoli"] # 0x20d4 (en: 'anticlockwise arrow above embellishment', google translation)
- - "⃕": [T: "myötäpäiväinen ylänuoli"] # 0x20d5 (en: 'clockwise arrow above embellishment', google translation)
- - "⃖": [T: "vasemmalle suuntautuva nuoli"] # 0x20d6 (en: 'left arrow above embellishment', google: 'vasen nuoli koristelun yläpuolella')
- - "⃗": [T: "oikealle suuntautuva nuoli"] # 0x20d7 (en: 'right arrow above embellishment', google: 'oikea nuoli koristelun yläpuolella')
- - "⃘": [T: "rengas päällä"] # 0x20d8 (en: 'ring overlay embellishment', google translation)
- - "⃙": [T: "rengas myötäpäivään päällä"] # 0x20d9 (en: 'clockwise ring overlay embellishment', google translation)
- - "⃚": [T: "rengas vastapäivään päällä"] # 0x20da (en: 'anticlockwise ring overlay embellishment', google translation)
- - "⃛": [T: "kolmoispiste"] # 0x20db (en: 'triple dot', google: 'kolminkertainen piste')
- - "⃜": [T: "nelinkertainen piste"] # 0x20dc (en: 'quadruple dot', google: 'nelinkertainen piste')
- - "⃝": [T: "sulkeva ympyrä"] # 0x20dd (en: 'enclosing circle embellishment', google translation)
- - "⃞": [T: "sulkeva neliö"] # 0x20de (en: 'enclosing square embellishment', google translation)
- - "⃟": [T: "sulkeva timantti"] # 0x20df (en: 'enclosing diamond embellishment', google translation)
- - "⃠": [T: "sulkeva ympyrä kenoviivalla"] # 0x20e0 (en: 'enclosing circle backslash embellishment', google translation)
- - "⃡": [T: "ylänuoli oikealle ja vasemmalle"] # 0x20e1 (en: 'left right arrow above embellishment', google: 'vasen oikea nuoli koristelun yläpuolella')
- - "⃢": [T: "sulkeva ruutu"] # 0x20e2 (en: 'enclosing screen embellishment', google translation)
- - "⃣": [T: "sulkeva näppäin"] # 0x20e3 (en: 'enclosing keycap embellishment', google translation)
- - "⃤": [T: "sulkeva kolmio ylöspäin"] # 0x20e4 (en: 'enclosing upward pointing triangle embellishment', google translation)
- - "⃥": [T: "kenoviiva päällä"] # 0x20e5 (en: 'reverse solidus overlay embellishment', google translation)
- - "⃦": [T: "kaksinkertainen vaakaviiva päällä"] # 0x20e6 (en: 'double verticle stroke embellishment', google translation)
- - "⃧": [T: "annuiteettisymboli"] # 0x20e7 (en: 'annuity symbol embellishment', google translation)
- - "⃨": [T: "kolminkertainen alapiste"] # 0x20e8 (en: 'triple underdot', google translation)
- - "⃩": [T: "leveä silta yläpuolella"] # 0x20e9 (en: 'wide bridge above embellishment', google translation)
- - "⃪": [T: "vasen nuoli päällä"] # 0x20ea (en: 'leftwards arrow overlay embellishment', google translation)
- - "⃫": [T: "pitkä kaksinkertainen vinoviiva päällä"] # 0x20eb (en: 'long double solidus overlay embellishment', google translation)
- - "⃬": [T: "oikea alaharppuuna piikillä"] # 0x20ec (en: 'rightwards harpoon with barb downwards embellishment', google translation)
- - "⃭": [T: "vasen alaharppuuna piikillä"] # 0x20ed (en: 'leftwards harpoon with barb downwards embellishment', google translation)
- - "⃮": [T: "vasen alanuoli"] # 0x20ee (en: 'left arrow below embellishment', google translation)
- - "⃯": [T: "oikea alanuoli"] # 0x20ef (en: 'right arrow below embellishment', google translation)
- - "⃰": [T: "yläpuolinen asteriski"] # 0x20f0 (en: 'asterisk above embellishment', google translation)
- - "℄": [T: "keskiviivasymboli"] # 0x2104 (en: 'center line symbol', google translation)
- - "℅": [T: "C O"] # 0x2105 (google: 'hoito')
- - "℆": [T: "C U"] # 0x2106 (google translation)
- - "ℇ": [T: "eulerin vakio"] # 0x2107 (en: 'euler's constant', google: 'eulerin jatkuva') # FI: more German pronunciation?
- - "℈": [T: "scruple"] # 0x2108 (en: 'scruples', google translation)
- - "℉": [T: "astetta fahrenheitia"] # 0x2109 (en: 'degrees fahrenheit', google: 'fahrenheit-astetta') # FI: more German pronunciation?
- - "ℊ": [T: "pieni g"] # 0x210a (en: 'script g', google: 'käsikirjoitus g')
- - "ℌℑℨℭ": # 0x210c, 0x2111, 0x2128, 0x212d
- - T: "fraktuura" # (en: 'fraktur', google: 'fraktur')
- - SPELL: "translate('.', 'ℌℑℨℭ', 'HIZC')"
-
- - "ℍℙℾℿ": # 0x210d, 0x2119, 0x213e, 0x213f
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "kaksiviivainen"] # (en: 'double struck', google translation)
- - SPELL: "translate('.', 'ℍℙℾℿ', 'HPΓΠ')"
-
- - "ℎ": [T: "planckin vakio"] # 0x210e (en: 'planck constant', google: 'planck constant')
- - "ℏ": # 0x210f
- - test:
- if: "($Verbosity='Terse')"
- then: [T: "h viiva"] # (google translation)
- else: [T: "redusoitu Planckin vakio"] # (en: 'reduced planck constant', google: 'vähentynyt planck -vakio')
-
- - "ℐℒ℘ℬℰℱℳ": # 0x2110, 0x2112, 0x2118, 0x2130, 0x2131, 0x2133
- - T: "kauno" # (en: 'script', google: 'käsikirjoitus')
- - SPELL: "translate('.', 'ℐℒ℘ℬℰℱℳ', 'ILPBEFM')"
-
- - "℔": [T: "paunaa"] # 0x2114 (en: 'pounds', google translation)
- - "№": [T: "numero"] # 0x2116 (en: 'number', google: 'määrä')
- - "℥": [T: "unssia"] # 0x2125 (en: 'ounces', google: 'unssi')
- - "Ω": [T: "ohmia"] # 0x2126 (en: 'ohms', google: 'ohmit')
- - "℧": [T: "käännetty ohmi"] # 0x2127 (en: 'mhos', google: 'mhos')
- - "℩": [T: "käännetty ioota"] # 0x2129 (en: 'turned iota', google: 'kääntyi iota')
- - "Å": [T: "ångströmiä"] # 0x212b (en: 'angstroms', google: 'angstroms')
- - "ℯ": [T: "kauno e"] # 0x212f (en: 'script e', google: 'käsikirjoitus e')
-
- # coalesced some chars that use cap letters
- - "Ⅎ℺⅁⅂⅃⅄": # 0x2132, 0x213a, 0x2141, 0x2142, 0x2143, 0x2144
- - test:
- - if: "'.' = '℺'"
- then: [T: "kierretty"] # (en: 'rotated', google translation)
- - else_if: "'.' = 'Ⅎ'"
- then: [T: "käännetty"] # (en: 'turned', google translation)
- - else_if: "'.' = '⅃'"
- then: [T: "kääntynyt sans-serif"] # (en: 'reversed sans-serif', google translation)
- else: [T: "käännetty sans-serif"] # (en: 'turned sans-serif', google: 'kääntyi sans-serif')
- - SPELL: "translate('.', 'Ⅎ℺⅁⅂⅃⅄', 'FQGLLY')"
-
- - "ℴ": [T: "kauno o"] # 0x2134 (en: 'script o', google: 'käsikirjoitus o')
- - "ℵ": [T: "alef"] # 0x2135 (en: 'first transfinite cardinal', google: 'ensimmäinen transfinite kardinaali')
- - "ℶ": [T: "bet"] # 0x2136 (en: 'second transfinite cardinal', google: 'toinen transfinite kardinaali')
- - "ℷ": [T: "gimel"] # 0x2137 (en: 'third transfinite cardinal', google: 'kolmas transfinite kardinaali')
- - "ℸ": [T: "dalet"] # 0x2138 (en: 'fourth transfinite cardinal', google: 'neljäs transfinite kardinaali')
- - "ℼ": [T: "kaksoisviivainen pii"] # 0x213c (en: 'double struck pi', google translation)
- - "ℽ": [T: "kaksoisviivainen gamma"] # 0x213d (en: 'double struck gamma', google translation)
- - "⅀": [T: "kaksoisviivainen sigma"] # 0x2140 (en: 'double struck n-ary summation', google translation)
- - "⅋": [T: "käännetty et-merkki"] # 0x214b (en: 'turned ampersand', google translation)
- - "⅌": [T: "per"] # 0x214c (google translation)
- - "ⅎ": [T: "käännetty F"] # 0x214e (en: 'turned F', google translation)
- - "⅐": [T: "yksi seitsemäsosa"] # 0x2150 (en: 'one seventh', google translation)
- - "⅑": [T: "yksi yhdeksäsosa"] # 0x2151 (en: 'one ninth', google translation)
- - "⅒": [T: "yksi kymmenesosa"] # 0x2152 (en: 'one tenth', google translation)
- - "⅓": [T: "yksi kolmasosa"] # 0x2153 (en: 'one third', google: 'kolmasosa')
- - "⅔": [T: "kaksi kolmasosaa"] # 0x2154 (en: 'two thirds')
- - "⅕": [T: "yksi viidesosa"] # 0x2155 (en: 'one fifth', google: 'viidesosa')
- - "⅖": [T: "kaksi viidesosaa"] # 0x2156 (en: 'two fifths')
- - "⅗": [T: "kolme viidesosaa"] # 0x2157 (en: 'three fifths')
- - "⅘": [T: "neljä viidesosaa"] # 0x2158 (en: 'four fifths')
- - "⅙": [T: "yksi kuudesosa"] # 0x2159 (en: 'one sixth', google: 'kuudesosa')
- - "⅚": [T: "viisi kuudesosaa"] # 0x215a (en: 'five sixths')
- - "⅛": [T: "yksi kahdeksasosa"] # 0x215b (en: 'one eighth', google: 'yksi ath')
- - "⅜": [T: "kolme kahdeksasosaa"] # 0x215c (en: 'three eighths', google: 'kolme aths')
- - "⅝": [T: "viisi kahdeksasosaa"] # 0x215d (en: 'five eighths', google: 'viisi aths')
- - "⅞": [T: "seitsemän kahdeksasosaa"] # 0x215e (en: 'seven eighths', google: 'seitsemän aths')
- - "⅟": [T: "yksi per"] # 0x215f (en: 'one over', google translation)
- - "Ⅰ": [T: "I"] # 0x2160 (en: 'I', google translation)
- - "Ⅱ": [T: "I I"] # 0x2161 (en: 'I I', google translation)
- - "Ⅲ": [T: "I I I"] # 0x2162 (en: 'I I I', google translation)
- - "Ⅳ": [T: "I V"] # 0x2163 (en: 'I V', google translation)
- - "Ⅴ": [T: "V"] # 0x2164 (en: 'V', google translation)
- - "Ⅵ": [T: "V I"] # 0x2165 (en: 'V I', google translation)
- - "Ⅶ": [T: "V I I"] # 0x2166 (en: 'V I I', google translation)
- - "Ⅷ": [T: "V I I I"] # 0x2167 (en: 'V I I I', google translation)
- - "Ⅸ": [T: "I X"] # 0x2168 (en: 'I X', google translation)
- - "Ⅹ": [T: "X"] # 0x2169 (en: 'X', google translation)
- - "Ⅺ": [T: "X I"] # 0x216a (en: 'X I', google translation)
- - "Ⅻ": [T: "X I I"] # 0x216b (en: 'X I I', google translation)
- - "Ⅼ": [T: "L"] # 0x216c (en: 'L', google translation)
- - "Ⅽ": [T: "C"] # 0x216d (en: 'C', google translation)
- - "Ⅾ": [T: "D"] # 0x216e (en: 'D', google translation)
- - "Ⅿ": [T: "M"] # 0x216f (en: 'M', google translation)
- - "ⅰ": [T: "i"] # 0x2170 (en: 'I', google translation)
- - "ⅱ": [T: "i i"] # 0x2171 (en: 'I I', google translation)
- - "ⅲ": [T: "i i i"] # 0x2172 (en: 'I I I', google translation)
- - "ⅳ": [T: "i v"] # 0x2173 (en: 'I V', google translation)
- - "ⅴ": [T: "ⅴ"] # 0x2174 (en: 'V', google translation)
- - "ⅵ": [T: "v i"] # 0x2175 (en: 'V I', google translation)
- - "ⅶ": [T: "v i i"] # 0x2176 (en: 'V I I', google translation)
- - "ⅷ": [T: "v i i i"] # 0x2177 (en: 'V I I I', google translation)
- - "ⅸ": [T: "i x"] # 0x2178 (en: 'I X', google translation)
- - "ⅹ": [T: "ⅹ"] # 0x2179 (en: 'X', google translation)
- - "ⅺ": [T: "x i"] # 0x217a (en: 'X I', google translation)
- - "ⅻ": [T: "x i i"] # 0x217b (en: 'X I I', google translation)
- - "ⅼ": [T: "ⅼ"] # 0x217c (en: 'L', google translation)
- - "ⅽ": [T: "ⅽ"] # 0x217d (en: 'C', google translation)
- - "ⅾ": [T: "ⅾ"] # 0x217e (en: 'D', google translation)
- - "ⅿ": [T: "ⅿ"] # 0x217f (en: 'M', google translation)
- - "↉": [T: "nolla kolmasosaa"] # 0x2189 (en: 'zero thirds', google translation)
- - "←": [T: "nuoli vasemmalle"] # 0x2190 (en: 'leftwards arrow', google: 'vasen nuoli')
- - "↑": [T: "nuoli ylös"] # 0x2191 (en: 'upwards arrow', google: 'ylöspäin nuoli')
- - "↓": [T: "nuoli alas"] # 0x2193 (en: 'downwards arrow', google: 'alaspäin nuoli')
- - "↔": [T: "nuoli vasemmalle ja oikealle"] # 0x2194 (en: 'left right arrow', google: 'vasen oikea nuoli')
- - "↕": [T: "nuoli ylös ja alas"] # 0x2195 (en: 'up down arrow', google: 'ylöspäin nuoli')
- - "↖": [T: "luoteeseen osoittava nuoli"] # 0x2196 (en: 'north west arrow', google: 'luoteis -nuoli')
- - "↗": # 0x2197
- - test:
- if: "ancestor::*[2][self::m:limit]"
- then: [T: "lähestyy alhaalta"] # (en: 'approaches from below', google translation)
- else: [T: "koilliseen osoittava nuoli"] # (en: 'north east arrow', google: 'koillis -nuoli')
-
- - "↘": # 0x2198
- - test:
- if: "ancestor::*[2][self::m:limit]"
- then: [T: "lähestyy ylhäältä"] # (en: 'approaches from above', google translation)
- else: [T: "kaakkoon osoittava nuoli"] # (en: 'south east arrow', google: 'kaakkois -nuoli')
-
- - "↙": [T: "lounaaseen osoittava nuoli"] # 0x2199 (en: 'south west arrow', google: 'lounais -nuoli')
- - "↚": [T: "nuoli vasemmalle poikkiviivalla"] # 0x219a (en: 'leftwards arrow with stroke', google: 'vasen nuoli aivohalvauksella')
- - "↛": [T: "nuoli oikealle poikkiviivalla"] # 0x219b (en: 'rightwards arrow with stroke', google: 'oikealla nuolella aivohalvauksella')
- - "↜": [T: "aaltonuoli vasemmalle"] # 0x219c (en: 'leftwards wave arrow', google: 'vasen aalto nuoli')
- - "↝": [T: "aaltonuoli oikealle"] # 0x219d (en: 'rightwards wave arrow', google: 'oikealla aalto nuoli')
- - "↞": [T: "kaksipäinen nuoli vasemmalle"] # 0x219e (en: 'leftwards two headed arrow', google: 'vasen kaksi päätä nuoli')
- - "↟": [T: "kaksipäinen nuoli ylös"] # 0x219f (en: 'upwards two headed arrow', google: 'ylöspäin kaksi pääistä nuolta')
- - "↠": [T: "kaksipäinen nuoli oikealle"] # 0x21a0 (en: 'rightwards two headed arrow', google: 'oikealle kaksi pääistä nuolta')
- - "↡": [T: "kaksipäinen nuoli alas"] # 0x21a1 (en: 'downwards two headed arrow', google: 'alaspäin kaksi päätä nuolta')
- - "↢": [T: "vasen nuoli pyrstöllä"] # 0x21a2 (en: 'leftwards arrow with tail', google: 'vasen nuoli hännän kanssa')
- - "↣": [T: "oikea nuoli pyrstöllä"] # 0x21a3 (en: 'rightwards arrow with tail', google: 'oikealla nuolella hännän kanssa')
- - "↤": [T: "vasen nuoli palkista"] # 0x21a4 (en: 'leftwards arrow from bar', google: 'vasen nuoli baarista')
- - "↥": [T: "ylöspäin osoittava nuoli palkista"] # 0x21a5 (en: 'upwards arrow from bar', google: 'nuoli ylöspäin baarista')
- - "↦": [T: "oikea nuoli palkista"] # 0x21a6 (en: 'rightwards arrow from bar', google: 'oikein nuoli baarista')
- - "↧": [T: "alaspäin osoittava nuoli palkista"] # 0x21a7 (en: 'downwards arrow from bar', google: 'alaspäin nuoli baarista')
- - "↨": [T: "ylös ja alas osoittava nuoli palkista"] # 0x21a8 (en: 'up down arrow with base', google: 'ylös nuoli pohjassa')
- - "↩": [T: "vasen nuoli koukulla"] # 0x21a9 (en: 'leftwards arrow with hook', google: 'vasen nuoli koukussa')
- - "↪": [T: "oikea nuoli koukulla"] # 0x21aa (en: 'rightwards arrow with hook', google: 'oikealla nuolella koukkulla')
- - "↫": [T: "vasen nuoli silmukalla"] # 0x21ab (en: 'leftwards arrow with loop', google: 'vasen nuoli silmukka')
- - "↬": [T: "oikea nuoli silmukalla"] # 0x21ac (en: 'rightwards arrow with loop', google: 'oikea nuoli silmukka')
- - "↭": [T: "aaltonuoli oikealle ja vasemmalle"] # 0x21ad (en: 'left right wave arrow', google: 'vasen oikea aalto nuoli')
- - "↮": [T: "nuoli oikealle ja vasemmalle poikkiviivalla"] # 0x21ae (en: 'left right arrow with stroke', google: 'vasen oikea nuoli aivohalvauksella')
- - "↯": [T: "siksaknuoli alas"] # 0x21af (en: 'downwards zigzag arrow', google: 'alaspäin zigzag -nuoli')
- - "↰": [T: "nuoli ylös ja kärki vasemmalle"] # 0x21b0 (en: 'upwards arrow with tip leftwards', google: 'ylöspäin nuoli vasemmalla kärkillä')
- - "↱": [T: "nuoli ylös ja kärki oikealle"] # 0x21b1 (en: 'upwards arrow with tip rightwards', google: 'ylöspäin nuoli, joka on kärki oikealla')
- - "↲": [T: "nuoli alas ja kärki vasemmalle"] # 0x21b2 (en: 'downwards arrow with tip leftwards', google: 'alaspäin nuoli vasemmalla kärkillä')
- - "↳": [T: "nuoli alas ja kärki oikealle"] # 0x21b3 (en: 'downwards arrow with tip rightwards', google: 'alaspäin nuoli kärjen oikealla puolella')
- - "↴": [T: "nuoli oikealle ja kulma alas"] # 0x21b4 (en: 'rightwards arrow with corner downwards', google: 'oikealla nuolella nurkkaan alaspäin')
- - "↵": [T: "nuoli alas ja kulma oikealle"] # 0x21b5 (en: 'downwards arrow with corner leftwards', google: 'alaspäin nuoli vasemmalla kulmassa')
- - "↶": [T: "yläpuoliympyränuoli vastapäivään"] # 0x21b6 (en: 'anticlockwise top semicircle arrow', google: 'vastapäivään puolipyöriin nuoli')
- - "↷": [T: "yläpuoliympyränuoli myötäpäivään"] # 0x21b7 (en: 'clockwise top semicircle arrow', google: 'myötäpäivään puolipyöriin nuoli')
- - "↸": [T: "nuoli ylävasemmalle pitkään viivaan"] # 0x21b8 (en: 'north west arrow to long bar', google: 'luoteis -nuoli pitkään baariin')
- - "↹": [T: "nuoli oikealle ja vasemmalle palkkiin"] # 0x21b9 (en: 'leftwards arrow to bar over rightwards arrow to bar', google: 'vasen nuoli baariin oikeanpuoleisen nuolen yli baariin')
- - "↺": [T: "vastapäiväinen avoimen ympyrän nuoli"] # 0x21ba (en: 'anticlockwise open circle arrow', google: 'vastapäivään avoin ympyrä nuoli')
- - "↻": [T: "myötäpäiväinen avoimen ympyrän nuoli"] # 0x21bb (en: 'clockwise open circle arrow', google: 'myötäpäivään avoin ympyrä nuoli')
- - "↼": [T: "puolinuoli vasemmalle väkä ylös"] # 0x21bc (en: 'left harpoon up', google: 'vasen harppuon ylös')
- - "↽": [T: "puolinuoli vasemmalle väkä alas"] # 0x21bd (en: 'left harpoon down', google: 'vasen harppuon alas')
- - "↾": [T: "puolinuoli ylös väkä oikealle"] # 0x21be (en: 'up harpoon right', google: 'up harpoon oikeassa')
- - "↿": [T: "puolinuoli ylös väkä vasemmalle"] # 0x21bf (en: 'up harpoon left', google: 'up harpoon vasemmalle')
- - "⇀": [T: "puolinuoli oikealle väkä ylös"] # 0x21c0 (en: 'right harpoon up', google: 'oikea harppuun')
- - "⇁": [T: "puolinuoli oikealle väkä alas"] # 0x21c1 (en: 'right harpoon down', google: 'oikea harppuuna alas')
- - "⇂": [T: "puolinuoli alas väkä oikealle"] # 0x21c2 (en: 'down harpoon right', google: 'alas harppuon oikealla')
- - "⇃": [T: "puolinuoli alas väkä vasemmalle"] # 0x21c3 (en: 'down harpoon left', google: 'alas harppuun vasemmalle')
- - "⇄": [T: "oikealle ja vasemmalle osoittavien nuolien pari"] # 0x21c4 (en: 'rightwards arrow over leftwards arrow', google: 'oikealla nuolella vasemmanpuoleisen nuolen yli')
- - "⇅": [T: "ylös ja alas osoittavien nuolien pari"] # 0x21c5 (en: 'upwards arrow leftwards of downwards arrow', google: 'ylöspäin nuoli vasemmalle alaspäin nuolesta')
- - "⇆": [T: "vasemmalle ja oikealle osoittavien nuolien pari"] # 0x21c6 (en: 'leftwards arrow over rightwards arrow', google: 'vasen nuoli oikealla nuolella')
- - "⇇": [T: "nuolipari vasemmalle"] # 0x21c7 (en: 'leftwards paired arrows', google: 'vasen parit nuolet')
- - "⇈": [T: "nuolipari ylös"] # 0x21c8 (en: 'upwards paired arrows', google: 'ylöspäin parilliset nuolet')
- - "⇉": [T: "nuolipari oikealle"] # 0x21c9 (en: 'rightwards paired arrows', google: 'oikealla puolella nuolet')
- - "⇊": [T: "nuolipari alas"] # 0x21ca (en: 'downwards paired arrows', google: 'alaspäin parit nuolet')
- - "⇋": [T: "puolinuolipari vasemmalle ja oikealle"] # 0x21cb (en: 'left harpoon over right harpoon', google: 'vasen harpoon oikean harppuunin yli')
- - "⇌": [T: "puolinuolipari oikealle ja vasemmalle"] # 0x21cc (en: 'right harpoon over left harpoon', google: 'oikea harppuuna vasemman harppuunin yli')
- - "⇍": [T: "kaksiviivainen nuoli vasemmalle poikkiviivalla"] # 0x21cd (en: 'leftwards double arrow with stroke', google: 'vasen kaksinkertainen nuoli aivohalvauksella')
- - "⇎": [T: "kaksiviivainen nuoli vasemmalle ja oikealle poikkiviivalla"] # 0x21ce (en: 'left right double arrow with stroke', google: 'vasen oikea kaksinkertainen nuoli aivohalvauksella')
- - "⇏": [T: "kaksiviivainen nuoli oikealle poikkiviivalla"] # 0x21cf (en: 'rightwards double arrow with stroke', google: 'oikeasti kaksinkertainen nuoli aivohalvauksella')
- - "⇐": [T: "vasemmalle osoittava kaksoisnuoli"] # 0x21d0 (en: 'leftwards double arrow', google: 'vasen kaksinkertainen nuoli')
- - "⇑": [T: "ylös osoittava kaksoisnuoli"] # 0x21d1 (en: 'upwards double arrow', google: 'ylöspäin kaksoisnuoli')
- - "⇓": [T: "alas osoittava kaksoisnuoli"] # 0x21d3 (en: 'downwards double arrow', google: 'alaspäin kaksinkertainen nuoli')
- - "⇔": [T: "vasemmalle ja oikealle osoittava kaksoisnuoli"] # 0x21d4 (en: 'left right double arrow', google: 'vasen oikea kaksinkertainen nuoli')
- - "⇕": [T: "ylös ja alas osoittava kaksoisnuoli"] # 0x21d5 (en: 'up down double arrow', google: 'ylös alas kaksinkertainen nuoli')
- - "⇖": [T: "luoteeseen osoittava kaksoisnuoli"] # 0x21d6 (en: 'north west double arrow', google: 'luoteisosan kaksinkertainen nuoli')
- - "⇗": [T: "koilliseen osoittava kaksoisnuoli"] # 0x21d7 (en: 'north east double arrow', google: 'koillis -kaksinkertainen nuoli')
- - "⇘": [T: "kaakkoon osoittava kaksoisnuoli"] # 0x21d8 (en: 'south east double arrow', google: 'kaakkois -kaksinkertainen nuoli')
- - "⇙": [T: "luoteeseen osoittava kaksoisnuoli"] # 0x21d9 (en: 'south west double arrow', google: 'lounais -kaksinkertainen nuoli')
- - "⇚": [T: "kolmiviivainen nuoli vasemmalle"] # 0x21da (en: 'leftwards triple arrow', google: 'vasen kolminkertainen nuoli')
- - "⇛": [T: "kolmiviivainen nuoli oikealle"] # 0x21db (en: 'rightwards triple arrow', google: 'oikealle kolminkertainen nuoli')
- - "⇜": [T: "kiemuranuoli vasemmalle"] # 0x21dc (en: 'leftwards squiggle arrow', google: 'vasen nuoli')
- - "⇝": [T: "kiemuranuoli oikealle"] # 0x21dd (en: 'rightwards squiggle arrow', google: 'oikealla puolella nuoli')
- - "⇞": [T: "nuoli ylös kaksoispoikkiviivalla"] # 0x21de (en: 'upwards arrow with double stroke', google: 'ylöspäin nuoli kaksinkertaisella iskulla')
- - "⇟": [T: "nuoli alas kaksoispoikkiviivalla"] # 0x21df (en: 'downwards arrow with double stroke', google: 'alaspäin nuoli kaksinkertaisella iskulla')
- - "⇠": [T: "katkoviivanuoli vasemmalle"] # 0x21e0 (en: 'leftwards dashed arrow', google: 'vasen katkoviiva nuoli')
- - "⇡": [T: "katkoviivanuoli ylös"] # 0x21e1 (en: 'upwards dashed arrow', google: 'ylöspäin katkoviiva nuoli')
- - "⇢": [T: "katkoviivanuoli oikealle"] # 0x21e2 (en: 'rightwards dashed arrow', google: 'oikealla katkoviivalla nuolella')
- - "⇣": [T: "katkoviivanuoli alas"] # 0x21e3 (en: 'downwards dashed arrow', google: 'alaspäin katkoviiva nuoli')
- - "⇤": [T: "nuoli vasemmalle viivaan"] # 0x21e4 (en: 'leftwards arrow to bar', google: 'vasen nuoli baariin')
- - "⇥": [T: "nuoli oikealle viivaan"] # 0x21e5 (en: 'rightwards arrow to bar', google: 'oikein nuoli baariin')
- - "⇦": [T: "vasemmalle osoittava valkea nuoli"] # 0x21e6 (en: 'leftwards white arrow', google: 'vasen valkoinen nuoli')
- - "⇧": [T: "ylös osoittava valkea nuoli"] # 0x21e7 (en: 'upwards white arrow', google: 'ylöspäin valkoinen nuoli')
- - "⇨": [T: "oikealle osoittava valkea nuoli"] # 0x21e8 (en: 'rightwards white arrow', google: 'oikealle valkoinen nuoli')
- - "⇩": [T: "alas osoittava valkea nuoli"] # 0x21e9 (en: 'downwards white arrow', google: 'alaspäin valkoinen nuoli')
- - "⇪": [T: "palkista ylös osoittava valkea nuoli"] # 0x21ea (en: 'upwards white arrow from bar', google: 'ylöspäin valkoinen nuoli baarista')
- - "⇫": [T: "valkoinen nuoli ylös jalustalla"] # 0x21eb (en: 'upwards white arrow on pedestal', google translation)
- - "⇬": [T: "valkoinen nuoli ylös jalustalla ja vaakasuoralla palkilla"] # 0x21ec (en: 'upwards white arrow on pedestal with horizontal bar', google translation)
- - "⇭": [T: "valkoinen nuoli ylös jalustalla ja pystysuoralla palkilla"] # 0x21ed (en: 'upwards white arrow on pedestal with vertical bar', google translation)
- - "⇮": [T: "valkoinen kaksinkertainen nuoli ylös"] # 0x21ee (en: 'upwards white double arrow', google translation)
- - "⇯": [T: "valkoinen kaksinkertainen nuoli ylös jalustalla"] # 0x21ef (en: 'upwards white double arrow on pedestal', google translation)
- - "⇰": [T: "valkoinen nuoli oikealle seinästä"] # 0x21f0 (en: 'rightwards white arrow from wall', google translation)
- - "⇱": [T: "ylävasemmalle osoittava nuoli nurkkaan"] # 0x21f1 (en: 'north west arrow to corner', google translation)
- - "⇲": [T: "alaoikealle osoittava nuoli nurkkaan"] # 0x21f2 (en: 'south east arrow to corner', google translation)
- - "⇳": [T: "ylös ja alas osoittava valkoinen nuoli"] # 0x21f3 (en: 'up down white arrow', google translation)
- - "⇴": [T: "oikea nuoli pienellä ympyrällä"] # 0x21f4 (en: 'right arrow with small circle', google translation)
- - "⇵": [T: "alas ja ylös osoittavat nuolet"] # 0x21f5 (en: 'downwards arrow leftwards of upwards arrow', google: 'alaspäin nuoli ylöspäin ylöspäin nuolesta')
- - "⇶": [T: "kolmoisnuoli oikealle"] # 0x21f6 (en: 'three rightwards arrows', google translation)
- - "⇷": [T: "vasen nuoli pystysuoralla viivalla"] # 0x21f7 (en: 'leftwards arrow with vertical stroke', google translation)
- - "⇸": [T: "oikea nuoli pystysuoralla viivalla"] # 0x21f8 (en: 'rightwards arrow with vertical stroke', google translation)
- - "⇹": [T: "vasemmalle ja oikealle osoittava nuoli pystysuoralla viivalla"] # 0x21f9 (en: 'left right arrow with vertical stroke', google translation)
- - "⇺": [T: "vasen nuoli kaksinkertaisella pystysuoralla viivalla"] # 0x21fa (en: 'leftwards arrow with double vertical stroke', google translation)
- - "⇻": [T: "oikea nuoli kaksinkertaisella pystysuoralla viivalla"] # 0x21fb (en: 'rightwards arrow with double vertical stroke', google translation)
- - "⇼": [T: "vasemmalle ja oikealle osoittava nuoli kaksinkertaisella pystysuoralla viivalla"] # 0x21fc (en: 'left right arrow with double vertical stroke', google translation)
- - "⇽": [T: "vasen avoin nuoli"] # 0x21fd (en: 'leftwards open headed arrow', google: 'vasen auki pää nuoli')
- - "⇾": [T: "oikea avoin nuoli"] # 0x21fe (en: 'rightwards open headed arrow', google: 'oikea avaa pään nutrow')
- - "⇿": [T: "oikealle ja vasemmalle osoittava avoin nuoli"] # 0x21ff (en: 'left right open headed arrow', google: 'vasen oikeaa auki nuoli')
- - "∁": # 0x2201
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: ""] # (google translation)
- - T: "komplementti" # (en: 'complement of', google: 'täydennys')
- - "∃": [T: "on olemassa"] # 0x2203 (en: 'there exists')
- - "∄": [T: "ei ole olemassa"] # 0x2204 (en: 'there does not exist', google: 'ei ole')
- - "∅": [T: "tyhjä joukko"] # 0x2205 (en: 'empty set', google: 'tyhjä sarja')
- - "∇": # 0x2207
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: ""] # (google translation)
- - T: "nabla" # (en: 'gradient of', google: 'gradientti')
- - "∋": [T: "sisältää alkion"] # 0x220b (en: 'contains the member', google: 'sisältää jäsenen')
- - "∌": [T: "ei sisällä alkiota"] # 0x220c (en: 'does not contain the member', google: 'ei sisällä jäsentä')
- - "∍": [T: "sisältää pienen alkion"] # 0x220d (en: 'contains the member', google: 'sisältää jäsenen')
- - "∎": [T: "todistuksen loppu"] # 0x220e (en: 'end of proof', google: 'todistuksen loppu')
- - "∏": [T: "tulo"] # 0x220f (en: 'product', google: 'tuote')
- - "∐": [T: "kotulo"] # 0x2210 (google: 'kopiointi')
- - "∑": [T: "summa"] # 0x2211 (en: 'sum')
- - "−": [T: "miinus"] # 0x2212 (en: 'minus')
- - "∓": [T: "miinus-plus"] # 0x2213 (en: 'minus or plus') # FI: check how the hyphen behaves
- - "∔": [T: "piste-plus"] # 0x2214 (en: 'dot plus', google: 'dot plus') # FI: check how the hyphen behaves
- - "∕": [T: "jakoviiva"] # 0x2215 (en: 'divided by', google: 'jaettuna')
- - "∖": [T: "joukkomiinus"] # 0x2216 (en: 'set minus', google: 'aseta miinus')
- - "∗": [T: "kertaa"] # 0x2217 (en: 'times', google: 'ajat')
- - "∙": # 0x2219
- - test:
- if: "@data-chem-formula-op"
- then: [T: "piste"] # (en: 'dot', google translation)
- else: [T: "kertaa"] # (en: 'times', google: 'ajat')
-
- - "∛": # 0x221b
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: ""] # (google translation)
- - T: "kuutiojuuri" # (en: 'cube root of')
- - "∜": # 0x221c
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: ""] # (google translation)
- - T: "neljäs juuri" # (en: 'fourth root of')
- - "∞": [T: "ääretön"] # 0x221e (en: 'infinity')
- - "∟": [T: "suora kulma"] # 0x221f (en: 'right angle', google: 'oikea kulma')
- - "∠": [T: "kulma"] # 0x2220 (en: 'angle')
- - "∡": [T: "mitattu kulma"] # 0x2221 (en: 'measured angle')
- - "∢": [T: "kaarellinen kulma"] # 0x2222 (en: 'spherical angle', google: 'pallomainen kulma')
- - "∣": [T: "jakaa"] # 0x2223 (en: 'divides')
- - "∤": [T: "ei jaa"] # 0x2224 (en: 'does not divide')
- - "∩": [T: "leikkaus"] # 0x2229 (en: 'intersection', google: 'risteys')
- - "∫": [T: "integraali"] # 0x222b (en: 'integral', google: 'olennainen')
- - "∬": [T: "kaksoisintegraali"] # 0x222c (en: 'double integral', google: 'kaksinkertainen integraali')
- - "∭": [T: "kolmoisintegraali"] # 0x222d (en: 'triple integral', google: 'kolminkertainen integraali')
- - "∯": [T: "pintaintegraali"] # 0x222f (en: 'surface integral', google: 'pinta -integraali')
- - "∰": [T: "tilavuusintegraali"] # 0x2230 (en: 'volume integral', google: 'volyymin integraali')
- - "∱": [T: "integraali myötäpäivään"] # 0x2231 (en: 'clockwise integral', google: 'myötäpäivään olennainen')
- - "∲": [T: "polkuintegraali myötäpäivään"] # 0x2232 (en: 'clockwise contour integral', google: 'myötäpäivään ääriviivat')
- - "∳": [T: "polkuintegraali vastapäivään"] # 0x2233 (en: 'anticlockwise contour integral', google: 'vastapäivään ääriviivat')
- - "∴": [T: "siis"] # 0x2234 (en: 'therefore', google: 'siksi')
- - "∵": [T: "koska"] # 0x2235 (en: 'because')
- - "∸": [T: "piste-miinus"] # 0x2238 (en: 'dot minus')
- - "∹": [T: "ylitys"] # 0x2239 (en: 'has excess compared to', google: 'on ylimääräinen verrattuna')
- - "∺": # 0x223a
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "geometrisesti verrannollinen" # (en: 'geometrically proportional to', google: 'geometrisesti verrannollinen') # FI: "geometrisesti verranollinen"?
- - "∻": # 0x223b
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "homoteettinen" # (en: 'homothetic to', google: 'homotetiikka')
- - "≀": [T: "punostulo"] # 0x2240 (en: 'wreath product', google: 'seppele tuote')
- - "≁": [T: "ei tilde"] # 0x2241 (en: 'not tilde')
- - "≂": [T: "miinus-tilde"] # 0x2242 (en: 'minus tilde')
- - "≃": # 0x2243
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "asymptoottisesti yhtä suuri kuin" # (en: 'asymptotically equal to', google: 'asymptoottisesti yhtä suuri kuin')
- - "≄": # 0x2244
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: ""] # (en: 'is', google translation)
- - T: "ei asymptoottisesti yhtäsuuri kuin" # (en: 'not asymptotically equal to', google: 'ei asymptoottisesti yhtä suuri kuin')
- - "≅": # 0x2245
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "likimäärin yhtä suuri kuin" # (en: 'approximately equal to', google: 'suunnilleen yhtä suuri kuin')
- - "≆": # 0x2246
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "likimäärin mutta ei yhtä suuri kuin" # (en: 'approximately but not actually equal to', google: 'suunnilleen, mutta ei oikeastaan yhtä suuri kuin')
- - "≇": # 0x2247
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: ""] # (en: 'is', google translation)
- - T: "ei likimäärin eikä yhtä suuri kuin" # (en: 'neither approximately nor actually equal to', google: 'ei suunnilleen eikä oikeastaan yhtä suuri kuin')
- - "≈": # 0x2248
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "likimäärin yhtä suuri kuin" # (en: 'almost equal to', google: 'melkein yhtä suuri kuin')
- - "≉": # 0x2249
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: ""] # (en: 'is', google translation)
- - T: "ei likimäärin yhtä suuri kuin" # (en: 'not almost equal to', google: 'ei melkein yhtä suuri kuin')
- - "≊": # 0x224a
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "lähes tai tasan yhtä suuri kuin" # (en: 'almost equal or equal to', google: 'melkein yhtä suuri tai yhtä suuri kuin')
- - "≋": [T: "kolmoistilde"] # 0x224b (en: 'triple tilde', google: 'kolminkertainen tilde')
- - "≌": [T: "kaikki yhtäsuuria kuin"] # 0x224c (en: 'are all equal to', google: 'ovat kaikki yhtä suuret kuin')
- - "≍": # 0x224d
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "yhtäpitävä" # (en: 'equivalent to', google: 'vastaa')
- - "≎": # 0x224e
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "geometrisesti yhtäpitävä" # (en: 'geometrically equivalent to', google: 'geometrisesti vastaavat')
- - "≏": # 0x224f
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: ""] # (google translation)
- - T: "ero välillä" # (en: 'difference between', google: 'ero välillä')
- - "≐": [T: "lähestyy raja-arvoa"] # 0x2250 (en: 'approaches the limit')
- - "≑": # 0x2251
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "geometrisesti yhtä kuin" # (en: 'geometrically equal to', google: 'geometrisesti yhtä suuri kuin')
- - "≒": # 0x2252
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "likimäärin yhtä suuri kuin tai kohteen kuva" # (google: 'suunnilleen yhtä suuri tai kuva')
- - "≓": # 0x2253
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is the', google translation)
- - T: "kohteen kuva tai likimäärin yhtä suuri kuin" # (google: 'kuva tai suunnilleen yhtä suuri kuin')
- - "≔": [T: "kaksoispiste yhtä suuri kuin"] # 0x2254 (en: 'colon equals', google: 'colol -eaksi')
- - "≕": [T: "yhtä suuri kuin kaksoispiste"] # 0x2255 (en: 'equals colon', google: 'vastaa kaksoispistettä')
- - "≖": [T: "ympyrän sisältävä yhtäläisyys"] # 0x2256 (en: 'ring in equal to', google: 'rengas yhtä suuri kuin')
- - "≗": # 0x2257
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "ympyrä yhtä suuri kuin" # (en: 'approximately equal to', google: 'suunnilleen yhtä suuri kuin')
- - "≘": [T: "kaari yhtä suuri kuin"] # 0x2258 (en: 'corresponds to', google: 'vastaa')
- - "≙": [T: "vastaa"] # 0x2259 (en: 'estimates', google: 'arviot')
- - "≚": # 0x225a
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "samakulmainen kuin" # (en: 'equiangular to', google: 'tasa -arvoinen')
- - "≛": [T: "tähti yhtä suuri kuin"] # 0x225b (en: 'star equals', google: 'tähti on yhtä suuri kuin')
- - "≜": [T: "delta yhtä suuri kuin"] # 0x225c (en: 'delta equals', google: 'delta on tasa -arvoinen')
- - "≝": [T: "määritelmän mukaan yhtä kuin"] # 0x225d (en: 'is defined to be', google: 'on määritelty olevan')
- - "≞": # 0x225e
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "mitatusti yhtä suuri kuin" # (en: 'measured by', google: 'mitattu')
- - "≟": [T: "kyseenalaisesti yhtä kuin"] # 0x225f (en: 'has an unknown relationship with', google: 'on tuntematon suhde')
- - "≢": # 0x2262
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "identtisesti eri kuin" # (en: 'not identical to', google: 'ei identtinen')
- - "≣": # 0x2263
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "vahvasti ekvivalentti" # (en: 'strictly equivalent to', google: 'tiukasti vastaa')
- - "≨": # 0x2268
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "pienempi mutta ei yhtä suuri kuin" # (en: 'less than but not equal to', google: 'vähemmän kuin, mutta ei yhtä suuri kuin')
- - "≩": # 0x2269
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "suurempi mutta ei yhtä suuri kuin" # (en: 'greater than but not equal to', google: 'suurempi kuin, mutta ei yhtä suuri kuin')
- - "≪": # 0x226a
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "paljon pienempi kuin" # (en: 'much less than', google: 'paljon vähemmän kuin')
- - "≫": # 0x226b
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "paljon suurempi kuin" # (en: 'much greater than')
- - "≬": # 0x226c
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "välissä" # (en: 'between', google: 'välillä')
- - "≭": # 0x226d
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: ""] # (en: 'is', google translation)
- - T: "ei yhtäpitävä" # (en: 'not equivalent to', google: 'ei vastaa')
- - "≮": # 0x226e
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: ""] # (en: 'is', google translation)
- - T: "ei aidosti pienempi kuin" # (en: 'not less than', google: 'ei vähempää kuin')
- - "≯": # 0x226f
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: ""] # (en: 'is', google translation)
- - T: "ei aidosti suurempi kuin" # (en: 'not greater than', google: 'enintään')
- - "≰": # 0x2270
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: ""] # (en: 'is', google translation)
- - T: "ei pienempi eikä yhtäsuuri kuin" # (en: 'neither less than nor equal to', google: 'ei vähemmän kuin yhtä suuri kuin')
- - "≱": # 0x2271
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: ""] # (en: 'is', google translation)
- - T: "ei suurempi eikä yhtäsuuri kuin" # (en: 'neither greater than nor equal to', google: 'ei suurempi kuin yhtä suuri kuin')
- - "≲": # 0x2272
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "pienempi tai yhtäpitävä" # (en: 'less than or equivalent to', google: 'vähemmän tai vastaavat')
- - "≳": # 0x2273
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "suurempi tai yhtäpitävä" # (en: 'greater than or equivalent to', google: 'suurempi tai vastaa')
- - "≴": # 0x2274
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: ""] # (en: 'is', google translation)
- - T: "ei pienempi eikä yhtäpitävä" # (en: 'neither less than nor equivalent to', google: 'ei vähemmän kuin vastaa')
- - "≵": # 0x2275
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: ""] # (en: 'is', google translation)
- - T: "ei suurempi eikä yhtäpitävä" # (en: 'neither greater than nor equivalent to', google: 'ei suurempi kuin vastaava')
- - "≶": # 0x2276
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "aidosti pienempi tai suurempi kuin" # (en: 'less than or greater than', google: 'vähemmän tai suurempi kuin')
- - "≷": # 0x2277
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "aidosti suurempi tai pienempi kuin" # (en: 'greater than or less than', google: 'suurempi tai vähemmän kuin')
- - "≸": # 0x2278
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: ""] # (en: 'is', google translation)
- - T: "ei aidosti pienempi eikä suurempi kuin" # (en: 'neither less than nor greater than', google: 'ei vähemmän kuin suurempi kuin')
- - "≹": # 0x2279
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: ""] # (en: 'is', google translation)
- - T: "ei aidosti suurempi eikä pienempi kuin" # (en: 'neither greater than nor less than', google: 'ei suurempi kuin vähemmän kuin')
- - "≺": [T: "edeltää"] # 0x227a (en: 'precedes')
- - "≻": [T: "seuraa"] # 0x227b (en: 'succeeds', google: 'onnistuu')
- - "≼": [T: "edeltää tai on yhtä kuin"] # 0x227c (en: 'precedes or is equal to', google: 'edeltää tai on yhtä suuri kuin')
- - "≽": [T: "seuraa tai on yhtä kuin"] # 0x227d (en: 'succeeds or is equal to', google: 'onnistuu tai on yhtä suuri')
- - "≾": [T: "edeltää tai on yhtäpitävä"] # 0x227e (en: 'precedes or is equivalent to', google: 'edeltää tai vastaa')
- - "≿": [T: "seuraa tai on yhtäpitävä"] # 0x227f (en: 'succeeds or is equivalent to', google: 'onnistuu tai vastaa')
- - "⊀": [T: "ei edellä"] # 0x2280 (en: 'does not precede', google: 'ei edeltä')
- - "⊁": [T: "ei seuraa"] # 0x2281 (en: 'does not succeed', google: 'ei onnistu')
- - "⊈": # 0x2288
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: ""] # (en: 'is', google translation)
- - T: "ei osajoukko eikä yhtä kuin" # (en: 'neither a subset of nor equal to', google: 'ei alajoukko eikä yhtä suuri kuin')
- - "⊉": # 0x2289
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: ""] # (en: 'is', google translation)
- - T: "ei sisällä osajoukkoa eikä yhtä kuin" # (en: 'neither a superset of nor equal to', google: 'ei ylenmääräinen eikä yhtä suuri kuin')
- - "⊊": [T: "on aito osajoukko"] # 0x228a (en: 'subset of with not equal to', google: 'osajoukko, joka ei ole yhtä suuri kuin')
- - "⊋": [T: "sisältää aidon osajoukon"] # 0x228b (en: 'superset of with not equal to', google: 'superset of with ei ole yhtä suuri kuin')
- - "⊌": [T: "monijoukko"] # 0x228c (en: 'multiset', google: 'multiset')
- - "⊍": [T: "monijoukkojen kerto"] # 0x228d (en: 'multiset multiplication', google: 'multiset -kertolasku')
- - "⊎": [T: "monijoukkojen unioni"] # 0x228e (en: 'multiset union', google: 'multiset union')
- - "⊏": [T: "kulmikas relaatio"] # 0x228f (en: 'square image of', google: 'neliökuva')
- - "⊐": [T: "käänteinen kulmikas relaatio"] # 0x2290 (en: 'square original of', google: 'neliön alkuperäinen')
- - "⊑": [T: "kulmikas relaatio tai yhtä kuin"] # 0x2291 (en: 'square image of or equal to', google: 'neliökuva tai yhtä suuri kuin')
- - "⊒": [T: "käänteinen kulmikas relaatio tai yhtä suuri kuin"] # 0x2292 (en: 'square original of or equal to', google: 'neliön alkuperäinen tai yhtä suuri kuin')
- - "⊓": [T: "kulmikas kupu"] # 0x2293 (en: 'square cap', google: 'neliö -isot')
- - "⊔": [T: "kulmikas malja"] # 0x2294 (en: 'square cup', google: 'square cup')
- - "⊕": [T: "ympyröity plus"] # 0x2295 (en: 'circled plus')
- - "⊖": [T: "ympyröity miinus"] # 0x2296 (en: 'circled minus')
- - "⊗": [T: "ympyröity kertaa"] # 0x2297 (en: 'circled times', google: 'ympyräajat')
- - "⊘": [T: "ympyröity jakoviiva"] # 0x2298 (en: 'circled slash', google: 'ympyräviiva')
- - "⊙": [T: "ympyröity piste"] # 0x2299 (en: 'circled dot operator', google: 'ympyräpisteoperaattori')
- - "⊚": [T: "ympyröity pallo"] # 0x229a (en: 'circled ring', google: 'ympyrä rengas')
- - "⊛": [T: "ympyröity tähti"] # 0x229b (en: 'circled asterisk', google: 'ympyrä tähdellä')
- - "⊜": [T: "ympyröity yhtä kuin"] # 0x229c (en: 'circled equals', google: 'ympyröity tasa -arvoinen')
- - "⊝": [T: "ympyröity viiva"] # 0x229d (en: 'circled dash')
- - "⊞": [T: "neliöity plus"] # 0x229e (en: 'squared plus', google: 'squared plus')
- - "⊟": [T: "neliöity miinus"] # 0x229f (en: 'squared minus', google: 'neliö miinus')
- - "⊠": [T: "neliöity kertaa"] # 0x22a0 (en: 'squared times', google: 'neliöajat')
- - "⊡": [T: "neliöity piste"] # 0x22a1 (en: 'squared dot operator', google: 'squared dot -operaattori')
- - "⊢": [T: "oikealle osoittava nupi"] # 0x22a2 (en: 'proves', google: 'todistaa')
- - "⊣": [T: "vasemmalle osoittava nupi"] # 0x22a3 (en: 'does not yield', google: 'ei tuota')
- - "⊤": [T: "alas osoittava nupi"] # 0x22a4 (google: 'ylhäältä')
- - "⊥": # 0x22a5
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "ylös osoittava nupi" # (google: 'pohja')
- - "⊦": [T: "assertio"] # 0x22a6 (en: 'reduces to', google: 'vähentää')
- - "⊧": [T: "toteuttaa mallina"] # 0x22a7 (en: 'models', google: 'malleja')
- - "⊨": # 0x22a8
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "tosi" # (en: 'true', google: 'totta')
- - "⊩": [T: "pakottaa"] # 0x22a9 (en: 'forces', google: 'voimat')
- - "⊪": [T: "kolmoispystyviiva ja oikeanpuoleinen kääntöportti"] # 0x22aa (en: 'triple vertical bar right turnstile', google: 'kolminkertainen pystysuora palkki oikean kääntölaite')
- - "⊫": [T: "kaksoispystyviiva ja oikeanpuoleinen kaksoiskääntöportti"] # 0x22ab (en: 'double vertical bar double right turnstile', google: 'kaksois pystysuora palkki kaksinkertainen oikea käänne')
- - "⊬": [T: "ei todista"] # 0x22ac (en: 'does not prove', google: 'ei todista')
- - "⊭": # 0x22ad
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "epätosi" # (en: 'not true', google: 'ei totta')
- - "⊮": [T: "ei pakota"] # 0x22ae (en: 'does not force', google: 'ei pakota')
- - "⊯": [T: "ei kaksoispystyviiva ja oikeanpuolenen kaksoiskääntöportti"] # 0x22af (en: 'negated double vertical bar double right turnstile', google: 'kielteinen kaksinkertainen pystysuora palkki kaksinkertainen oikea käänne')
- - "⊰": [T: "edeltää relaatiossa"] # 0x22b0 (en: 'precedes under relation', google: 'edeltää suhteessa')
- - "⊱": [T: "seuraa relaatiossa"] # 0x22b1 (en: 'succeeds under relation', google: 'onnistuu suhteessa')
- - "⊲": # 0x22b2
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "normaali aliryhmä" # (en: 'a normal subgroup of', google: 'normaali alaryhmä')
- - "⊳": [T: "sisältää normaalin aliryhmän"] # 0x22b3 (en: 'contains as a normal subgroup', google: 'sisältää normaalina alaryhmänä')
- - "⊴": # 0x22b4
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "normaali aliryhmä tai yhtä kuin" # (en: 'a normal subgroup of or equal to', google: 'normaali alaryhmä tai yhtä suuri')
- - "⊵": [T: "sisältää normaalin aliryhmän tai on yhtä kuin"] # 0x22b5 (en: 'contains as a normal subgroup or equal to', google: 'sisältää normaalina alaryhmänä tai yhtä suuri kuin')
- - "⊶": # 0x22b6
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "alkukuva" # (en: 'the original of', google: 'alkuperäinen')
- - "⊷": # 0x22b7
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "kuva" # (en: 'an image of', google: 'kuva')
- - "⊸": [T: "monikuvaus"] # 0x22b8
- - "⊹": [T: "Hermiten konjugaattimatriisi"] # 0x22b9 (en: 'hermitian conjugate matrix', google: 'hermitian konjugaattimatriisi')
- - "⊺": [T: "interkalaatio"] # 0x22ba (google: 'interkalaatti')
- - "⊻": [T: "joko tai"] # 0x22bb
- - "⊼": [T: "ja ei"] # 0x22bc
- - "⊽": [T: "tai ei"] # 0x22bd (google: 'ei myöskään')
- - "⊾": [T: "suora kulma kaarella"] # 0x22be (en: 'right angle with arc', google: 'suorakulma kaarilla')
- - "⊿": [T: "oikeanpuoleinen kolmio"] # 0x22bf (en: 'right triangle')
- - "⋀": [T: "monikkokonjuktio"] # 0x22c0 (en: 'logical and', google: 'looginen ja')
- - "⋁": [T: "monikkodisjunktio"] # 0x22c1 (en: 'logical or', google: 'looginen tai')
- - "⋂": [T: "monikkoleikkaus"] # 0x22c2 (en: 'intersection', google: 'risteys')
- - "⋃": [T: "monikkounioni"] # 0x22c3 (en: 'union', google: 'liitto')
- - "⋄": [T: "timantti"] # 0x22c4 (en: 'diamond operator', google: 'timanttioperaattori')
- - "⋅": # 0x22c5
- - test:
- if: "@data-chem-formula-op"
- then: [T: "piste"] # (en: 'dot', google translation)
- else: [T: "kertaa"] # (en: 'times', google: 'ajat')
-
- - "⋆": [T: "kertaa"] # 0x22c6 (en: 'times', google: 'ajat')
- - "⋇": [T: "jako kertaa"] # 0x22c7 (en: 'division times', google: 'jako -ajat')
- - "⋈": [T: "rusetti"] # 0x22c8 (en: 'bowtie', google: 'rusetti')
- - "⋉": # 0x22c9
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "vasemmanpuoleinen normaalitekijäinen puolisuora tulo" # (en: 'the left normal factor semidirect product of', google: 'vasen normaali tekijä semidirect -tuote')
- - "⋊": # 0x22ca
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "oikeanpuoleinen normaalitekijäinen puolisuora tulo" # (en: 'the right normal factor semidirect product of', google: 'oikea normaali tekijä semidirect -tuote')
- - "⋋": # 0x22cb
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "vasemmanpuoleinen puolisuora tulo" # (en: 'the left semidirect product of', google: 'vasen puolisirektin tuote')
- - "⋌": # 0x22cc
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "oikeanpuoleinen puolisuora tulo" # (en: 'the right semidirect product of', google: 'oikea semidirect -tuote')
- - "⋍": [T: "käänteinen tilde yhtäsuuruus"] # 0x22cd (en: 'reversed tilde equals', google: 'käänteinen tilde on tasa -arvoinen')
- - "⋎": [T: "kaareva looginen tai"] # 0x22ce (en: 'curly logical or', google: 'kihara looginen tai')
- - "⋏": [T: "kaareva looginen ja"] # 0x22cf (en: 'curly logical and', google: 'curly looginen ja')
- - "⋐": # 0x22d0
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "kaksoisosajoukko" # (en: 'a double subset of', google: 'kaksinkertainen osajoukko')
- - "⋑": # 0x22d1
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "kaksoisylijoukko" # (en: 'a double superset of', google: 'kaksinkertainen superset')
- - "⋒": # 0x22d2
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: ""] # (google translation)
- - T: "kaksoisleikkaus" # (en: 'double intersection of', google: 'kaksinkertainen risteys')
- - "⋓": # 0x22d3
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: ""] # (google translation)
- - T: "kaksoisunioni" # (en: 'double union of', google: 'kaksinkertainen liitto')
- - "⋔": # 0x22d4
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: ""] # (google translation)
- - T: "hanko" # (en: 'proper intersection of', google: 'oikea risteys')
- - "⋕": # 0x22d5
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "yhtäsuuri ja yhdensuuntainen" # (en: 'equal to and parallel to', google: 'yhtä suuri kuin sen kanssa ja yhdensuuntainen')
- - "⋖": [T: "piste pienempi kuin"] # 0x22d6 (en: 'less than with dot', google: 'vähemmän kuin pisteellä')
- - "⋗": [T: "piste suurempi kuin"] # 0x22d7 (en: 'greater than with dot', google: 'suurempi kuin pisteellä')
- - "⋘": # 0x22d8
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "hyvin paljon pienempi kuin" # (en: 'very much less than', google: 'hyvin vähemmän kuin')
- - "⋙": # 0x22d9
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "hyvin paljon suurempi kuin" # (en: 'very much greater than', google: 'erittäin suurempi kuin')
- - "⋚": # 0x22da
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "pienempi, yhtäsuuri tai suurempi kuin" # (en: 'less than equal to or greater than', google: 'vähemmän kuin yhtä suuri tai suurempi kuin')
- - "⋛": # 0x22db
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "suurempi, yhtäsuuri tai pienempi kuin" # (en: 'greater than equal to or less than', google: 'suurempi kuin yhtä suuri tai vähemmän kuin')
- - "⋜": # 0x22dc
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "yhtäsuuri tai pienempi kuin" # (en: 'equal to or less than', google: 'yhtä suuri tai vähemmän kuin')
- - "⋝": # 0x22dd
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "yhtäsuuri tai suurempi kuin" # (en: 'equal to or greater than', google: 'yhtä suuri tai suurempi kuin')
- - "⋞": # 0x22de
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "yhtä kuin tai edeltää" # (en: 'equal to or precedes', google: 'yhtä suuri tai edeltää')
- - "⋟": # 0x22df
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "yhtä kuin tai seuraa" # (en: 'equal to or succeeds', google: 'yhtä suuri tai onnistuu')
- - "⋠": [T: "ei edellä eikä yhtä kuin"] # 0x22e0 (en: 'does not precede nor is equal to', google: 'ei edeltä eikä ole yhtä suuri kuin')
- - "⋡": [T: "ei seuraa eikä yhtä kuin"] # 0x22e1 (en: 'does not succeed nor is equal to', google: 'ei onnistu eikä ole yhtä suuri kuin')
- - "⋢": [T: "ei kulmikas relaatio tai yhtä suuri kuin"] # 0x22e2 (en: 'not square image of or equal to', google: 'ei neliökuva tai yhtä suuri kuin')
- - "⋣": [T: "ei käänteinen kulmikas relaatio tai yhtä suuri kuin"] # 0x22e3 (en: 'not square original of or equal to', google: 'ei neliömäinen alkuperäinen tai yhtä suuri kuin')
- - "⋤": [T: "kulmikas relaatio ja ei yhtä suuri kuin"] # 0x22e4 (en: 'square image of or not equal to', google: 'neliökuva tai ei ole yhtä suuri kuin')
- - "⋥": [T: "kulmikas käänteinen relaatio ja ei yhtä suuri kuin"] # 0x22e5 (en: 'square original of or not equal to', google: 'neliön alkuperäinen tai ei ole yhtä suuri kuin')
- - "⋦": # 0x22e6
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "pienempi kuin mutta ei ekvivalentti" # (en: 'less than but not equivalent to', google: 'vähemmän kuin, mutta ei vastaava')
- - "⋧": # 0x22e7
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "suurempi kuin mutta ei ekvivalentti" # (en: 'greater than but not equivalent to', google: 'suurempi kuin mutta ei vastaa')
- - "⋨": [T: "edeltää mutta ei ole ekvivalentti"] # 0x22e8 (en: 'precedes but is not equivalent to', google: 'edeltää, mutta ei vastaa')
- - "⋩": [T: "seuraa mutta ei ole ekvivalentti"] # 0x22e9 (en: 'succeeds but is not equivalent to', google: 'onnistuu, mutta ei vastaa')
- - "⋪": # 0x22ea
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: ""] # (en: 'is', google translation)
- - T: "ei ole normaali aliryhmä" # (en: 'not a normal subgroup of', google: 'ei normaali alaryhmä')
- - "⋫": [T: "ei sisällä normaalia aliryhmää"] # 0x22eb (en: 'does not contain as a normal subgroup', google: 'ei sisällä normaalia alaryhmää')
- - "⋬": # 0x22ec
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: ""] # (en: 'is', google translation)
- - T: "ei ole normaali aliryhmä tai yhtä kuin" # (en: 'not a normal subgroup of nor is equal to', google: 'ei normaali alaryhmä, joka ei ole yhtä suuri')
- - "⋭": [T: "ei sisällä normaalina aliryhmänä tai ole yhtä kuin"] # 0x22ed (en: 'does not contain as a normal subgroup nor is equal to', google: 'ei sisällä normaalia alaryhmää eikä ole yhtä suuri kuin')
- - "⋮": [T: "pystyellipsi"] # 0x22ee (en: 'vertical ellipsis', google: 'pystysuora ellipsis') # FI: context? used in matrices?
- - "⋯": [T: "piste piste piste"] # 0x22ef (en: 'dot dot dot', google: 'dot dot dot')
- - "⋰": [T: "nouseva ellipsi"] # 0x22f0 (en: 'upwards diagonal ellipsis', google: 'ylöspäin diagonaalinen ellipsi') # FI: context? used in matrices?
- - "⋱": [T: "laskeva ellipsi"] # 0x22f1 (en: 'diagonal ellipsis', google: 'diagonaalinen ellipsis') # FI: context? used in matrices?
- - "⋲": [T: "poikkiviivainen kuulumismerkki"] # 0x22f2 (en: 'element of with long horizontal stroke', google: 'elementti pitkällä vaakasuoralla iskulla')
- - "⋳": [T: "kuulumismerkki pystyviivaan päättyvällä poikkiviivalla"] # 0x22f3 (en: 'element of with vertical bar at end of horizontal stroke', google: 'elementti pystysuoralla tankolla vaakasuoran iskun lopussa')
- - "⋴": [T: "pieni kuulumismerkki pystyviivaan päättyvällä poikkiviivalla"] # 0x22f4 (en: 'element of with vertical bar at end of horizontal stroke', google: 'elementti pystysuoralla tankolla vaakasuoran iskun lopussa')
- - "⋵": [T: "kuuluu joukkoon pisteellä"] # 0x22f5 (en: 'element of with dot above', google: 'elementti yllä olevalla pisteellä')
- - "⋶": [T: "kuuluu joukkoon yläviivalla"] # 0x22f6 (en: 'element of with overbar', google: 'elementti ylikuormituksella')
- - "⋷": [T: "pieni kuuluu joukkoon yläviivalla"] # 0x22f7 (en: 'element of with overbar', google: 'elementti ylikuormituksella')
- - "⋸": [T: "kuuluu joukkoon alaviivalla"] # 0x22f8 (en: 'element of with underbar', google: 'elementti alakerroksella')
- - "⋹": [T: "kuuluu joukkoon kaksoispoikkiviivalla"] # 0x22f9 (en: 'element of with two horizontal strokes', google: 'elementti kahdella vaakasuuntaisella iskulla')
- - "⋺": [T: "käänteinen kuuluu joukkoon poikkiviivalla"] # 0x22fa (en: 'contains with long horizontal stroke', google: 'sisältää pitkällä vaakasuoralla iskulla')
- - "⋻": [T: "käänteinen kuuluu joukkoon pystyviivaan päättyvällä poikkiviivalla"] # 0x22fb (en: 'contains with vertical bar at end of horizontal stroke', google: 'sisältää pystysuoran palkin vaakasuoran iskun lopussa')
- - "⋼": [T: "pieni käänteinen kuuluu joukkoon pystyviivaan päättyvällä poikkiviivalla"] # 0x22fc (en: 'contains with vertical bar at end of horizontal stroke', google: 'sisältää pystysuoran palkin vaakasuoran iskun lopussa')
- - "⋽": [T: "sisältää tai on yhtä suuri kuin"] # 0x22fd (en: 'contains with overbar', google: 'sisältää ylikuormituksen kanssa')
- - "⋾": [T: "pieni sisältää tai on yhtä suuri kuin"] # 0x22fe (en: 'contains with overbar', google: 'sisältää ylikuormituksen kanssa')
- - "⋿": [T: "Z-notaation laukkuun kuulumisen merkki"] # 0x22ff (google: 'z -merkintälaukun jäsenyys')
- - "⌀": [T: "halkaisija"] # 0x2300 (en: 'diameter')
- - "⌁": [T: "sähkönuoli"] # 0x2301 (en: 'electric arrow', google translation)
- - "⌂": [T: "talo"] # 0x2302 (en: 'house')
- - "⌃": [T: "nuolenpää ylös"] # 0x2303 (en: 'up arrowhead', google translation)
- - "⌄": [T: "nuolenpää alas"] # 0x2304 (en: 'down arrowhead', google translation)
- - "⌅": [T: "projektio"] # 0x2305 (en: 'projective', google: 'projektiivinen')
- - "⌆": [T: "perspektiivi"] # 0x2306 (en: 'perspective', google: 'näkökulma')
- - "⌇": [T: "aaltoviiva"] # 0x2307 (en: 'wavy line', google translation)
- - "⌈": [T: "vasen katto"] # 0x2308 (en: 'left ceiling')
- - "⌉": [T: "oikea katto"] # 0x2309 (en: 'right ceiling')
- - "⌊": [T: "vasen lattia"] # 0x230a (en: 'left floor')
- - "⌋": [T: "oikea lattia"] # 0x230b (en: 'right floor', google: 'oikea kerros')
- - "⌌": [T: "oikea alanurkkarajaus"] # 0x230c (en: 'bottom right crop', google: 'oikea alareuna')
- - "⌍": [T: "vasen alanurkkarajaus"] # 0x230d (en: 'bottom left crop', google: 'vasen alakulma')
- - "⌎": [T: "oikea ylänurkkarajaus"] # 0x230e (en: 'top right crop', google: 'oikea yläosa')
- - "⌏": [T: "vasen ylänurkkarajaus"] # 0x230f (en: 'top left crop', google: 'vasen yläosa sato')
- - "⌐": [T: "käännetty negaatio"] # 0x2310 (en: 'reversed not sign', google: 'kääntynyt ei allekirjoitettu')
- - "⌑": [T: "tyynysymboli"] # 0x2311 (google translation)
- - "⌒": [T: "yläkaari"] # 0x2312 (en: 'arc', google: 'kaari')
- - "⌓": [T: "segmentti"] # 0x2313 (en: 'segment')
- - "⌔": [T: "sektori"] # 0x2314 (en: 'sector', google translation)
- - "⌕": [T: "suurennuslasi"] # 0x2315 (google: 'puhelintallistin')
- - "⌖": [T: "tähtäin"] # 0x2316 (en: 'position indicator crosshairs', google: 'aseman ilmaisimen ristikkäit')
- - "⌗": [T: "risuaita"] # 0x2317 (en: 'viewdata square', google translation)
- - "⌘": [T: "hannunvaakuna"] # 0x2318 (en: 'place of interest sign', google: 'kiinnostuksen kohteena oleva merkki')
- - "⌙": [T: "kääntynyt negaatio"] # 0x2319 (en: 'turned not sign', google translation)
- - "⌚": [T: "kello"] # 0x231a (en: 'watch', google: 'katsella')
- - "⌛": [T: "tiimalasi"] # 0x231b (en: 'hourglass', google translation)
- - "⌜": [T: "vasen ylänurkka"] # 0x231c (en: 'top left corner', google: 'vasen yläkulma')
- - "⌝": [T: "oikea ylänurkka"] # 0x231d (en: 'top right corner', google: 'oikea yläkulma')
- - "⌞": [T: "vasen alanurkka"] # 0x231e (en: 'bottom left corner', google: 'vasen alakulma')
- - "⌟": [T: "oikea alanurkka"] # 0x231f (en: 'bottom right corner', google: 'oikea alakulma')
- - "⌠": [T: "integraalin yläpuoli"] # 0x2320 (en: 'top half integral', google: 'top -puoliksi olennainen')
- - "⌡": [T: "integraalin alapuoli"] # 0x2321 (en: 'bottom half integral', google: 'pohjapuoliskon integraali')
- - "⌢": [T: "yläkaari"] # 0x2322 (en: 'frown', google: 'kulma')
- - "⌣": [T: "alakaari"] # 0x2323 (en: 'smile', google: 'hymy')
- - "⌤": [T: "nuolenpää ylös kahden vaakasuoran palkin välissä"] # 0x2324 (en: 'up arrowhead between two horizontal bars', google translation)
- - "⌥": [T: "option"] # 0x2325 (en: 'option key', google translation)
- - "⌦": [T: "poista oikealle"] # 0x2326 (en: 'erase to the right', google translation)
- - "⌧": [T: "suorakulmiossa oleva rasti"] # 0x2327 (en: 'x in a rectangle box', google translation)
- - "⌨": [T: "näppäimistö"] # 0x2328 (en: 'keyboard', google translation)
- - "〈": [T: "vasen kulmasulku"] # 0x2329 (en: 'left pointing angle bracket', google: 'vasen osoituskulmakiinnike')
- - "〉": [T: "oikea kulmasulku"] # 0x232a (en: 'right pointing angle bracket', google: 'oikea osoituskulmakiinnike')
- - "⌫": [T: "poista vasemmalle"] # 0x232b (en: 'erase to the left', google translation)
- - "⌬": [T: "bentseenirengas"] # 0x232c (en: 'benzene ring', google translation)
- - "⌭": [T: "sylinterisyys"] # 0x232d (google: 'sylinteryys')
- - "⌮": [T: "profiilin ympäri"] # 0x232e (en: "all around profile" google: 'ympäri profiilia') # FI: translation unclear
- - "⌯": [T: "symmetria"] # 0x232f (en: 'symmetry', google translation)
- - "⌰": [T: "toleranssin yhteissumma"] # 0x2330 (en: 'total runout', google translation) # FI: meaning bit unclear, placeholder for correct
- - "⌱": [T: "alkudimensio"] # 0x2331 (en: 'dimension origin', google translation) # FI: translation unclear
- - "⌲": [T: "kartiovähentyminen"] # 0x2332 (en: 'conical taper', google translation) # FI: translation unclear
- - "⌳": [T: "kaltevuus"] # 0x2333 (en: 'slope', google translation)
- - "⌴": [T: "tasoupotin"] # 0x2334 (en: 'counterbore', google translation)
- - "⌵": [T: "kärkiupotin"] # 0x2335 (en: 'countersink', google translation)
- - "⍰": [T: "kysymysmerkki laatikossa"] # 0x2370 (en: 'unknown box', google: 'tuntematon laatikko')
- - "⎕": [T: "laatikko"] # 0x2395 (en: 'box', google translation)
- - "⏞": [T: "yläaaltosulku"] # 0x23DE (en: 'top brace', google: 'ylä ahdin')
- - "⏟": [T: "ala-aaltosulku"] # 0x23DF (en: 'bottom brace', google: 'pohja ahdin')
- - "①-⑨": # 0x2460 - 0x2469
- - T: "ympyröity" # (en: 'circled', google: 'ympyröi')
- - SPELL: "translate('.', '①②③④⑤⑥⑦⑧⑨', '123456789')"
- - "⑩": [T: "ympyröity kymmenen"] # 0x2469 (en: 'circled ten', google translation)
- - "⑪": [T: "ympyröity yksitoista"] # 0x246a (en: 'circled eleven', google translation)
- - "⑫": [T: "ympyröity kaksitoista"] # 0x246b (en: 'circled twelve', google translation)
- - "⑬": [T: "ympyröity kolmetoista"] # 0x246c (en: 'circled thirteen', google translation)
- - "⑭": [T: "ympyröity neljätoista"] # 0x246d (en: 'circled fourteen', google translation)
- - "⑮": [T: "ympyröity viisitoista"] # 0x246e (en: 'circled fifteen', google translation)
- - "⑯": [T: "ympyröity kuusitoista"] # 0x246f (en: 'circled sixteen', google translation)
- - "⑰": [T: "ympyröity seitsemäntoista"] # 0x2470 (en: 'circled seventeen', google translation)
- - "⑱": [T: "ympyröity kahdeksantoista"] # 0x2471 (en: 'circled eighteen', google translation)
- - "⑳": [T: "ympyröity kaksikymmentä"] # 0x2473 (en: 'circled twenty', google translation)
- - "⑴-⑼": # 0x2474 - 0x247d
- - T: "suluissa" # (en: 'parenthesized', google translation)
- - SPELL: "translate('.', '⑴⑵⑶⑷⑸⑹⑺⑻⑼', '123456789')"
- - "⑽": [T: "suluissa kymmenen"] # 0x247d (en: 'parenthesized ten', google translation)
- - "⑾": [T: "suluissa yksitoista"] # 0x247e (en: 'parenthesized eleven', google translation)
- - "⑿": [T: "suluissa kaksitoista"] # 0x247f (en: 'parenthesized twelve', google translation)
- - "⒀": [T: "suluissa kolmetoista"] # 0x2480 (en: 'parenthesized thirteen', google translation)
- - "⒁": [T: "suluissa neljätoista"] # 0x2481 (en: 'parenthesized fourteen', google translation)
- - "⒂": [T: "suluissa viisitoista"] # 0x2482 (en: 'parenthesized fifteen', google translation)
- - "⒃": [T: "suluissa kuusitoista"] # 0x2483 (en: 'parenthesized sixteen', google translation)
- - "⒄": [T: "suluissa seitsemäntoista"] # 0x2484 (en: 'parenthesized seventeen', google translation)
- - "⒅": [T: "suluissa kahdeksantoista"] # 0x2485 (en: 'parenthesized eighteen', google translation)
- - "⒆": [T: "suluissa yhdeksäntoista"] # 0x2486 (en: 'parenthesized nineteen', google translation)
- - "⒇": [T: "suluissa kaksikymmentä"] # 0x2487 (en: 'parenthesized twenty', google translation)
- - "⒈-⒐": # 0x2488 - 0x2491 # FI: should these be ordinals?
- - SPELL: "translate('.', '⒈⒉⒊⒋⒌⒍⒎⒏⒐', '123456789')"
- - T: "pisteellä" # (en: 'with period', google translation)
- - "⒑": [T: "kymmenen pisteellä"] # 0x2491 (en: 'ten with period', google translation)
- - "⒒": [T: "yksitoista pisteellä"] # 0x2492 (en: 'eleven with period', google translation)
- - "⒓": [T: "kaksitoista pisteellä"] # 0x2493 (en: 'twelve with period', google translation)
- - "⒔": [T: "kolmetoista pisteellä"] # 0x2494 (en: 'thirteen with period', google translation)
- - "⒕": [T: "neljätoista pisteellä"] # 0x2495 (en: 'fourteen with period', google translation)
- - "⒖": [T: "viisitoista pisteellä"] # 0x2496 (en: 'fifteen with period', google translation)
- - "⒗": [T: "kuusitoista pisteellä"] # 0x2497 (en: 'sixteen with period', google translation)
- - "⒘": [T: "seitsemäntoista pisteellä"] # 0x2498 (en: 'seventeen with period', google translation)
- - "⒙": [T: "kahdeksantoista pisteellä"] # 0x2499 (en: 'eighteen with period', google translation)
- - "⒚": [T: "yhdeksäntoista pisteellä"] # 0x249a (en: 'nineteen with period', google translation)
- - "⒛": [T: "kaksikymmentä pisteellä"] # 0x249b (en: 'twenty with period', google translation)
- - "⒜-⒵": # 0x249c - 0x24b5
- - T: "suluissa" # (en: 'parenthesized', google translation)
- - SPELL: "translate('.', '⒜⒝⒞⒟⒠⒡⒢⒣⒤⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "Ⓐ-Ⓩ":
- - T: "ympyröity" # (en: 'circled', google translation)
- - SPELL: "translate('.', 'ⒶⒷⒸⒹⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉⓊⓋⓌⓍⓎⓏ', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "🅐-🅩": # 0x1f150 - 0x1f169
- - T: "musta ympyröity" # (en: 'black circled', google translation)
- - SPELL: "translate('.', '🅐🅑🅒🅓🅔🅕🅖🅗🅘🅙🅚🅛🅜🅝🅞🅟🅠🅡🅢🅣🅤🅥🅦🅧🅨🅩', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "ⓐ-ⓩ": # 0x24d0 - 0x24e9
- - T: "ympyröity" # (en: 'circled', google translation)
- - SPELL: "translate('.', 'ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ', 'abcdefghijklmnopqrstuvwxyz')"
- - "⓪": [T: "ympyröity nolla"] # 0x24ea (en: 'circled zero', google translation)
- - "⓫": [T: "musta ympyröity yksitoista"] # 0x24eb (en: 'black circled eleven', google translation)
- - "⓬": [T: "musta ympyröity kaksitoista"] # 0x24ec (en: 'black circled twelve', google translation)
- - "⓭": [T: "musta ympyröity kolmetoista"] # 0x24ed (en: 'black circled thirteen', google translation)
- - "⓮": [T: "musta ympyröity neljätoista"] # 0x24ee (en: 'black circled fourteen', google translation)
- - "⓯": [T: "musta ympyröity viisitoista"] # 0x24ef (en: 'black circled fifteen', google translation)
- - "⓰": [T: "musta ympyröity kuusitoista"] # 0x24f0 (en: 'black circled sixteen', google translation)
- - "⓱": [T: "musta ympyröity seitsemäntoista"] # 0x24f1 (en: 'black circled seventeen', google translation)
- - "⓲": [T: "musta ympyröity kahdeksantoista"] # 0x24f2 (en: 'black circled eighteen', google translation)
- - "⓳": [T: "musta ympyröity yhdeksäntoista"] # 0x24f3 (en: 'black circled nineteen', google translation)
- - "⓴": [T: "musta ympyröity kaksikymmentä"] # 0x24f4 (en: 'black circled twenty', google translation)
- - "⓵-⓽": # 0x24f5 - 0x24fe
- - T: "kaksinkertaisesti ympyröity" # (en: 'double circled', google translation)
- - SPELL: "translate('.', '⓵⓶⓷⓸⓹⓺⓻⓼⓽', '123456789')"
- - "⓾": [T: "kaksinkertaisesti ympyröity kymmenen"] # 0x24fe (en: 'double circled ten', google translation)
- - "⓿": [T: "musta ympyröity nolla"] # 0x24ff (en: 'black circled zero', google translation)
- - "■": [T: "musta neliö"] # 0x25a0 (en: 'black square')
- - "□": [T: "valkoinen neliö"] # 0x25a1 (en: 'white square')
- - "▢": [T: "pyöreäkulmainen valkoinen neliö"] # 0x25a2 (en: 'white square with rounded corners', google translation)
- - "▣": [T: "mustan neliön sisältävä valkoinen neliö"] # 0x25a3 (en: 'white square containing small black square', google translation)
- - "▤": [T: "neliö vaakasuoralla värityksellä"] # 0x25a4 (en: 'square with horizontal fill', google translation)
- - "▥": [T: "neliö pystysuoralla värityksellä"] # 0x25a5 (en: 'square with vertical fill', google translation)
- - "▦": [T: "neliö ruudukkovärityksellä"] # 0x25a6 (en: 'square with orthogonal crosshatch fill', google translation)
- - "▧": [T: "neliö värityksellä ylävasemmalta alaoikelle"] # 0x25a7 (en: 'square with upper left to lower right fill', google translation)
- - "▨": [T: "neliö värityksellä yläoikealta alavasemmalle"] # 0x25a8 (en: 'square with upper right to lower left fill', google translation)
- - "▩": [T: "neliö diagonaalisella ristikkovärityksellä"] # 0x25a9 (en: 'square with diagonal crosshatch fill', google translation)
- - "▪": [T: "pieni musta neliö"] # 0x25aa (en: 'black small square', google: 'musta pieni neliö')
- - "▫": [T: "pieni valkoinen neliö"] # 0x25ab (en: 'white small square', google: 'valkoinen pieni neliö')
- - "▬": [T: "musta suorakaide"] # 0x25ac (en: 'black rectangle', google translation)
- - "▭": [T: "valkoinen suorakaide"] # 0x25ad (en: 'white rectangle', google: 'valkoinen suorakulmio')
- - "▮": [T: "musta pysty suorakaide"] # 0x25ae (en: 'black vertical rectangle', google: 'musta pystysuora suorakulmio')
- - "▯": [T: "valkoinen pysty suorakaide"] # 0x25af (en: 'white vertical rectangle', google: 'valkoinen pystysuora suorakulmio')
- - "▰": [T: "musta suunnikas"] # 0x25b0 (en: 'black parallelogram', google translation)
- - "▱": [T: "valkoinen suunnikas"] # 0x25b1 (en: 'white parallelogram', google: 'valkoinen rinnakkainen ohjelma')
- - "▲": [T: "musta ylös osoittava kolmio"] # 0x25b2 (en: 'black up pointing triangle', google: 'musta ylöspäin osoittava kolmio')
- - "△": [T: "valkoinen ylös osoittava kolmio"] # 0x25b3 (en: 'white up pointing triangle', google: 'valkoinen osoitus kolmio')
- - "▴": [T: "pieni musta ylös osoittava kolmio"] # 0x25b4 (en: 'black up pointing small triangle', google: 'musta ylös osoittaen pientä kolmiota')
- - "▵": [T: "pieni valkoinen ylös osoittava kolmio"] # 0x25b5 (en: 'white up pointing small triangle', google: 'valkoinen osoittaen pientä kolmiota')
- - "▶": [T: "musta oikealle osoittava kolmio"] # 0x25b6 (en: 'black right pointing triangle', google: 'musta oikea osoitus kolmio')
- - "▷": [T: "valkoinen oikealle osoittava kolmio"] # 0x25b7 (en: 'white right pointing triangle', google: 'valkoinen oikea osoitus kolmio')
- - "▸": [T: "pieni musta oikealle osoittava kolmio"] # 0x25b8 (en: 'black right pointing small triangle', google: 'musta oikea osoittaen pieni kolmio')
- - "▹": [T: "pieni valkoinen oikealle osoittava kolmio"] # 0x25b9 (en: 'white right pointing small triangle', google: 'valkoinen oikea osoittaen pieni kolmio')
- - "►": [T: "musta oikea osoitin"] # 0x25ba (en: 'black right pointing pointer', google translation)
- - "▻": [T: "valkoinen oikea osoitin"] # 0x25bb (en: 'white right pointing pointer', google translation)
- - "▼": [T: "musta alas osoittava kolmio"] # 0x25bc (en: 'black down pointing triangle', google: 'musta alaspäin osoittava kolmio')
- - "▽": [T: "valkoinen alas osoittava kolmio"] # 0x25bd (en: 'white down pointing triangle', google: 'valkoinen alaspäin osoittava kolmio')
- - "▾": [T: "pieni musta alas osoittava kolmio"] # 0x25be (en: 'black down pointing small triangle', google: 'musta alaspäin osoittaen pieni kolmio')
- - "▿": [T: "pieni valkoinen alas osoittava kolmio"] # 0x25bf (en: 'white down pointing small triangle', google: 'valkoinen alas osoittaen pieni kolmio')
- - "◀": [T: "musta vasemmalle osoittava kolmio"] # 0x25c0 (en: 'black left pointing triangle', google: 'musta vasen osoitus kolmio')
- - "◁": [T: "valkoinen vasemmalle osoittava kolmio"] # 0x25c1 (en: 'white left pointing triangle', google: 'valkoinen vasen osoitus kolmio')
- - "◂": [T: "pieni musta vasemmalle osoittava kolmio"] # 0x25c2 (en: 'black left pointing small triangle', google: 'musta vasen osoittaa pieni kolmio')
- - "◃": [T: "pieni valkoinen vasemmalle osoittava kolmio"] # 0x25c3 (en: 'white left pointing small triangle', google: 'valkoinen vasen osoitus pieni kolmio')
- - "◄": [T: "musta vasemmalle osoittava osoitin"] # 0x25c4 (en: 'black left pointing pointer', google: 'musta vasen osoitin')
- - "◅": [T: "valkoinen vasemmalle osoittava osoitin"] # 0x25c5 (en: 'white left pointing pointer', google: 'valkoinen vasen osoitin')
- - "◆": [T: "musta timantti"] # 0x25c6 (en: 'black diamond', google: 'musta timantti')
- - "◇": [T: "valkoinen timantti"] # 0x25c7 (en: 'white diamond', google: 'valkoinen timantti')
- - "◈": [T: "valkoinen timantti jonka sisällä musta timantti"] # 0x25c8 (en: 'white diamond containing black small diamond', google: 'valkoinen timantti, joka sisältää mustan pienen timantin')
- - "◉": [T: "valkoinen ympyrä jonka sisällä musta ympyrä"] # 0x25c9 (en: 'fisheye', google: 'kalake')
- - "◊": [T: "vinoneliö"] # 0x25ca (en: 'lozenge', google: 'pastilli')
- - "○": [T: "valkoinen ympyrä"] # 0x25cb (en: 'white circle')
- - "◌": [T: "pisteympyrä"] # 0x25cc (en: 'dotted circle', google: 'pisteympyrä')
- - "◍": [T: "ympyrä ja pystysuora viivoitus"] # 0x25cd (en: 'circle with vertical fill', google: 'ympyrä pystysuoralla täyttöä')
- - "◎": [T: "kaksi sisäkkäistä ympyrää"] # 0x25ce (en: 'bullseye', google: 'bullseye')
- - "●": [T: "musta ympyrä"] # 0x25cf (en: 'black circle')
- - "◐": [T: "ympyrä vasen puoli musta"] # 0x25d0 (en: 'circle with left half black', google: 'ympyrä vasemmalla puoliksi mustalla')
- - "◑": [T: "ympyrä oikea puoli musta"] # 0x25d1 (en: 'circle with right half black', google: 'ympyrä oikealla puoliksi mustalla')
- - "◒": [T: "ympyrä alapuoli musta"] # 0x25d2 (en: 'circle with lower half black', google: 'ympyrä, jossa on alaosa musta')
- - "◓": [T: "ympyrä yläpuoli musta"] # 0x25d3 (en: 'circle with upper half black', google: 'ympyrä yläpuoliskolla mustalla')
- - "◔": [T: "ympyrä yläoikea neljännes musta"] # 0x25d4 (en: 'circle with upper right quadrant black', google: 'ympyrä oikealla yläkulmalla kvadrantti musta')
- - "◕": [T: "ympyrä ylävasen neljännes mustaamatta"] # 0x25d5 (en: 'circle with all but upper left quadrant black', google: 'ympyrä kaikilla paitsi vasemmalla yläosalla mustaa')
- - "◖": [T: "musta vasen puoliympyrä"] # 0x25d6 (en: 'left half black circle', google: 'vasen puoli musta ympyrä')
- - "◗": [T: "musta oikea puoliympyrä"] # 0x25d7 (en: 'right half black circle', google: 'oikea puoli musta ympyrä')
- - "◘": [T: "luetelmapallon negatiivi"] # 0x25d8 (en: 'inverse bullet', google: 'käänteinen luoti')
- - "◙": [T: "valkoisen ympyrän negatiivi"] # 0x25d9 (en: 'inverse white circle', google: 'käänteinen valkoinen ympyrä')
- - "◚": [T: "valkoisen ympyrän negatiivin yläpuoli"] # 0x25da (en: 'upper half inverse white circle', google: 'yläosa käänteinen valkoinen ympyrä')
- - "◛": [T: "valkoisen ympyrän negatiivin alapuoli"] # 0x25db (en: 'lower half inverse white circle', google: 'alempi puoli käänteinen valkoinen ympyrä')
- - "◜": [T: "ympyrän kaaren vasen yläneljännes"] # 0x25dc (en: 'upper left quadrant circular arc', google: 'vasen yläosa kvadrantti pyöreä kaari')
- - "◝": [T: "ympyrän kaaren oikea yläneljännes"] # 0x25dd (en: 'upper right quadrant circular arc', google: 'oikea yläosa kvadrantti pyöreä kaari')
- - "◞": [T: "ympyrän kaaren oikea alaneljännes"] # 0x25de (en: 'lower right quadrant circular arc', google: 'oikea alaosa neljänneksen pyöreä kaari')
- - "◟": [T: "ympyrän kaaren vasen alaneljännes"] # 0x25df (en: 'lower left quadrant circular arc', google: 'vasen alakulmainen kvadrantti pyöreä kaari')
- - "◠": [T: "ympyrän kaaren yläpuolikas"] # 0x25e0 (en: 'upper half circle', google: 'yläosa ympyrä')
- - "◡": [T: "ympyrän kaaren alapuolikas"] # 0x25e1 (en: 'lower half circle', google: 'alempi puoli ympyrä')
- - "◢": [T: "musta oikea alakolmio"] # 0x25e2 (en: 'black lower right triangle', google: 'musta alaosa oikea kolmio')
- - "◣": [T: "musta vasen alakolmio"] # 0x25e3 (en: 'black lower left triangle', google: 'musta vasen alaosa kolmio')
- - "◤": [T: "musta vasen yläkolmio"] # 0x25e4 (en: 'black upper left triangle', google: 'musta vasen yläosa kolmio')
- - "◥": [T: "musta oikea yläkolmio"] # 0x25e5 (en: 'black upper right triangle', google: 'musta oikea yläosa kolmio')
- - "◦": [T: "valkoinen pallo"] # 0x25e6 (en: 'composition', google: 'sävellys')
- - "◧": [T: "neliö vasen puoli musta"] # 0x25e7 (en: 'square with left half black', google: 'neliö vasemmalla puoliksi mustalla')
- - "◨": [T: "neliö oikea puoli musta"] # 0x25e8 (en: 'square with right half black', google: 'neliö oikealla puoliksi mustalla')
- - "◩": [T: "neliö vasen ylädiagonaali musta"] # 0x25e9 (en: 'square with upper left half black', google: 'neliö vasemmalla yläosa mustalla')
- - "◪": [T: "neliö oikea aladiagonaali musta"] # 0x25ea (en: 'square with lower right half black', google: 'neliö oikealla alaosa mustalla')
- - "◫": [T: "valkoinen neliö pystysuoralla poikkiviivalla"] # 0x25eb (en: 'white square with bisecting line', google: 'valkoinen neliö puolustamisviivalla')
- - "◬": [T: "valkoinen ylös osoittava kolmio pisteellä"] # 0x25ec (en: 'white up pointing triangle with dot', google: 'valkoinen osoittava kolmio pisteellä')
- - "◭": [T: "valkoinen ylös osoittava kolmio, vasen puoli musta"] # 0x25ed (en: 'up pointing triangle with left half black', google: 'ylöspäin osoittaen kolmio vasemmalla puoliksi mustalla')
- - "◮": [T: "valkoinen ylös osoittava kolmio, oikea puoli musta"] # 0x25ee (en: 'up pointing triangle with right half black', google: 'ylös osoittaen kolmio oikealla puoliksi mustalla')
- - "◯": [T: "valkoinen ympyrä"] # 0x25ef (en: 'large circle', google: 'suuri ympyrä')
- - "◰": [T: "valkoinen neliö josta on erotettu ylävasen neljännes"] # 0x25f0 (en: 'white square with upper left quadrant', google translation)
- - "◱": [T: "valkoinen neliö josta on erotettu alavasen neljännes"] # 0x25f1 (en: 'white square with lower left quadrant', google translation)
- - "◲": [T: "valkoinen neliö josta on erotettu alaoikea neljännes"] # 0x25f2 (en: 'white square with lower right quadrant', google translation)
- - "◳": [T: "valkoinen neliö josta on erotettu yläoikea neljännes"] # 0x25f3 (en: 'white square with upper right quadrant', google translation)
- - "◴": [T: "valkoinen ympyrä josta on erotettu ylävasen neljännes"] # 0x25f4 (en: 'white circle with upper left quadrant', google translation)
- - "◵": [T: "valkoinen ympyrä josta on erotettu alavasen neljännes"] # 0x25f5 (en: 'white circle with lower left quadrant', google translation)
- - "◶": [T: "valkoinen ympyrä josta on erotettu alaoikea neljännes"] # 0x25f6 (en: 'white circle with lower right quadrant', google translation)
- - "◷": [T: "valkoinen ympyrä josta on erotettu yläoikea neljännes"] # 0x25f7 (en: 'white circle with upper right quadrant', google translation)
- - "◸": [T: "ylävasen kolmio"] # 0x25f8 (en: 'upper left triangle', google: 'vasen yläosa kolmio')
- - "◹": [T: "yläoikea kolmio"] # 0x25f9 (en: 'upper right triangle', google: 'oikea yläosa kolmio')
- - "◺": [T: "alavasen kolmio"] # 0x25fa (en: 'lower left triangle', google: 'vasen alaosa kolmio')
- - "◻": [T: "keskikokoinen valkoinen neliö"] # 0x25fb (en: 'white medium square', google: 'valkoinen keskipitkä neliö')
- - "◼": [T: "keskikokoinen musta neliö"] # 0x25fc (en: 'black medium square', google: 'musta keskipitkä neliö')
- - "◽": [T: "pienehkö valkoinen neliö"] # 0x25fd (en: 'white medium small square', google: 'valkoinen keskipitkä pieni neliö')
- - "◾": [T: "pienehkö musta neliö"] # 0x25fe (en: 'black medium small square', google: 'musta keskipitkä pieni neliö')
- - "◿": [T: "alaoikea kolmio"] # 0x25ff (en: 'lower right triangle', google: 'oikea alaosa kolmio')
- - "♠": [T: "musta pata"] # 0x2660 (en: 'black spade suit', google: 'musta lapio puku')
- - "♡": [T: "valkoinen hertta"] # 0x2661 (en: 'white heart suit', google: 'valkoinen sydänpuku')
- - "♢": [T: "valkoinen ruutu"] # 0x2662 (en: 'white diamond suit', google: 'valkoinen timanttipuku')
- - "♣": [T: "musta risti"] # 0x2663 (en: 'black club suit', google: 'mustakerhopuku')
- - "♤": [T: "valkoinen pata"] # 0x2664 (en: 'white spade suit', google: 'valkoinen lapiopuku')
- - "♥": [T: "musta hertta"] # 0x2665 (en: 'black heart suit', google: 'musta sydänpuku')
- - "♦": [T: "musta ruutu"] # 0x2666 (en: 'black diamond suit', google: 'musta timanttipuku')
- - "♧": [T: "valkoinen risti"] # 0x2667 (en: 'white club suit', google: 'valkoinen klubipuku')
- - "❨": [T: "keskikokoinen vasen sulkukoriste"] # 0x2768 (en: 'medium left parentheses ornament', google translation)
- - "❩": [T: "keskikokoinen oikea sulkukoriste"] # 0x2769 (en: 'medium right parentheses ornament', google translation)
- - "❪": [T: "keskikokoinen litistetty vasen sulkukoriste"] # 0x276a (en: 'medium flattened left parentheses ornament', google translation)
- - "❫": [T: "keskikokoinen litistetty oikea sulkukoriste"] # 0x276b (en: 'medium flattened right parentheses ornament', google translation)
- - "❬": [T: "keskikokoinen vasen kulmasulkukoriste"] # 0x276c (en: 'medium left-pointing angle bracket ornament', google translation)
- - "❭": [T: "keskikokoinen oikea kulmasulkukoriste"] # 0x276d (en: 'medium right-pointing angle bracket ornament', google translation)
- - "❮": [T: "raskas vasen kulmalainausmerkkikoriste"] # 0x276e (en: 'heavy left-pointing angle quotation mark ornament', google translation)
- - "❯": [T: "raskas oikea kulmalainausmerkkikoriste"] # 0x276f (en: 'heavy right-pointing angle quotation mark ornament', google translation)
- - "❰": [T: "raskas vasen kulmasulkukoriste"] # 0x2770 (en: 'heavy left-pointing angle bracket ornament', google translation)
- - "❱": [T: "raskas oikea kulmasulkukoriste"] # 0x2771 (en: 'heavy right-pointing angle bracket ornament', google translation)
- - "❲": [T: "kevyt vasen kilpikonnankuorisulkukoriste"] # 0x2772 (en: 'light left tortoise shell bracket ornament', google translation)
- - "❳": [T: "kevyt oikea kilpikonnankuorisulkukoriste"] # 0x2773 (en: 'light right tortoise shell bracket ornament', google translation)
- - "❴": [T: "keskikokoinen vasen aaltosulkukoriste"] # 0x2774 (en: 'medium left brace ornament', google translation)
- - "❵": [T: "keskikokoinen oikea aaltosulkukoriste"] # 0x2775 (en: 'medium right brace ornament', google translation)
- - "❶": [T: "musta ympyröity yksi"] # 0x2776 (en: 'black circled one', google translation)
- - "❷": [T: "musta ympyröity kaksi"] # 0x2777 (en: 'black circled two', google translation)
- - "❸": [T: "musta ympyröity kolme"] # 0x2778 (en: 'black circled three', google translation)
- - "❹": [T: "musta ympyröity neljä"] # 0x2779 (en: 'black circled four', google translation)
- - "❺": [T: "musta ympyröity viisi"] # 0x277a (en: 'black circled five', google translation)
- - "❻": [T: "musta ympyröity kuusi"] # 0x277b (en: 'black circled six', google translation)
- - "❼": [T: "musta ympyröity seitsemän"] # 0x277c (en: 'black circled seven', google translation)
- - "❽": [T: "musta ympyröity kahdeksan"] # 0x277d (en: 'black circled eight', google translation)
- - "❾": [T: "musta ympyröity yhdeksän"] # 0x277e (en: 'black circled nine', google translation)
- - "❿": [T: "musta ympyröity kymmenen"] # 0x277f (en: 'black circled ten', google translation)
- - "➀": [T: "ympyröity sans serif yksi"] # 0x2780 (en: 'circled sans serif one', google translation)
- - "➁": [T: "ympyröity sans serif kaksi"] # 0x2781 (en: 'circled sans serif two', google translation)
- - "➂": [T: "ympyröity sans serif kolme"] # 0x2782 (en: 'circled sans serif three', google translation)
- - "➃": [T: "ympyröity sans serif neljä"] # 0x2783 (en: 'circled sans serif four', google translation)
- - "➄": [T: "ympyröity sans serif viisi"] # 0x2784 (en: 'circled sans serif five', google translation)
- - "➅": [T: "ympyröity sans serif kuusi"] # 0x2785 (en: 'circled sans serif six', google translation)
- - "➆": [T: "ympyröity sans serif seitsemän"] # 0x2786 (en: 'circled sans serif seven', google translation)
- - "➇": [T: "ympyröity sans serif kahdeksan"] # 0x2787 (en: 'circled sans serif eight', google translation)
- - "➈": [T: "ympyröity sans serif yhdeksän"] # 0x2788 (en: 'circled sans serif nine', google translation)
- - "➉": [T: "ympyröity sans serif kymmenen"] # 0x2789 (en: 'circled sans serif ten', google translation)
- - "➊": [T: "musta ympyröity sans serif yksi"] # 0x278a (en: 'black circled sans serif one', google translation)
- - "➋": [T: "musta ympyröity sans serif kaksi"] # 0x278b (en: 'black circled sans serif two', google translation)
- - "➌": [T: "musta ympyröity sans serif kolme"] # 0x278c (en: 'black circled sans serif three', google translation)
- - "➍": [T: "musta ympyröity sans serif neljä"] # 0x278d (en: 'black circled sans serif four', google translation)
- - "➎": [T: "musta ympyröity sans serif viisi"] # 0x278e (en: 'black circled sans serif five', google translation)
- - "➏": [T: "musta ympyröity sans serif kuusi"] # 0x278f (en: 'black circled sans serif six', google translation)
- - "➐": [T: "musta ympyröity sans serif seitsemän"] # 0x2790 (en: 'black circled sans serif seven', google translation)
- - "➑": [T: "musta ympyröity sans serif kahdeksan"] # 0x2791 (en: 'black circled sans serif eight', google translation)
- - "➒": [T: "musta ympyröity sans serif yhdeksän"] # 0x2792 (en: 'black circled sans serif nine', google translation)
- - "➓": [T: "musta ympyröity sans serif kymmenen"] # 0x2793 (en: 'black circled sans serif ten', google translation)
- - "➔": [T: "raskas leveäpäinen oikea nuoli"] # 0x2794 (en: 'heavy wide-headed rightwards arrow', google translation)
- - "➕": [T: "raskas plusmerkki"] # 0x2795 (en: 'heavy plus sign', google translation)
- - "➖": [T: "raskas miinusmerkki"] # 0x2796 (en: 'heavy minus sign', google translation)
- - "➗": [T: "raskas jakomerkki"] # 0x2797 (en: 'heavy division sign', google translation)
- - "➘": [T: "raskas alaoikea nuoli"] # 0x2798 (en: 'heavy south east arrow', google translation)
- - "➙": [T: "raskas oikea nuoli"] # 0x2799 (en: 'heavy rightwards arrow', google translation)
- - "➚": [T: "raskas yläoikea nuoli"] # 0x279a (en: 'heavy north east arrow', google translation)
- - "➛": [T: "laatimispiste oikealle nuoli"] # 0x279b (en: 'drafting point rightwards arrow', google translation)
- - "➜": [T: "raskas pyöristetty oikea nuoli"] # 0x279c (en: 'heavy round-tipped rightwards arrow', google translation)
- - "➝": [T: "kolmionpäinen oikea nuoli"] # 0x279d (en: 'triangle-headed rightwards arrow', google translation)
- - "➞": [T: "raskas kolmiopäinen oikea nuoli"] # 0x279e (en: 'heavy triangle-headed rightwards arrow', google translation)
- - "➟": [T: "kolmiopäinen oikea nuoli katkoviivalla"] # 0x279f (en: 'dashed triangle-headed rightwards arrow', google translation)
- - "➠": [T: "raskas kolmiopäinen oikea nuoli katkoviivalla"] # 0x27a0 (en: 'heavy dashed triangle-headed rightwards arrow', google translation)
- - "➡": [T: "oikealle osoittava musta nuoli"] # 0x27a1 (en: 'black rightwards arrow', google translation)
- - "➢": [T: "yläpuolelta valkea oikealle osoittava nuolenpää"] # 0x27a2 (en: 'three d top lighted rightwards arrow', google translation)
- - "➣": [T: "alapuolelta valkea oikealle osoittava nuolenpää"] # 0x27a3 (en: 'three d bottom lighted rightwards arrow', google translation)
- - "➤": [T: "musta oikea nuolenpää"] # 0x27a4 (en: 'black rightwards arrowhead', google translation)
- - "➥": [T: "raskas musta kaareva alas ja oikealle osoittava nuoli"] # 0x27a5 (en: 'heavy black curved downwards and rightwards arrow', google translation)
- - "➦": [T: "raskas musta kaareva ylös ja oikealle osoittava nuoli"] # 0x27a6 (en: 'heavy black curved upwards and rightwards arrow', google translation)
- - "➧": [T: "raskas musta lyhyt oikea nuoli"] # 0x27a7 (en: 'squat black rightwards arrow', google translation)
- - "➨": [T: "raskas terävä musta oikea nuoli"] # 0x27a8 (en: 'heavy concave-pointed black rightwards arrow', google translation)
- - "➩": [T: "oikea oikealle varjostettu valkoinen nuoli"] # 0x27a9 (en: 'right-shaded white rightwards arrow', google translation)
- - "➪": [T: "oikea vasemmalle varjostettu valkoinen nuoli"] # 0x27aa (en: 'left-shaded white rightwards arrow', google translation)
- - "➫": [T: "taaksepäin kallistettu varjostettu valkoinen oikealle osoittava nuoli"] # 0x27ab (en: 'back-tilted shadowed white rightwards arrow', google translation)
- - "➬": [T: "eteenpäin kallistettu varjostettu valkoinen oikealle osoittava nuoli"] # 0x27ac (en: 'front-tilted shadowed white rightwards arrow', google translation)
- - "➭": [T: "raskas oikea alhaalta varjostettu valkoinen nuoli"] # 0x27ad (en: 'heavy lower right-shadowed white rightwards arrow', google translation)
- - "➮": [T: "raskas oikea ylhäältä varjostettu valkoinen nuoli"] # 0x27ae (en: 'heavy upper right-shadowed white rightwards arrow', google translation)
- - "➯": [T: "raskas oikea alhaalta varjostettu valkoinen nuoli lovella"] # 0x27af (en: 'notched lower right-shadowed white rightwards arrow', google translation)
- - "➱": [T: "raskas oikea ylhäältä varjostettu valkoinen nuoli lovella"] # 0x27b1 (en: 'notched upper right-shadowed white rightwards arrow', google translation)
- - "➲": [T: "ympyröity raskas oikea valkoinen nuoli"] # 0x27b2 (en: 'circled heavy white rightwards arrow', google translation)
- - "➳": [T: "oikea nuoli valkoisilla höyhenillä"] # 0x27b3 (en: 'white-feathered rightwards arrow', google translation)
- - "➴": [T: "alaoikea nuoli mustilla höyhenillä"] # 0x27b4 (en: 'black-feathered south east arrow', google translation)
- - "➵": [T: "oikea nuoli mustilla höyhenillä"] # 0x27b5 (en: 'black-feathered rightwards arrow', google translation)
- - "➶": [T: "yläoikea nuoli mustilla höyhenillä"] # 0x27b6 (en: 'black-feathered north east arrow', google translation)
- - "➷": [T: "raskas alaoikea nuoli mustilla höyhenillä"] # 0x27b7 (en: 'heavy black-feathered south east arrow', google translation)
- - "➸": [T: "raskas oikea nuoli mustilla höyhenillä"] # 0x27b8 (en: 'heavy black-feathered rightwards arrow', google translation)
- - "➹": [T: "raskas yläoikea nuoli mustilla höyhenillä"] # 0x27b9 (en: 'heavy black-feathered north east arrow', google translation)
- - "➺": [T: "oikea nuoli kyynelpiikillä"] # 0x27ba (en: 'teradrop-barbed rightwards arrow', google translation)
- - "➻": [T: "raskas nuoli kyynelpiikillä"] # 0x27bb (en: 'heavy teardrop-shanked rightwards arrow', google translation)
- - "➼": [T: "oikea nuoli kiilalla"] # 0x27bc (en: 'wedge-tailed rightwards arrow', google translation)
- - "➽": [T: "raskas oikea nuoli kiilalla"] # 0x27bd (en: 'heavy wedge-tailed rightwards arrow', google translation)
- - "➾": [T: "oikea ääriviivanuoli"] # 0x27be (en: 'open-outlined rightwards arrow', google translation)
- - "⟀": [T: "kolmiulotteinen kulma"] # 0x27c0 (en: 'three dimensional angle')
- - "⟁": [T: "kaksi valkoista kolmiota sisäkkäin"] # 0x27c1 (en: 'white triangle containing small white triangle', google: 'valkoinen kolmio, joka sisältää pientä valkoista kolmiota')
- - "⟂": # 0x27c2
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "kohtisuora" # (en: 'perpendicular to', google: 'kohtisuorassa')
- - "⟃": # 0x27c3
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "avoin osajoukko" # (en: 'an open subset of')
- - "⟄": # 0x27c4
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "avoin yläjoukko" # (en: 'an open superset of', google: 'avoin superset')
- - "⟅": [T: "vasen s-muotoinen laukkuerottaja"] # 0x27c5 (google: 'vasen s-muotoinen laukku')
- - "⟆": [T: "oikea s-muotoinen laukkuerottaja"] # 0x27c6 (google: 'oikea s-muotoinen laukku')
- - "⟇": [T: "tai pisteellä"] # 0x27c7 (en: 'or with dot inside', google: 'tai pisteellä sisällä')
- - "⟈": [T: "kenoviiva osajoukko"] # 0x27c8 (en: 'reverse solidus preceding subset', google: 'käänteinen solidus edeltävä alajoukko')
- - "⟉": [T: "ylijoukko vinoviiva"] # 0x27c9 (en: 'superset preceding solidus', google: 'superset edeltävä solidus')
- - "⟊": [T: "pystyviiva vaakasuoralla poikkiviivalla"] # 0x27ca (en: 'vertical bar with horizontal stroke', google: 'pystysuora palkki vaakasuuntaisella iskulla')
- - "⟋": [T: "matemaattinen nouseva diagonaali"] # 0x27cb (en: 'mathematical rising diagonal', google translation)
- - "⟌": [T: "jakokulma"] # 0x27cc (en: 'long division', google: 'jakolaskutoimitus')
- - "⟍": [T: "matemaattinen laskeva diagonaali"] # 0x27cd (en: 'mathematical falling diagonal', google translation)
- - "⟎": [T: "looginen ja neliössä"] # 0x27ce (en: 'squared logical and', google translation)
- - "⟏": [T: "looginen tai neliössä"] # 0x27cf (en: 'squared logical or', google translation)
- - "⟐": [T: "valkoinen timantti keskitetyllä pisteellä"] # 0x27d0 (en: 'white diamond with centered dot', google translation)
- - "⟑": [T: "ja pisteellä"] # 0x27d1 (en: 'and with dot', google: 'ja pisteellä')
- - "⟒": [T: "ylös aukeava kuuluu joukkoon"] # 0x27d2 (en: 'element of opening upwards', google: 'elementti avaamisesta ylöspäin')
- - "⟓": [T: "oikea alakulma pisteellä"] # 0x27d3 (en: 'lower right corner with dot', google: 'oikea alakulma pisteellä')
- - "⟔": [T: "vasen alakulma pisteellä"] # 0x27d4 (en: 'upper left corner with dot', google: 'vasen yläkulma pisteellä')
- - "⟕": [T: "vasen ulkoinen liitos"] # 0x27d5 (google: 'vasen ulkoinen liittyminen')
- - "⟖": [T: "oikea ulkoinen liitos"] # 0x27d6 (google: 'oikea ulkoinen liittyminen')
- - "⟗": [T: "täysi ulkoinen liitos"] # 0x27d7 (google: 'täysi ulkoinen liittyminen')
- - "⟘": [T: "suuri nupi ylöspäin"] # 0x27d8 (google: 'suuri ylöspäin')
- - "⟙": [T: "suuri nupi alaspäin"] # 0x27d9 (google: 'suuri alaspäin')
- - "⟚": [T: "tuplaportti vasemmalle ja oikealle"] # 0x27da (google: 'vasen ja oikea kaksoiskivi')
- - "⟛": [T: "vasen ja oikea nupi"] # 0x27db (google: 'vasen ja oikea tarttuva')
- - "⟜": [T: "vasen monikuvaus"] # 0x27dc (google: 'vasen multimep') # FI: meaning unclear
- - "⟝": [T: "pitkä oikea nupi"] # 0x27dd (google: 'pitkä oikea tarttuva')
- - "⟞": [T: "pitkä vasen nupi"] # 0x27de (google: 'pitkä vasen tarttuva')
- - "⟟": [T: "nupi ylös ympyrällä"] # 0x27df (en: 'up tack with circle above', google: 'yllä oleva ympyrä')
- - "⟠": [T: "vinoneliö vaakaviivalla"] # 0x27e0 (google: 'lozenge jaettuna vaakasuunnassa')
- - "⟡": [T: "valkoinen terävä timantti"] # 0x27e1 (google: 'valkoinen koverapuolinen timantti')
- - "⟢": [T: "valkoinen terävä timantti vasemmanpuoleisella nupilla"] # 0x27e2 (en: 'white concave sided diamond with leftwards tick', google: 'valkoinen koverapuolinen timantti vasemmalla rastilla')
- - "⟣": [T: "valkoinen terävä timantti oikeanpuoleisella nupilla"] # 0x27e3 (en: 'white concave sided diamond with rightwards tick', google: 'valkoinen koverapuolinen timantti oikealla puolella')
- - "⟤": [T: "valkoinen neliö vasemmanpuoleisella nupilla"] # 0x27e4 (en: 'white square with leftwards tick', google: 'valkoinen neliö vasemmalla rastilla')
- - "⟥": [T: "valkoinen neliö oikeanpuoleisella nupilla"] # 0x27e5 (en: 'white square with rightwards tick', google: 'valkoinen neliö oikealla puolella')
- - "⟦": [T: "valkoinen vasen hakasulku"] # 0x27e6 (en: 'left white square bracket', google: 'vasen valkoinen neliömäki')
- - "⟧": [T: "valkoinen oikea hakasulku"] # 0x27e7 (en: 'right white square bracket', google: 'oikea valkoinen neliömäki')
- - "⟨": [T: "vasen kulmasulku"] # 0x27e8 (en: 'left angle bracket', google: 'vasemman kulman kiinnike')
- - "⟩": [T: "oikea kulmasulku"] # 0x27e9 (en: 'right angle bracket', google: 'suoren kulman kiinnike')
- - "⟪": [T: "vasen kaksoiskulmasulku"] # 0x27ea (en: 'left double angle bracket', google: 'vasen kaksoiskulma kiinnike')
- - "⟫": [T: "oikea kaksoiskulmasulku"] # 0x27eb (en: 'right double angle bracket', google: 'oikea kaksoiskulma kiinnike')
- - "⟬": [T: "vasen valkoinen kilpikonnankuorisulku"] # 0x27ec (google: 'vasen valkoinen kilpikonnakuoren kiinnike')
- - "⟭": [T: "oikea valkoinen kilpikonnankuorisulku"] # 0x27ed (google: 'oikea valkoinen kilpikonnakuoren kiinnike')
- - "⟮": [T: "vasen litistetty sulku"] # 0x27ee (google: 'vasen litistetty sulkuteesi')
- - "⟯": [T: "oikea litistetty sulku"] # 0x27ef (google: 'oikea litistetty sulkuteesi')
- - "⟰": [T: "nelinkertainen nuoli ylös"] # 0x27f0 (en: 'upwards quadruple arrow', google translation)
- - "⟱": [T: "nelinkertainen nuoli alas"] # 0x27f1 (en: 'downwards quadruple arrow', google translation)
- - "⟲": [T: "avoin ympyränuoli vastapäivään"] # 0x27f2 (en: 'anticlockwise gapped circle arrow', google translation)
- - "⟳": [T: "avoin ympyränuoli myötäpäivään"] # 0x27f3 (en: 'clockwise gapped circle arrow', google translation)
- - "⟴": [T: "oikea nuoli ympyröidyllä plus-merkillä"] # 0x27f4 (en: 'right arrow with circled plus', google translation)
- - "⟵": [T: "pitkä nuoli vasemmalle"] # 0x27f5 (en: 'long leftwards arrow', google: 'pitkä vasen nuoli')
- - "⟶": [T: "pitkä nuoli oikealle"] # 0x27f6 (en: 'long rightwards arrow', google: 'pitkä oikea nuoli')
- - "⟷": [T: "pitkä nuoli vasemmalle ja oikealle"] # 0x27f7 (en: 'long left right arrow', google: 'pitkä vasen oikea nuoli')
- - "⟸": [T: "pitkä kaksoisnuoli vasemmalle"] # 0x27f8 (en: 'long leftwards double arrow', google: 'pitkä vasen kaksinkertainen nuoli')
- - "⟹": [T: "pitkä kaksoisnuoli oikealle"] # 0x27f9 (en: 'long rightwards double arrow', google: 'pitkä oikea kaksinkertainen nuoli')
- - "⟺": [T: "pitkä kaksoisnuoli vasemmalle ja oikealle"] # 0x27fa (en: 'long left right double arrow', google: 'pitkä vasen oikea kaksinkertainen nuoli')
- - "⟻": [T: "pitkä vasen nuoli pystyviivasta"] # 0x27fb (en: 'long leftwards arrow from bar', google translation)
- - "⟼": [T: "pitkä oikea nuoli pystyviivasta"] # 0x27fc (en: 'long rightwards arrow from bar', google: 'pitkä oikea nuoli baarista')
- - "⟽": [T: "pitkä vasen kaksinkertainen nuoli pystyviivasta"] # 0x27fd (en: 'long leftwards double arrow from bar', google translation)
- - "⟾": [T: "pitkä oikea kaksinkertainen nuoli pystyviivasta"] # 0x27fe (en: 'long rightwards double arrow from bar', google translation)
- - "⟿": [T: "pitkä kiemuranuoli oikealle"] # 0x27ff (en: 'long rightwards squiggle arrow', google: 'pitkä oikeassa nuoli')
- - "⤀": [T: "oikea kaksipäinen nuoli pystysuoralla viivalla"] # 0x2900 (en: 'rightwards two headed arrow with vertical stroke', google translation)
- - "⤁": [T: "oikea kaksipäinen nuoli kaksinkertaisella pystysuoralla viivalla"] # 0x2901 (en: 'rightwards two headed arrow with double vertical stroke', google translation)
- - "⤂": [T: "vasen kaksinkertainen nuoli pystysuoralla viivalla"] # 0x2902 (en: 'leftwards double arrow with vertical stroke', google translation)
- - "⤃": [T: "oikea kaksinkertainen nuoli pystysuoralla viivalla"] # 0x2903 (en: 'rightwards double arrow with vertical stroke', google translation)
- - "⤄": [T: "vasemmalle ja oikealle osoittava kaksinkertainen nuoli pystysuoralla viivalla"] # 0x2904 (en: 'left right double arrow with vertical stroke', google translation)
- - "⤅": [T: "oikea kaksipäinen nuoli pystyviivasta"] # 0x2905 (google: 'oikealle kaksi päätä nuoli baarista')
- - "⤆": [T: "vasen kaksinkertainen nuoli pystyviivasta"] # 0x2906 (en: 'leftwards double arrow from bar', google translation)
- - "⤇": [T: "oikea kaksinkertainen nuoli pystyviivasta"] # 0x2907 (en: 'rightwards double arrow from bar', google translation)
- - "⤈": [T: "alaspäin osoittava nuoli vaakaviivalla"] # 0x2908 (en: 'downwards arrow with horizontal stroke', google translation)
- - "⤉": [T: "ylöspäin osoittava nuoli vaakaviivalla"] # 0x2909 (en: 'upwards arrow with horizontal stroke', google translation)
- - "⤊": [T: "ylöspäin osoittava kolminkertainen nuoli"] # 0x290a (en: 'upwards triple arrow', google translation)
- - "⤋": [T: "alaspäin osoittava kolminkertainen nuoli"] # 0x290b (en: 'downwards triple arrow', google translation)
- - "⤌": [T: "vasen kaksoiskatkoviivannuoli"] # 0x290c (google: 'vasen kaksinkertainen viiva nuoli')
- - "⤍": [T: "oikea kaksoiskatkoviivanuoli"] # 0x290d (google: 'oikealla puolella kaksoisnauhaa')
- - "⤎": [T: "vasen kolmoiskatkoviivanuoli"] # 0x290e (google: 'vasen kolminkertainen viiva nuoli')
- - "⤏": [T: "oikea kolmoiskatkoviivanuoli"] # 0x290f (google: 'oikealle kolminkertainen dash -nuoli')
- - "⤐": [T: "oikea kaksipäinen katkoviivanuoli pyrstöllä"] # 0x2910 (google: 'oikealle kaksi päätä kolminkertainen viiva nuoli')
- - "⤑": [T: "oikea pisteviivanuoli"] # 0x2911 (en: 'rightwards arrow with dotted stem', google: 'oikealla nuolella katkoviivalla')
- - "⤒": [T: "nuoli ylös vaakaviivaan"] # 0x2912 (google: 'nuoli ylöspäin baariin')
- - "⤓": [T: "nuoli alas vaakaviivaan"] # 0x2913 (google: 'alaspäin nuoli baariin')
- - "⤔": [T: "oikea nuoli pystyviivalla ja pyrstöllä"] # 0x2914 (en: 'rightwards arrow with tail and vertical stroke', google translation)
- - "⤕": [T: "oikea nuoli kaksoispystyviivalla ja pyrstöllä"] # 0x2915 (en: 'rightwards arrow with tail and double vertical stroke', google translation)
- - "⤖": [T: "oikea kaksipäinen nuoli pyrstöllä"] # 0x2916 (en: 'rightwards two headed arrow with tail', google: 'oikealle kaksi päätä nuoli hännän kanssa')
- - "⤗": [T: "oikea kaksipäinen nuoli pystyviivalla ja pyrstöllä"] # 0x2917 (en: 'rightwards two headed arrow with tail with vertical stroke', google translation)
- - "⤘": [T: "oikea kaksipäinen nuoli kaksoispystyviivalla ja pyrstöllä"] # 0x2918 (en: 'rightwards two headed arrow with tail with double vertical stroke', google translation)
- - "⤙": [T: "vasemmanpuoleisen nuolen häntä"] # 0x2919 (google: 'vasen nuoli häntä')
- - "⤚": [T: "oikeanpuoleisen nuolen häntä"] # 0x291a (en: 'rightwards arrow tail', google translation)
- - "⤛": [T: "vasemmanpuoleisen nuolen tuplahäntä"] # 0x291b (google: 'vasen kaksinkertainen nuoli häntä')
- - "⤜": [T: "oikeanpuoleisen nuolen tuplahäntä"] # 0x291c (google: 'oikealla kaksoisnuoli')
- - "⤝": [T: "vasen nuoli väritettyyn timanttiin"] # 0x291d (google: 'vasen nuoli täytetylle timantille')
- - "⤞": [T: "oikea nuoli väritettyyn timanttiin"] # 0x291e (google: 'oikealla nuolella täytetylle timantille')
- - "⤟": [T: "vasen nuoli pystyviivasta väritettyyn timanttiin"] # 0x291f (google: 'vasen nuoli baarista täytetylle timantille')
- - "⤠": [T: "oikea nuoli pystyviivasta väritettyyn timanttiin"] # 0x2920 (google: 'suoraan nuoli baarista täytetylle timantille')
- - "⤡": [T: "ylävasemmalle ja alaoikealle osoittava nuoli"] # 0x2921 (en: 'north west and south east arrow', google translation)
- - "⤢": [T: "yläoikealle ja alavasemmalle osoittava nuoli"] # 0x2922 (en: 'north east and south west arrow', google translation)
- - "⤣": [T: "ylävasen nuoli koukulla"] # 0x2923 (en: 'north west arrow with hook', google: 'luoteis -nuoli koukulla')
- - "⤤": [T: "yläoikea nuoli koukulla"] # 0x2924 (en: 'north east arrow with hook', google: 'koillis -nuoli koukulla')
- - "⤥": [T: "alaoikea nuoli koukulla"] # 0x2925 (en: 'south east arrow with hook', google: 'kaakkois -nuoli koukulla')
- - "⤦": [T: "alavasen nuoli koukulla"] # 0x2926 (en: 'south west arrow with hook', google: 'lounais -nuoli koukulla')
- - "⤧": [T: "nuoli yläoikealle ja nuoli ylävasemmalle"] # 0x2927 (google: 'luoteis arrow ja koillis -nuoli')
- - "⤨": [T: "nuoli yläoikealle ja nuoli alaoikealle"] # 0x2928 (google: 'koillis -nuoli ja kaakkois -nuoli')
- - "⤩": [T: "nuoli alaoikealle ja nuoli alavasemmalle"] # 0x2929 (google: 'kaakkois arrow ja south west arrow')
- - "⤪": [T: "nuoli alavasemmalle ja nuoli ylävasemmalle"] # 0x292a (google: 'south west arrow ja north west arrow')
- - "⤫": [T: "nouseva diagonaali laskevan diagonaalin päällä"] # 0x292b (en: 'rising diagonal crossing falling diagonal', google translation)
- - "⤬": [T: "laskeva diagonaali nousevan diagonaalin päällä"] # 0x292c (en: 'falling diagonal crossing rising diagonal', google translation)
- - "⤭": [T: "alaoikealle osoittava nuoli yläoikealle osoittavan nuolen päällä"] # 0x292d (en: 'south east arrow crossing north east arrow', google translation)
- - "⤮": [T: "yläoikealle osoittava nuoli alaoikealle osoittavan nuolen päällä"] # 0x292e (en: 'north east arrow crossing south east arrow', google translation)
- - "⤯": [T: "laskeva diagonaali yläoikealle osoittavan nuolen päällä"] # 0x292f (en: 'falling diagonal crossing north east arrow', google translation)
- - "⤰": [T: "nouseva diagonaali alaoikealle osoittavan nuolen päällä"] # 0x2930 (en: 'rising diagonal crossing south east arrow', google translation)
- - "⤱": [T: "yläoikealle osoittava nuoli ylävasemmalle osoittavan nuolen päällä"] # 0x2931 (en: 'north east arrow crossing north west arrow', google translation)
- - "⤲": [T: "ylävasemmalle osoittava nuoli yläoikealle osoittavan nuolen päällä"] # 0x2932 (en: 'north west arrow crossing north east arrow', google translation)
- - "⤳": [T: "aaltonuoli oikealle"] # 0x2933 (en: 'wave arrow pointing directly right', google: 'aalto nuoli osoittaa suoraan oikealle')
- - "⤴": [T: "ylöspäin kaartuva oikea nuoli"] # 0x2934 (en: 'arrow pointing rightwards then curving upwards', google translation)
- - "⤵": [T: "alaspäin kaartuva oikea nuoli"] # 0x2935 (google: 'nuoli osoittaa oikealle ja kaareutuu alaspäin')
- - "⤶": [T: "vasemmalle kaartuva alavasemmalle osoittava nuoli"] # 0x2936 (google: 'nuoli osoittaa alaspäin ja kaareutuu vasemmalle')
- - "⤷": [T: "oikealle kaartuva alaoikealle osoittava nuoli"] # 0x2937 (google: 'nuoli osoittaa alaspäin ja kaareutuu oikealle')
- - "⤸": [T: "oikeanpuoleinen kaarinuoli myötäpäivään"] # 0x2938 (en: 'right side arc clockwise arrow', google: 'oikea sivukaari myötäpäivään nuoli')
- - "⤹": [T: "vasemmanpuoleinen kaarinuoli vastapäivään"] # 0x2939 (en: 'left side arc anticlockwise arrow', google: 'vasen sivukaari vastapäivään')
- - "⤺": [T: "yläkaarinuoli vastapäivään"] # 0x293a (en: 'top arc anticlockwise arrow', google translation)
- - "⤻": [T: "alakaarinuoli vastapäivään"] # 0x293b (en: 'bottom arc anticlockwise arrow', google translation)
- - "⤼": [T: "yläkaarinuoli myötäpäivään miinus-merkillä"] # 0x293c (en: 'top arc clockwise arrow with minus', google: 'yläkaari myötäpäivään nuoli miinus')
- - "⤽": [T: "yläkaarinuoli vastapäivään plus-merkillä"] # 0x293d (en: 'top arc anticlockwise arrow with plus', google: 'yläkaari vastapäivään nuoli plus')
- - "⤾": [T: "alaoikea kaarinuoli myötäpäivään"] # 0x293e (en: 'lower right semicircular clockwise arrow', google translation)
- - "⤿": [T: "alavasen kaarinuoli vastapäivään"] # 0x293f (en: 'lower left semicircular anticlockwise arrow', google translation)
- - "⥀": [T: "suljettu ympyränuoli vastapäivään"] # 0x2940 (en: 'anticlockwise closed circle arrow', google translation)
- - "⥁": [T: "suljettu ympyränuoli myötäpäivään"] # 0x2941 (en: 'clockwise closed circle arrow', google translation)
- - "⥂": [T: "oikea nuoli lyhyen vasemman nuolen yläpuolella"] # 0x2942 (en: 'rightwards arrow above short leftwards arrow', google translation)
- - "⥃": [T: "vasen nuoli lyhyen oikean nuolen yläpuolella"] # 0x2943 (en: 'leftwards arrow above short rightwards arrow', google translation)
- - "⥄": [T: "lyhyt oikea nuoli vasemman nuolen yläpuolella"] # 0x2944 (en: 'short rightwards arrow above leftwards arrow', google translation)
- - "⥅": [T: "oikea nuoli ja plus-merkki alapuolella"] # 0x2945 (en: 'rightwards arrow with plus below', google: 'oikealla nuolella, jonka alla on plus')
- - "⥆": [T: "vasen nuoli ja plus-merkki alanpuolella"] # 0x2946 (en: 'leftwards arrow with plus below', google translation)
- - "⥇": [T: "oikea nuoli x:n läpi"] # 0x2947 (en: 'rightwards arrow through x', google translation)
- - "⥈": [T: "oikealle ja vasemmalle osoittava nuoli ympyrän läpi"] # 0x2948 (google: 'vasen oikea nuoli ympyrän läpi')
- - "⥉": [T: "ylöspäin osoittava kaksipäinen nuoli ympyrästä"] # 0x2949 (google: 'ylöspäin kaksi pääistä nuolta ympyrästä')
- - "⥊": [T: "oikealle ja vasemmalle osoittava puolinuoli oikealla yläpiikillä ja vasemmalla alapiikillä"] # 0x294a (google: 'vasen barb ylös oikealle barb down harpoon')
- - "⥋": [T: "oikealle ja vasemmalle osoittava puolinuoli oikealla alapiikillä ja vasemmalle yläpiikillä"] # 0x294b (google: 'vasen barb alas oikealla barb up harpoon')
- - "⥌": [T: "ylös ja alas osoittava puolinuoli oikealla yläpiikillä ja vasemmalla alapiikillä"] # 0x294c (en: 'up barb right down barb left harpoon', google translation)
- - "⥍": [T: "ylös ja alas osoittava puolinuoli vasemmalla yläpiikillä ja oikealla alapiikillä"] # 0x294d (en: 'up barb left down barb right harpoon', google translation)
- - "⥎": [T: "oikealle ja vasemmalle osoittava puolinuoli, piikit yläpuolella"] # 0x294e (en: 'left barb up right barb up harpoon', google: 'vasen barb ylös oikealle barb up harpoon')
- - "⥏": [T: "ylös ja alas osoittava puolinuoli, piikit oikealla"] # 0x294f (en: 'up barb right down barb right harpoon', google: 'ylös barb oikealla barbilla oikealla harpoonilla')
- - "⥐": [T: "oikealle ja vasemmalle osoittava puolinuoli, piikit alapuolella"] # 0x2950 (en: 'left barb down right barb down harpoon', google: 'vasen barb alas oikealla barb down harpoon')
- - "⥑": [T: "ylös ja alas osoittava puolinuoli, piikit vasemmalla"] # 0x2951 (en: 'up barb left down barb left harpoon', google: 'ylös barb vasemmalle barb vasen harpooni')
- - "⥒": [T: "vasemmalle osoittava puolinuoli pystyviivaan, piikki yläpuolella"] # 0x2952 (en: 'leftwards harpoon with barb up to bar', google: 'vasen harppuuna barbin kanssa baariin')
- - "⥓": [T: "oikealle osoittava puolinuoli pystyviivaan, piikki yläpuolella"] # 0x2953 (en: 'rightwards harpoon with barb up to bar', google: 'oikea harpoon barbin kanssa baariin')
- - "⥔": [T: "ylös osoittava puolinuoli vaakaviivaan, piikki oikealla"] # 0x2954 (en: 'upwards harpoon with barb right to bar', google: 'ylöspäin harppuun barbin oikealla baarilla')
- - "⥕": [T: "alas osoittava puolinuoli vaakaviivaan, piikki oikealla"] # 0x2955 (en: 'downwards harpoon with barb right to bar', google: 'downward harpoon barbin oikealla baarilla')
- - "⥖": [T: "vasemmalle osoittava puolinuoli pystyviivaan, piikki alapuolella"] # 0x2956 (en: 'leftwards harpoon with barb down to bar', google: 'vasen harppuuna barbin kanssa baariin')
- - "⥗": [T: "oikealle osoittava puolinuoli pystyviivaan, piikki alapuolella"] # 0x2957 (en: 'rightwards harpoon with barb down to bar', google: 'oikea harpoon barbin kanssa baariin')
- - "⥘": [T: "ylös osoittava puolinuoli vaakaviivaan, piikki vasemmalla"] # 0x2958 (en: 'upwards harpoon with barb left to bar', google: 'ylös harppuon barbin kanssa vasemmalle baariin')
- - "⥙": [T: "alas osoittava puolinuoli vaakaviivaan, piikki vasemmalla"] # 0x2959 (en: 'downwards harpoon with barb left to bar', google: 'downward harpoon barbin kanssa vasemmalle baariin')
- - "⥚": [T: "vasemmalle osoittava puolinuoli vaakaviivasta, piikki yläpuolella"] # 0x295a (en: 'leftwards harpoon with barb up from bar', google: 'vasen harppuuna barb ylös baarista')
- - "⥛": [T: "oikealle osoittava puolinuoli vaakaviivasta, piikki yläpuolella"] # 0x295b (en: 'rightwards harpoon with barb up from bar', google: 'oikealla harppuuna barbin kanssa baarista')
- - "⥜": [T: "ylöspäin osoittava puolinuoli vaakaviivasta, piikki oikealla"] # 0x295c (en: 'upwards harpoon with barb right from bar', google: 'ylöspäin harppuun barbin kanssa heti baarista')
- - "⥝": [T: "alaspäin osoittava puolinuoli vaakaviivasta, piikki oikealla"] # 0x295d (en: 'downwards harpoon with barb right from bar', google: 'downward harpoon barbin kanssa heti baarista')
- - "⥞": [T: "vasemmalle osoittava puolinuoli vaakaviivasta, piikki alapuolella"] # 0x295e (en: 'leftwards harpoon with barb down from bar', google: 'vasen harppuuna barbin kanssa baarista')
- - "⥟": [T: "oikealle osoittava puolinuoli vaakaviivasta, piikki alapuolella"] # 0x295f (en: 'rightwards harpoon with barb down from bar', google: 'oikea harpoon barbin kanssa baarista')
- - "⥠": [T: "ylöspäin osoittava puolinuoli vaakaviivasta, piikki vasemmalla"] # 0x2960 (en: 'upwards harpoon with barb left from bar', google: 'ylös harppuun barbin vasemmalla baarista')
- - "⥡": [T: "alaspäin osoittava puolinuoli vaakaviivasta, piikki vasemmalla"] # 0x2961 (en: 'downwards harpoon with barb left from bar', google: 'downward harpoon barbin vasemmalla baarista')
- - "⥢": [T: "vasemmalle osoittava puolinuolipari"] # 0x2962 (en: 'leftwards harpoon with barb up above leftwards harpoon with barb down', google: 'vasen harppuuna barb ylös vasemmanpuoleisen harpoonin yläpuolella barb down')
- - "⥣": [T: "ylöspäin osoittava puolinuolipari"] # 0x2963 (en: 'upwards harpoon with barb left beside upwards harpoon with barb right', google: 'yläpuolella harppuunia vasemmalla vasemmalla harpoon vieressä barbilla oikealla')
- - "⥤": [T: "oikealle osoittava puolinuolipari"] # 0x2964 (en: 'rightwards harpoon with barb up above rightwards harpoon with barb down', google: 'oikealla harpoonilla barb ylös oikeanpuoleisen harpoonin yläpuolella barb down')
- - "⥥": [T: "alaspäin osoittava puolinuolipari"] # 0x2965 (en: 'downwards harpoon with barb left beside downwards harpoon with barb right', google: 'downwards harpoon vasemmalla vasemmalla harppuunan vieressä barbilla oikealla')
- - "⥦": [T: "vasen puolinuoli piikki ylös ja alapuolella oikea puolinuoli piikki ylös"] # 0x2966 (en: 'leftwards harpoon with barb up above rightwards harpoon with barb up', google: 'vasen harppuuna barb ylös oikeanpuoleisen harpoonin yläpuolella barb up')
- - "⥧": [T: "vasen puolinuoli piikki alas ja alapuolella oikea puolinuoli piikki ylös"] # 0x2967 (en: 'leftwards harpoon with barb down above rightwards harpoon with barb down', google: 'vasen harppuuna barb alas oikeanpuoleisen harpoonin yläpuolella barb down')
- - "⥨": [T: "oikea puolinuoli piikki ylös ja alapuolella vasen puolinuoli piikki ylös"] # 0x2968 (en: 'rightwards harpoon with barb up above leftwards harpoon with barb up', google: 'oikealla harpounalla barb ylös vasemmanpuoleisen harpoonin yläpuolella barb up')
- - "⥩": [T: "oikea puolinuoli piikki alas ja alapuolella vasen puolinuoli piikki alas"] # 0x2969 (en: 'rightwards harpoon with barb down above leftwards harpoon with barb down', google: 'oikealla harpounalla barbin kanssa vasemmanpuoleisen harpoonin yläpuolella barb down')
- - "⥪": [T: "vasen puolinuoli piikki ylös vaakaviivan yläpuolella"] # 0x296a (en: 'leftwards harpoon with barb up above long dash', google: 'vasen harppuuna barb ylös pitkän viivan yläpuolella')
- - "⥫": [T: "vasen puolinuoli piikki alas vaakaviivan alapuolella"] # 0x296b (en: 'leftwards harpoon with barb down below long dash', google: 'vasen harppuuna barbin alapuolella pitkän viivan alapuolella')
- - "⥬": [T: "oikea puolinuoli piikki ylös vaakaviivan yläpuolella"] # 0x296c (en: 'rightwards harpoon with barb up above long dash', google: 'oikealla harppuunilla barb up long dashin yläpuolella')
- - "⥭": [T: "oikea puolinuoli piikki alas vaakaviivan alapuolella"] # 0x296d (en: 'rightwards harpoon with barb down below long dash', google: 'oikealla harppuuna barbin alapuolella pitkän viivan alapuolella')
- - "⥮": [T: "ylös ja alas osoittava puolinuolipari"] # 0x296e (en: 'upwards harpoon with barb left beside downwards harpoon with barb right', google: 'ylös harppuunaa vasemmalla vasemmalla harpoonin vieressä barbilla oikealla')
- - "⥯": [T: "alas ja ylös osoittava puolinuolipari"] # 0x296f (en: 'downwards harpoon with barb left beside upwards harpoon with barb right', google: 'downwards harpoon vasemmalla vasemmalla harppuunin vieressä barbilla oikealla')
- - "⥰": [T: "oikea tuplanuoli pyöristetyllä yläpuolella"] # 0x2970 (en: 'right double arrow with rounded head', google: 'oikea kaksinkertainen nuoli pyöristetyllä pään kanssa')
- - "⥱": [T: "yhtä suuri kuin oikean nuolen yläpuolella"] # 0x2971 (google: 'vastaa oikeanpuoleista nuolta')
- - "⥲": [T: "tilde oikean nuolen yläpuolella"] # 0x2972 (google: 'tilde -operaattori oikeanpuoleisen nuolen yläpuolella')
- - "⥳": [T: "vasen nuoli tilden yläpuolella"] # 0x2973 (en: 'leftwards arrow above tilde operator', google: 'vasen nuoli tilde -operaattorin yläpuolella')
- - "⥴": [T: "oikea nuoli tilden yläpuolella"] # 0x2974 (en: 'rightwards arrow above tilde operator', google: 'oikealla nuolella tilde -operaattorin yläpuolella')
- - "⥵": [T: "oikea nuoli melkein yhtä suuri kuin yläpuolella"] # 0x2975 (google: 'oikea nuoli yläpuolelle melkein yhtä suuri kuin')
- - "⥶": [T: "pienempi kuin vasemman nuolen yläpuolella"] # 0x2976 (google: 'alle kuin vasemmanpuoleinen nuoli')
- - "⥷": [T: "vasen nuoli pienempi kuin päällä"] # 0x2977 (en: 'leftwards arrow through less than', google translation)
- - "⥸": [T: "suurempi kuin oikean nuolen yläpuolella"] # 0x2978 (google: 'suurempi kuin oikeanpuoleinen nuoli')
- - "⥹": [T: "osajoukko oikean nuolen yläpuolella"] # 0x2979 (google: 'oikeanpuoleinen nuolen yläpuolella')
- - "⥺": [T: "vasen nuoli osajoukon päällä"] # 0x297a (en: 'leftwards arrow through subset', google translation)
- - "⥻": [T: "ylijoukko vasemman nuolen yläpuolella"] # 0x297b (google: 'superset vasemmanpuoleisen nuolen yläpuolella')
- - "⥼": [T: "vasen kalanpyrstö"] # 0x297c (google: 'vasen kala häntä')
- - "⥽": [T: "oikea kalanpyrstö"] # 0x297d (google: 'oikea kala häntä')
- - "⥾": [T: "ylöspäin osoittava kalanpyrstö"] # 0x297e (en: 'up fish tail', google: 'ylös kalanhäntä')
- - "⥿": [T: "alaspäin osoittava kalanpyrstö"] # 0x297f (google: 'alas kalan hännä')
- - "⦀": [T: "kolminkertainen pystysuora palkki"] # 0x2980 (en: 'triple vertical bar delimiter', google translation)
- - "⦁": [T: "Z-notaatio piste"] # 0x2981 (en: 'z notation spot', google translation)
- - "⦂": [T: "Z-notaatio kaksoispiste"] # 0x2982 (en: 'z notation type colon', google translation)
- - "⦃": [T: "vasen valkoinen aaltosulku"] # 0x2983 (en: 'left white brace', google translation)
- - "⦄": [T: "oikea valkoinen aaltosulku"] # 0x2984 (en: 'right white brace', google translation)
- - "⦅": [T: "vasen valkoinen kaarisulku"] # 0x2985 (en: 'left white parenthesis', google: 'vasen valkoinen sulkuteesi')
- - "⦆": [T: "oikea valkoinen kaarisulku"] # 0x2986 (en: 'right white parenthesis', google: 'oikea valkoinen sulkuteesi')
- - "⦇": [T: "Z-notaatio vasen kuva sulku"] # 0x2987 (en: 'z notation left image bracket', google translation)
- - "⦈": [T: "Z-notaatio oikea kuva sulku"] # 0x2988 (en: 'z notation right image bracket', google translation)
- - "⦉": [T: "Z-notaatio vasen sitova sulku"] # 0x2989 (google: 'z -merkintä jätti sitovan kiinnikkeen')
- - "⦊": [T: "Z-notaatio oikea sitova sulku"] # 0x298a (google: 'z -merkintä oikea sitova kiinnike')
- - "⦋": [T: "vasen hakasulku alaviivalla"] # 0x298b (en: 'left square bracket with underbar', google: 'vasen neliökiinnike alapalkin kanssa')
- - "⦌": [T: "oikea hakasulku alaviivalla"] # 0x298c (en: 'right square bracket with underbar', google: 'oikea neliökiinnike alapalkin kanssa')
- - "⦍": [T: "vasen hakasulku viivalla ylänurkassa"] # 0x298d (en: 'left square bracket with tick in top corner', google: 'vasen neliö kiinnike, punkki yläkulmassa')
- - "⦎": [T: "oikea hakasulku viivalla alanurkassa"] # 0x298e (en: 'right square bracket with tick in bottom corner', google: 'oikea neliökiinnike, jossa punkki alakulmassa')
- - "⦏": [T: "vasen hakasulku viivalla alanurkassa"] # 0x298f (en: 'left square bracket with tick in bottom corner', google: 'vasen neliö kiinnike, punkki alakulmassa')
- - "⦐": [T: "oikea hakasulku viivalla ylänurkassa"] # 0x2990 (en: 'right square bracket with tick in top corner', google: 'oikea neliö kiinnike, punkki yläkulmassa')
- - "⦑": [T: "vasen kulmasulku pisteellä"] # 0x2991 (en: 'left angle bracket with dot', google: 'vasemman kulman kiinnike pisteellä')
- - "⦒": [T: "oikea kulmasulku pisteellä"] # 0x2992 (en: 'right angle bracket with dot', google: 'suoren kulman kiinnike pisteellä')
- - "⦓": [T: "vasen kaari pienempi kuin sulku"] # 0x2993 (google: 'vasen kaari vähemmän kuin kiinnike')
- - "⦔": [T: "oikea kaari suurempi kuin sulku"] # 0x2994 (google: 'oikea kaari suurempi kuin kiinnike')
- - "⦕": [T: "vasen kaksoiskaari suurempi kuin sulku"] # 0x2995 (google: 'kaksinkertainen vasen kaari on suurempi kuin kiinnike')
- - "⦖": [T: "oikea kaksoiskaari pienempi kuin sulku"] # 0x2996 (google: 'kaksinkertainen oikea kaari vähemmän kuin kiinnike')
- - "⦗": [T: "vasen musta kilpikonnankuorisulku"] # 0x2997 (en: 'left black tortoise shell bracket', google translation)
- - "⦘": [T: "oikea musta kilpikonnakuorisulku"] # 0x2998 (en: 'right black tortoise shell bracket', google translation)
- - "⦙": [T: "pistetty aita"] # 0x2999 (en: 'dotted fence', google translation)
- - "⦚": [T: "pystysuora siksak-viiva"] # 0x299a (google: 'pystysuora siksak -linja')
- - "⦛": [T: "vasemmalle avautuva mitattu kulma"] # 0x299b (en: 'measured angle opening left', google translation)
- - "⦜": [T: "neliöllä merkitty suora kulma"] # 0x299c (en: 'right angle variant with square', google translation)
- - "⦝": [T: "kaarella merkitty suora kulma"] # 0x299d (en: 'measured right angle with dot', google: 'mitattu oikea kulma pisteellä')
- - "⦞": [T: "kulma, jonka sisällä on s"] # 0x299e (en: 'angle with s inside', google translation)
- - "⦟": [T: "terävä kulma"] # 0x299f (en: 'acute angle', google translation)
- - "⦠": [T: "vasemmalle avautuva pallomainen kulma"] # 0x29a0 (en: 'spherical angle opening left', google translation)
- - "⦡": [T: "ylös avautuva pallomainen kulma"] # 0x29a1 (en: 'spherical angle opening up', google translation)
- - "⦢": [T: "käännetty kulma"] # 0x29a2 (en: 'turned angle', google translation)
- - "⦣": [T: "käänteinen kulma"] # 0x29a3 (en: 'reversed angle', google translation)
- - "⦤": [T: "kulma alaviivalla"] # 0x29a4 (en: 'angle with underbar', google: 'kulma alapalkin kanssa')
- - "⦥": [T: "käännetty kulma alaviivalla"] # 0x29a5 (en: 'reversed angle with underbar', google: 'käännetty kulma alapalkin kanssa')
- - "⦦": [T: "ylöspäin avautuva viisto kulma"] # 0x29a6 (google: 'vino kulma avautuu')
- - "⦧": [T: "alaspäin avautuva viisto kulma"] # 0x29a7 (google: 'vino kulma avautuu')
- - "⦨": [T: "mitattu kulma, jossa yläoikealle osoittava nuoli"] # 0x29a8 (en: 'measured angle with open arm ending in arrow pointing up and to the right', google: 'mitattu kulma, kun avoin käsivarsi päättyy nuoleen osoittaen ylös ja oikealle')
- - "⦩": [T: "mitattu kulma, jossa ylävasemmalle osoittava nuoli"] # 0x29a9 (en: 'measured angle with open arm ending in arrow pointing up and to the left', google: 'mitattu kulma, jonka avoin käsivarsi päättyy nuoleen osoittaen ylös ja vasemmalle')
- - "⦪": [T: "mitattu kulma, jossa alaoikealle osoittava nuoli"] # 0x29aa (en: 'measured angle with open arm ending in arrow pointing down and to the right', google: 'mitattu kulma, kun avoin käsivarsi päättyy nuolessa alaspäin ja oikealle')
- - "⦫": [T: "mitattu kulma, jossa alavasemmalle osoittava nuoli"] # 0x29ab (en: 'measured angle with open arm ending in arrow pointing down and to the left', google: 'mitattu kulma, kun avoin käsivarsi päättyy nuolessa alaspäin ja vasemmalle')
- - "⦬": [T: "mitattu kulma, jossa oikealle ja ylös osoittava nuoli"] # 0x29ac (en: 'measured angle with open arm ending in arrow pointing right and up', google: 'mitattu kulma, kun avoin käsivarsi päättyy nuoleen osoittaen oikealle ja ylöspäin')
- - "⦭": [T: "mitattu kulma, jossa vasemmalle ja ylös osoittava nuoli"] # 0x29ad (en: 'measured angle with open arm ending in arrow pointing left and up', google: 'mitattu kulma, jonka avoin käsivarsi päättyy nuoleen osoittaen vasemmalle ja ylöspäin')
- - "⦮": [T: "mitattu kulma, jossa oikealle ja alas osoittava nuoli"] # 0x29ae (en: 'measured angle with open arm ending in arrow pointing right and down', google: 'mitattu kulma, kun avoin käsivarsi päättyy nuoleen osoittaen oikealle ja alas')
- - "⦯": [T: "mitattu kulma, jossa vasemmalle ja alas osoittava nuoli"] # 0x29af (en: 'measured angle with open arm ending in arrow pointing left and down', google: 'mitattu kulma, jonka nuolessa päättyy avoimeen käsivarteen, osoittaen vasemmalle ja alas')
- - "⦰": [T: "käännetty tyhjä joukko"] # 0x29b0 (google: 'kääntynyt tyhjä sarja')
- - "⦱": [T: "tyhjä joukko yläviivalla"] # 0x29b1 (en: 'empty set with overbar', google: 'tyhjä sarja ylikuormituksella')
- - "⦲": [T: "tyhjä joukko ja pieni ympyrä yläpuolella"] # 0x29b2 (en: 'empty set with small circle above', google: 'tyhjä sarja, jossa on pieni ympyrä yllä')
- - "⦳": [T: "tyhjä joukko ja oikea nuoli yläpuolella"] # 0x29b3 (en: 'empty set with right arrow above', google: 'tyhjä sarja oikealla nuolella yllä')
- - "⦴": [T: "tyhjä joukko ja vasen nuoli yläpuolella"] # 0x29b4 (en: 'empty set with left arrow above', google: 'tyhjä sarja vasemmalla nuolella yllä')
- - "⦵": [T: "vaakaviivallinen ympyrä"] # 0x29b5 (en: 'circle with horizontal bar', google: 'ympyrä vaakasuuntaisella palkilla')
- - "⦶": [T: "ympyröity pystyviiva"] # 0x29b6 (google: 'ympyrä pystysuora palkki')
- - "⦷": [T: "ympyröidyt samansuuntaiset pystyviivat"] # 0x29b7 (google: 'ympyröi rinnakkain')
- - "⦸": [T: "ympyröity kenoviiva"] # 0x29b8 (en: 'circled reverse solidus', google translation)
- - "⦹": [T: "ympyröity kohtisuoruusmerkki"] # 0x29b9 (google: 'ympyräsi kohtisuorassa')
- - "⦺": [T: "ympyrä, joka on jaettu vaakaviivalla ja yläpuolisko on jaettu pystyviivalla"] # 0x29ba (en: 'circled divided by horizontal bar and top half divided by vertical bar', google translation)
- - "⦻": [T: "ympyrä ja x päällekkäin"] # 0x29bb (en: 'circle with superimposed x', google: 'ympyrä päällekkäin x')
- - "⦼": [T: "ympyröity vastapäivään käännetty jakomerkki"] # 0x29bc (en: 'circled anticlockwise rotated division sign', google: 'ympyröity vastapäivään kierretty jakomerkki')
- - "⦽": [T: "nuoli ympyrän läpi"] # 0x29bd (en: 'up arrow through circle', google translation)
- - "⦾": [T: "ympyröity valkoinen pieni ympyrä"] # 0x29be (google: 'ympyrävalkoinen luoti')
- - "⦿": [T: "ympyröity pieni ympyrä"] # 0x29bf (google: 'ympyrä luoti')
- - "⧀": [T: "ympyröity pienempi kuin"] # 0x29c0 (google: 'ympyräsi vähemmän kuin')
- - "⧁": [T: "ympyröity suurempi kuin"] # 0x29c1 (google: 'ympyräsi suurempi kuin')
- - "⧂": [T: "ympyrä ja pieni ympyrä oikealla"] # 0x29c2 (en: 'circle with small circle to the right', google: 'ympyrä pienellä ympyrällä oikealla')
- - "⧃": [T: "ympyrä ja kaksi vaakaviivaa oikealla"] # 0x29c3 (en: 'circle with two horizontal strokes to the right', google: 'ympyrä kahdella vaakasuuntaisella iskulla oikealle')
- - "⧄": [T: "neliöity kasvava diagonaalinen viiva"] # 0x29c4 (google: 'neliö nousevat diagonaaliset viiva')
- - "⧅": [T: "neliöity laskeva diagonaalinen viiva"] # 0x29c5 (google: 'neliö putoava diagonaalinen viiva')
- - "⧆": [T: "neliö tähdellä"] # 0x29c6 (en: 'squared asterisk', google translation)
- - "⧇": [T: "neliöity pieni ympyrä"] # 0x29c7 (en: 'squared small circle', google translation)
- - "⧈": [T: "neliöity pieni neliö"] # 0x29c8 (en: 'squared square', google translation)
- - "⧉": [T: "kaksi limittäistä neliötä"] # 0x29c9 (google: 'kaksi liittyi neliötä')
- - "⧊": [T: "kolmio ja piste yläpuolella"] # 0x29ca (en: 'triangle with dot above', google translation)
- - "⧋": [T: "kolmio ja vaakaviiva alapuolella"] # 0x29cb (en: 'triangle with underbar', google translation)
- - "⧌": [T: "s kolmiossa"] # 0x29cc (en: 's in triangle', google translation)
- - "⧍": [T: "kolmio, jonka pohjassa serif"] # 0x29cd (en: 'triangle with serifs at bottom', google: 'kolmio alaosassa')
- - "⧎": [T: "oikea kolmio vasemman kolmion yläpuolella"] # 0x29ce (google: 'oikea kolmio vasemman kolmion yläpuolella')
- - "⧏": [T: "vasen kolmio pystyviivan vieressä"] # 0x29cf (en: 'left triangle beside vertical bar', google: 'vasen kolmio pystysuoran palkin vieressä')
- - "⧐": [T: "pystyviiva oikean kolmion vieressä"] # 0x29d0 (en: 'vertical bar beside right triangle', google: 'pystysuora palkki oikean kolmion vieressä')
- - "⧑": [T: "rusetti, jonka vasen puoli musta"] # 0x29d1 (en: 'bowtie with left half black', google translation)
- - "⧒": [T: "rusetti, jonka oikea puoli musta"] # 0x29d2 (en: 'bowtie with right half black', google translation)
- - "⧓": [T: "musta rusetti"] # 0x29d3 (en: 'black bowtie', google translation)
- - "⧔": [T: "puolirusetti, jonka vasen puoli musta"] # 0x29d4 (en: 'times with left half black', google translation)
- - "⧕": [T: "puolirusetti, jonka oikea puoli musta"] # 0x29d5 (en: 'times with right half black', google translation)
- - "⧖": [T: "valkoinen tiimalasi"] # 0x29d6 (en: 'white hourglass', google translation)
- - "⧗": [T: "musta tiimalasi"] # 0x29d7 (en: 'black hourglass', google translation)
- - "⧘": [T: "vasen kiemurteleva viiva"] # 0x29d8 (en: 'left wiggly fence', google translation)
- - "⧙": [T: "oikea kiemurteleva viiva"] # 0x29d9 (en: 'right wiggly fence', google translation)
- - "⧚": [T: "vasen kaksinkertainen kiemurteleva viiva"] # 0x29da (en: 'left double wiggly fence', google: 'vasen kaksinkertainen aita')
- - "⧛": [T: "oikea kaksinkertainen kiemurteleva viiva"] # 0x29db (en: 'right double wiggly fence', google: 'oikea kaksinkertainen aita')
- - "⧜": [T: "epätäydellinen äärettömyys"] # 0x29dc (google: 'epätäydellinen äärettömyys')
- - "⧝": [T: "yhdistetty äärettömyys"] # 0x29dd (en: 'tie over infinity', google translation)
- - "⧞": [T: "äärettömyys negatoitu pystyviivalla"] # 0x29de (en: 'infinity negated with vertical bar', google: 'äärettömyys kielsi pystysuoralla palkilla')
- - "⧟": [T: "kaksipäinen monikuvaus"] # 0x29df (en: 'double-ended multimap', google translation) # FI: "multimap", "monikuvaus" translation questionable
- - "⧠": [T: "neliö korostetuilla ääreviivoilla"] # 0x29e0 (en: 'square with contoured outline', google translation)
- - "⧡": [T: "kasvaa suhteessa"] # 0x29e1 (en: 'increases as', google translation)
- - "⧢": [T: "sekoitetulo"] # 0x29e2 (en: 'shuffle product', google translation)
- - "⧣": [T: "on yhtä suuri kuin kahdella vinolla yliviivalla"] # 0x29e3 (google: 'vastaa merkkiä ja viistot rinnakkain')
- - "⧤": [T: "on yhtä suuri kuin kahdella vinolla yliviivalla ja tilde yläpuolella"] # 0x29e4 (en: 'equals sign and slanted parallel with tilde above', google: 'vastaa merkkiä ja viistot yhdensuuntaisen kanssa tilden kanssa yllä')
- - "⧥": [T: "identtinen kuin kahdella vinolla yliviivalla"] # 0x29e5 (en: 'identical to and slanted parallel', google: 'identtinen ja vino rinnakkain')
- - "⧦": [T: "tautologisesti ekvivalentti"] # 0x29e6 (google translation)
- - "⧧": [T: "termodynaaminen"] # 0x29e7 (en: 'thermodynamic', google translation)
- - "⧨": [T: "alaspäin osoittava kolmio ja vasen puoli musta"] # 0x29e8 (en: 'down pointing triangle with left half black', google translation)
- - "⧩": [T: "alaspäin osoittava kolmio ja oikea puoli musta"] # 0x29e9 (en: 'down pointing triangle with right half black', google translation)
- - "⧪": [T: "musta timantti alas osoittavalla nuolella"] # 0x29ea (en: 'black diamond with down arrow', google translation)
- - "⧫": [T: "musta vinoneliö"] # 0x29eb (en: 'black lozenge', google: 'musta lozenge')
- - "⧬": [T: "valkoinen ympyrä alaspäin osoittavalla nuolella"] # 0x29ec (en: 'white circle with down arrow', google translation)
- - "⧭": [T: "musta ympyrä alaspäin osoittavalla nuolella"] # 0x29ed (en: 'black circle with down arrow', google translation)
- - "⧮": [T: "valkoinen neliö virheviivoilla"] # 0x29ee (en: 'error-barred white square', google translation)
- - "⧯": [T: "musta neliö virheviivoilla"] # 0x29ef (en: 'error-barred black square', google translation)
- - "⧰": [T: "valkoinen timantti virheviivoilla"] # 0x29f0 (en: 'error-barred white diamond', google translation)
- - "⧱": [T: "musta timantti virheviivoilla"] # 0x29f1 (en: 'error-barred black diamond', google translation)
- - "⧲": [T: "valkoinen ympyrä virheviivoilla"] # 0x29f2 (en: 'error-barred white circle', google translation)
- - "⧳": [T: "musta ympyrä virheviivoilla"] # 0x29f3 (en: 'error-barred black circle', google translation)
- - "⧴": [T: "viivästetty sääntö"] # 0x29f4 (en: 'rule-delayed', google: 'sääntöviitettu')
- - "⧵": [T: "kenoviiva"] # 0x29f5 (en: 'reverse solidus operator', google translation)
- - "⧶": [T: "vinoviiva yläviivalla"] # 0x29f6 (en: 'solidus with overbar', google: 'solidus ylikuormituksen kanssa')
- - "⧷": [T: "kenoviiva poikkiviivalla"] # 0x29f7 (en: 'reverse solidus with horizontal stroke', google translation)
- - "⧸": [T: "iso vinoviiva"] # 0x29f8 (google translation)
- - "⧹": [T: "iso kenoviiva"] # 0x29f9 (en: 'big reverse solidus', google translation)
- - "⧺": [T: "kaksinkertainen plus"] # 0x29fa (en: 'double plus', google translation)
- - "⧻": [T: "kolminkertainen plus"] # 0x29fb (google translation)
- - "⧼": [T: "vasemmalle osoittava kaareva kulmahakasulku"] # 0x29fc (en: 'left pointing curved angle bracket', google translation)
- - "⧽": [T: "oikealle osoittava kaareva kulmahakasulku"] # 0x29fd (en: 'right pointing curved angle bracket', google translation)
- - "⧾": [T: "tiny"] # 0x29fe (en: 'tiny', google translation)
- - "⧿": [T: "miny"] # 0x29ff (google translation)
- - "⨀": [T: "monikollinen ympyrässä oleva kertopiste"] # 0x2a00 (en: 'circled dot operator', google translation)
- - "⨁": [T: "monikollinen ympyrässä oleva plus"] # 0x2a01 (en: 'circled plus operator', google translation)
- - "⨂": [T: "monikollinen ympyrässä oleva kertomerkki"] # 0x2a02 (en: 'circled times operator', google translation)
- - "⨃": [T: "pisteellinen monikkounioni"] # 0x2a03 (en: 'union operator with dot', google translation)
- - "⨄": [T: "monijoukkojen monikkounioni"] # 0x2a04 (en: 'union operator with plus', google translation)
- - "⨅": [T: "kulmikas leikkauksen merkki"] # 0x2a05 (en: 'square intersection operator', google translation)
- - "⨆": [T: "kulmikas unionin merkki"] # 0x2a06 (en: 'square union operator', google translation)
- - "⨇": [T: "kaksi loogista ja-operaattoria"] # 0x2a07 (en: 'two logical and operator', google translation)
- - "⨈": [T: "kaksi loogista tai-operaattoria"] # 0x2a08 (en: 'two logical or operator', google translation)
- - "⨉": [T: "kertaa-operaattori"] # 0x2a09 (en: 'times operator', google translation)
- - "⨊": [T: "modulo kaksi summaa"] # 0x2a0a (en: 'modulo two sum', google translation)
- - "⨋": [T: "summa integraalilla"] # 0x2a0b (en: 'summation with integral', google translation)
- - "⨌": [T: "nelinkertainen integraali"] # 0x2a0c (google: 'neljänneksen kiinteä operaattori')
- - "⨍": [T: "pääarvointegraali"] # 0x2a0d (google: 'äärellinen osa integraali')
- - "⨎": [T: "integraali kaksinkertaisella poikkiviivalla"] # 0x2a0e (en: 'integral with double stroke', google translation)
- - "⨏": [T: "integraalikeskiarvo viistolla vaakaviivalla"] # 0x2a0f (en: 'integral average with slash', google translation)
- - "⨐": [T: "kiertofunktio"] # 0x2a10 (google: 'kiertotoiminto')
- - "⨑": [T: "integraali vastapäivään"] # 0x2a11 (google: 'vastapäivään integraatio')
- - "⨒": [T: "viivaintegraali neliskulmaisella polulla navan ympäri"] # 0x2a12 (en: 'line integration with rectangular path around pole', google: 'line -integraatio suorakaiteen muotoisella polulla navan ympärillä')
- - "⨓": [T: "viivaintegraali puoliympyräpolulla navan ympäri"] # 0x2a13 (en: 'line integration with semicircular path around pole', google: 'line -integrointi puolipyöreällä polulla navan ympärillä')
- - "⨔": [T: "viivaintegraali ei sisällä napaa"] # 0x2a14 (google: 'linjan integrointi ei sisällä napaa')
- - "⨕": [T: "integraali pisteoperaattorin ympärillä"] # 0x2a15 (google: 'integroitu pisteen operaattorin ympärillä')
- - "⨖": [T: "kvaternionin integraalioperaattori"] # 0x2a16 en: 'quaternion integral operator' google: 'kvaternionin kiinteä operaattori'
- - "⨗": [T: "integraali ja vasemmalle osoittava nuoli koukulla"] # 0x2a17 (en: 'integral with leftwards arrow with hook', google: 'integraali vasemmanpuoleisella nuolella koukussa')
- - "⨘": [T: "integraali kertomerkillä"] # 0x2a18 (en: 'integral with times sign', google translation)
- - "⨙": [T: "integraali leikkauksella"] # 0x2a19 (en: 'integral with intersection', google translation)
- - "⨚": [T: "integraali unionilla"] # 0x2a1a (en: 'integral with union', google translation)
- - "⨛": [T: "integraali yläviivalla"] # 0x2a1b (en: 'integral with overbar', google translation)
- - "⨜": [T: "integraali alaviivalla"] # 0x2a1c (en: 'integral with underbar', google translation)
- - "⨝": [T: "liitos"] # 0x2a1d (en: 'join', google translation)
- - "⨞": [T: "suuri vasen kolmio -operaattori"] # 0x2a1e (en: 'large left triangle operator', google translation)
- - "⨟": [T: "Z-notaatio skeemayhdiste"] # 0x2a1f (en: 'z notation schema composition', google translation)
- - "⨠": [T: "Z-notaatio skeemapiping"] # 0x2a20 (en: 'z notation schema piping', google translation)
- - "⨡": [T: "Z-notaatio skeemaprojektio"] # 0x2a21 (en: 'z notation schema projection', google translation)
- - "⨢": [T: "plus ja ympyrä yläpuolella"] # 0x2a22 (en: 'plus sign with circle above', google: 'plus -merkki yllä olevalla ympyrällä')
- - "⨣": [T: "plus ja sirkumfleksi yläpuolella"] # 0x2a23 (en: 'plus sign with circumflex accent above', google: 'plus -merkki yllä olevalla ympyrä -aksentilla') # FI: should this be "hat", "hattu"?
- - "⨤": [T: "plus ja tilde yläpuolella"] # 0x2a24 (en: 'plus sign with tilde above', google: 'plus -merkki yllä olevan tilden kanssa')
- - "⨥": [T: "plus ja piste alapuolella"] # 0x2a25 (en: 'plus sign with dot below', google: 'plus -merkki alla olevalla pisteellä')
- - "⨦": [T: "plus ja tilde alapuolella"] # 0x2a26 (en: 'plus sign with tilde below', google: 'plus -merkki alla olevilla tildeillä')
- - "⨧": [T: "plus alaindeksi kaksi"] # 0x2a27 (en: 'plus sign with subscript two', google: 'plus -merkki alaindeksi kaksi')
- - "⨨": [T: "plus mustalla kolmiolla"] # 0x2a28 (en: 'plus sign with black triangle', google translation)
- - "⨩": [T: "miinus ja piste yläpuolella"] # 0x2a29 (en: 'minus sign with comma above', google: 'miinus merkki yllä olevalla pilkulla')
- - "⨪": [T: "miinus ja piste alapuolella"] # 0x2a2a (en: 'minus sign with dot below', google: 'miinusmerkki alla olevalla pisteellä')
- - "⨫": [T: "miinus putoavilla pisteillä"] # 0x2a2b (en: 'minus sign with falling dots', google translation)
- - "⨬": [T: "miinus nousevilla pisteillä"] # 0x2a2c (en: 'minus sign with rising dots', google translation)
- - "⨭": [T: "plus vasemmalla puoliympyrällä"] # 0x2a2d (google: 'plus kirjaudu vasemmassa puolivälissä')
- - "⨮": [T: "plus oikealla puoliympyrällä"] # 0x2a2e (google: 'plus kirjaudu oikeaan puoliväliin')
- - "⨯": [T: "ristitulo"] # 0x2a2f (en: 'cross product', google: 'ristituote')
- - "⨰": [T: "kertomerkki ja piste yläpuolella"] # 0x2a30 (en: 'multiplication sign with dot above', google: 'kertolaskulla olevan pisteen kanssa')
- - "⨱": [T: "kertomerkki alaviivalla"] # 0x2a31 (en: 'multiplication sign with underbar', google: 'kertolasku aluskokouksella')
- - "⨲": [T: "puolisuora tulo, jonka pohja suljettu"] # 0x2a32 (en: 'semidirect product with bottom closed', google translation)
- - "⨳": [T: "smash tulo"] # 0x2a33 (en: 'smash product' google: 'smash -tuote') # FI: translation unclear
- - "⨴": [T: "kertomerkki vasemmalla puoliympyrällä"] # 0x2a34 (google: 'kertolaskenta vasemmassa puolivälissä')
- - "⨵": [T: "kertomerkki oikealla puoliympyrällä"] # 0x2a35 (google: 'kertokultaan oikea puoli ympyrä')
- - "⨶": [T: "ympyröity kertomerkki sirkumfleksillä"] # 0x2a36 (en: 'circled multiplication sign with circumflex accent', google: 'ympyräkerroin merkki kehäkykyt aksentilla') # FI: should this be with "hat", "hattu"?
- - "⨷": [T: "kaksoisympyröity kertomerkki"] # 0x2a37 (google: 'kertolaskenta kaksoisympyrässä')
- - "⨸": [T: "ympyröity jakomerkki"] # 0x2a38 (google: 'ympyrädivisioonan merkki')
- - "⨹": [T: "plus kolmiossa"] # 0x2a39 (google: 'plus kirjaudu kolmioon')
- - "⨺": [T: "miinus kolmiossa"] # 0x2a3a (google: 'miinus kirjaudu kolmioon')
- - "⨻": [T: "kertomerkki kolmiossa"] # 0x2a3b (google: 'kertokultaan kolmiossa')
- - "⨼": [T: "sisäinen tulo"] # 0x2a3c (google: 'sisätuote')
- - "⨽": [T: "oikeanpuoleinen sisäinen tulo"] # 0x2a3d (en: 'righthand interior product', google translation)
- - "⨿": [T: "amalgamaatio tai kotulo"] # 0x2a3f (en: "amalgamation or coproduct", google: 'yhdistäminen tai yhteistyö') # FI: translation unclear
- - "⩀": [T: "leikkaus pisteellä"] # 0x2a40 (en: 'intersection with dot', google: 'risteys pisteellä')
- - "⩁": [T: "unioni miinuksella"] # 0x2a41 (en: 'union with minus sign', google translation)
- - "⩂": [T: "unioni yläviivalla"] # 0x2a42 (en: 'union with overbar', google: 'unioni ylikuormituksen kanssa')
- - "⩃": [T: "leikkaus yläviivalla"] # 0x2a43 (en: 'intersection with overbar', google: 'risteys ylikuormituksen kanssa')
- - "⩄": [T: "leikkaus ja looginen ja"] # 0x2a44 (en: 'intersection with logical and', google: 'risteys loogisella ja')
- - "⩅": [T: "unioni ja looginen tai"] # 0x2a45 (en: 'union with logical or', google: 'union loogisen tai')
- - "⩆": [T: "unioni leikkauksen yläpuolella"] # 0x2a46 (google: 'unioni risteyksen yläpuolella')
- - "⩇": [T: "leikkaus unionin yläpuolella"] # 0x2a47 (google: 'risteys liiton yläpuolella')
- - "⩈": [T: "unioni alaviivalla leikkauksen yläpuolella"] # 0x2a48 (google: 'unioni yläpuolella risteyksen yläpuolella')
- - "⩉": [T: "leikkaus alaviivalla leikkauksen yläpuolella"] # 0x2a49 (google: 'risteys yläpuolella liiton yläpuolella')
- - "⩊": [T: "unioni unionin vieressä yhdistettynä"] # 0x2a4a (en: 'union beside and joined with union', google: 'unionin vieressä ja liittyi unioniin')
- - "⩋": [T: "leikkaus leikkauksen vieressä yhdistettynä"] # 0x2a4b (en: 'intersection beside and joined with intersection', google: 'risteys risteyksen vieressä ja liitetty')
- - "⩌": [T: "suljettu unioni serifillä"] # 0x2a4c (en: 'closed union with serifs', google: 'suljettu liitto serifien kanssa')
- - "⩍": [T: "suljettu leikkaus serifillä"] # 0x2a4d (en: 'closed intersection with serifs', google: 'suljettu risteys serifien kanssa')
- - "⩎": [T: "kaksinkertainen neliöleikkus"] # 0x2a4e (en: 'double square intersection', google translation)
- - "⩏": [T: "kaksinkertainen neliöunioni"] # 0x2a4f (google translation)
- - "⩐": [T: "suljettu unioni serifillä ja smash tulo"] # 0x2a50 (en: 'closed union with serifs and smash product', google: 'suljettu liitto serifien ja smash -tuotteen kanssa')
- - "⩑": [T: "looginen ja yläpisteellä"] # 0x2a51 (en: 'logical and with dot above', google translation)
- - "⩒": [T: "looginen tai yläpisteellä"] # 0x2a52 (en: 'logical or with dot above', google translation)
- - "⩓": [T: "kaksinkertainen looginen ja"] # 0x2a53 (google: 'kaksinkertainen looginen ja')
- - "⩔": [T: "kaksinkertainen looginen tai"] # 0x2a54 (google: 'kaksinkertainen looginen tai')
- - "⩕": [T: "kaksi limittäistä loogista ja -merkkiä"] # 0x2a55 (google: 'kaksi risteävää loogista ja')
- - "⩖": [T: "kaksi limittäistä loogista tai -merkkiä"] # 0x2a56 (google: 'kaksi risteävää loogista tai')
- - "⩗": [T: "vino suuri tai"] # 0x2a57 (google: 'kalteva suuri tai')
- - "⩘": [T: "vino suuri ja"] # 0x2a58 (google: 'kalteva iso ja')
- - "⩙": [T: "looginen tai jonka päällä looginen ja"] # 0x2a59 (en: 'logical or overlapping logical and', google translation)
- - "⩚": [T: "looginen ja pystyviivalla"] # 0x2a5a (en: 'logical and with middle stem', google: 'looginen ja keskimmäisellä varrella')
- - "⩛": [T: "looginen tai pystyviivalla"] # 0x2a5b (en: 'logical or with middle stem', google: 'looginen tai keskimmäisellä varrella')
- - "⩜": [T: "looginen ja vaakaviivalla"] # 0x2a5c (en: 'logical and with horizontal dash', google: 'looginen ja vaakasuuntaisella viivalla')
- - "⩝": [T: "looginen tai vaakaviivalla"] # 0x2a5d (en: 'logical or with horizontal dash', google: 'looginen tai vaakasuuntaisella viivalla')
- - "⩞": [T: "looginen ja kaksoisyläviivalla"] # 0x2a5e (en: 'logical and with double overbar', google translation)
- - "⩟": [T: "looginen ja alaviivalla"] # 0x2a5f (en: 'logical and with underbar', google: 'looginen ja alikarjan kanssa')
- - "⩠": [T: "looginen ja kaksoisalaviivalla"] # 0x2a60 (en: 'logical and with double underbar', google translation)
- - "⩡": [T: "pieni vee alaviivalla"] # 0x2a61 (en: 'small vee with underbar', google translation)
- - "⩢": [T: "looginen tai kaksoisyläviivalla"] # 0x2a62 (en: 'logical or with double overbar', google translation)
- - "⩣": [T: "kaksoisalleviivattu looginen tai"] # 0x2a63 (en: 'logical or with double underbar', google translation)
- - "⩤": [T: "Z-notaatio määrittelyjoukon vastarajoitus"] # 0x2a64 (en: 'z notation domain antirestriction', google translation) # FI: unclear translation
- - "⩥": [T: "Z-notaatio kuvajoukon vastarajoitus"] # 0x2a65 (en: 'z notation range antirestriction', google translation) # FI: unclear translation
- - "⩦": [T: "on yhtä suuri kuin alapisteellä"] # 0x2a66 (en: 'equals sign with dot below', google: 'vastaa alla olevaa pistettä')
- - "⩧": [T: "identtinen yläpisteellä"] # 0x2a67 (en: 'identical with dot above', google translation)
- - "⩨": [T: "kolminkertainen vaakasuora viiva kaksinkertaisella pystysuoralla viivalla"] # 0x2a68 (en: 'triple horizontal bar with double vertical stroke', google translation)
- - "⩩": [T: "kolminkertainen vaakasuora viiva kolminkertaisella pystysuoralla viivalla"] # 0x2a69 (en: 'triple horizontal bar with triple vertical stroke', google translation)
- - "⩪": [T: "tilde yläpisteellä"] # 0x2a6a (en: 'tilde operator with dot above', google: 'tilde -operaattori, jossa on pisteen yllä')
- - "⩫": [T: "tilde nousevilla pisteillä"] # 0x2a6b (en: 'tilde operator with rising dots', google translation)
- - "⩬": [T: "samankaltainen miinus samankaltainen"] # 0x2a6c (en: 'similar minus similar', google translation)
- - "⩭": [T: "kongruentti yläpisteellä"] # 0x2a6d (en: 'congruent with dot above', google: 'yhteydet yllä olevan dot: n kanssa')
- - "⩮": [T: "on yhtä suuri kuin tähdellä"] # 0x2a6e (en: 'equals with asterisk', google translation)
- - "⩯": [T: "on lähes yhtä suuri kuin sirkumfleksillä"] # 0x2a6f (en: 'almost equal to with circumflex accent', google: 'lähes')
- - "⩰": [T: "on suunnilleen yhtä suuri tai yhtä suuri kuin"] # 0x2a70 (en: 'approximately equal to or equal to', google translation)
- - "⩱": [T: "on yhtä suuri kuin ja plus alapuolella"] # 0x2a71 (en: 'equals sign above plus sign', google: 'vastaa merkkiä yllä plus merkki')
- - "⩲": [T: "on yhtä suuri kuin ja plus yläpuolella"] # 0x2a72 (en: 'plus sign above equals sign', google: 'plus -merkki yllä on yhtä suuri merkki')
- - "⩳": [T: "on yhtä suuri kuin ja tilde alapuolella"] # 0x2a73 (google: 'yhtä suuri kuin merkki tilde -operaattorin yläpuolella')
- - "⩴": [T: "tuplakaksoispiste on yhtä suuri kuin"] # 0x2a74 (google: 'kaksinkertainen paksusuolen tasainen')
- - "⩵": [T: "kaksi peräkkäistä on yhtä suuri kuin -merkkiä"] # 0x2a75 (en: 'two consecutive equals signs', google: 'kaksi peräkkäistä vastaa merkkejä')
- - "⩶": [T: "kolme peräkkäistä on yhtä suuri kuin -merkkiä"] # 0x2a76 (en: 'three consecutive equals signs', google translation)
- - "⩷": [T: "on yhtä suuri kuin kahdella yläpisteellä ja kahdella alapisteellä"] # 0x2a77 (en: 'equals sign with two dots above and two dots below', google: 'yhtä suuri kuin kaksi pistettä yllä ja kaksi pistettä alla')
- - "⩸": [T: "on yhtä suuri kuin neljällä yläpisteellä"] # 0x2a78 (en: 'equivalent with four dots above', google: 'vastaa neljällä pisteellä yllä')
- - "⩹": [T: "pienempi kuin ja ympyrä sisällä"] # 0x2a79 (en: 'less than with circle inside', google: 'vähemmän kuin ympyrällä sisällä')
- - "⩺": [T: "suurempi kuin ja ympyrä sisällä"] # 0x2a7a (en: 'greater than with circle inside', google: 'suurempi kuin ympyrällä sisällä')
- - "⩻": [T: "pienempi kuin ja kysymysmerkki yläpuolella"] # 0x2a7b (en: 'less than with question mark above', google: 'vähemmän kuin yllä oleva kysymys')
- - "⩼": [T: "suurempi kuin ja kysymysmerkki yläpuolella"] # 0x2a7c (en: 'greater than with question mark above', google: 'suurempi kuin yllä oleva kysymys')
- - "⩽": [T: "pienempi kuin tai vino on yhtä suuri kuin"] # 0x2a7d (google: 'vähemmän kuin vino kuin')
- - "⩾": [T: "suurempi kuin tai vino on yhtä suuri kuin"] # 0x2a7e (en: 'greater than or slanted equal to', google: 'suurempi kuin vino yhtä suuri kuin')
- - "⩿": [T: "pienempi kuin tai vino on yhtä suuri kuin ja piste sisällä"] # 0x2a7f (en: 'less than or slanted equal to with dot inside', google: 'vähemmän tai vino yhtä suuri kuin pisteellä')
- - "⪀": [T: "suurempi kuin tai vino on yhtä suuri kuin ja piste sisällä"] # 0x2a80 (en: 'greater than or slanted equal to with dot inside', google: 'suurempi tai viistot yhtä suuri kuin pisteellä')
- - "⪁": [T: "pienempi kuin tai vino on yhtä suuri kuin ja piste yläpuolella"] # 0x2a81 (en: 'less than or slanted equal to with dot above', google: 'vähemmän kuin vino yhtä suuri kuin yllä olevalla pisteellä')
- - "⪂": [T: "suurempi kuin tai vino on yhtä suuri kuin ja piste yläpuolella"] # 0x2a82 (en: 'greater than or slanted equal to with dot above', google: 'suurempi kuin vino kuin yllä olevalla pisteellä')
- - "⪃": [T: "pienempi kuin tai vino on yhtä suuri kuin ja piste yläoikealla"] # 0x2a83 (en: 'less than or slanted equal to with dot above right', google: 'vähemmän tai viistot yhtä suuri kuin oikean yläpuolella')
- - "⪄": [T: "suurempi kuin tai vino on yhtä suuri kuin ja piste ylävasemmalla"] # 0x2a84 (en: 'greater than or slanted equal to with dot above left', google: 'suurempi kuin vino kuin vasemman yläpuolella oleva piste')
- - "⪅": [T: "vähemmän tai likimäärin"] # 0x2a85 (en: 'less than or approximate', google translation)
- - "⪆": [T: "suurempi tai likimäärin"] # 0x2a86 (en: 'greater than or approximate', google translation)
- - "⪇": [T: "pienempi kuin ja yksiviivainen ei yhtä suuri kuin"] # 0x2a87 (en: 'less than and single line not equal to', google translation)
- - "⪈": [T: "suurempi kuin ja yksiviivainen ei yhtä suuri kuin"] # 0x2a88 (en: 'greater than and single line not equal to', google translation)
- - "⪉": [T: "pienempi kuin mutta ei likimäärin"] # 0x2a89 (en: 'less than and not approximate', google: 'vähemmän kuin ja ei likimääräinen')
- - "⪊": [T: "suurempi kuin mutta ei likimäärin"] # 0x2a8a (en: 'greater than and not approximate', google: 'suurempi kuin ja ei likimääräinen')
- - "⪋": [T: "pienempi kuin jonka alapuolella vaakaviiva jonka alapuolella suurempi kuin"] # 0x2a8b (en: 'less than above double line equal above greater than', google translation)
- - "⪌": [T: "suurempi kuin jonka alapuolella vaakaviiva jonka alapuolella pienempi kuin"] # 0x2a8c (en: 'greater than above double line equal above less than', google translation)
- - "⪍": [T: "pienempi kuin jonka alapuolella yhtä suuri tai likimäärin yhtä suuri kuin"] # 0x2a8d (google: 'vähemmän kuin samanlainen tai tasainen')
- - "⪎": [T: "suurempi kuin jonka alapuolella yhtä suuri tai limikäärin yhtä suuri kuin"] # 0x2a8e (google: 'suurempi kuin samanlainen tai tasainen')
- - "⪏": [T: "pienempi kuin jonka alapuolella likimäärin jonka alapuolella suurempi kuin"] # 0x2a8f (google: 'vähemmän kuin yläpuolella yläpuolella suurempi kuin')
- - "⪐": [T: "suurempi kuin jonka alapuolella likimäärin jonka alapuolella suurempi kuin"] # 0x2a90 (google: 'suurempi kuin edellä mainitussa yläpuolella')
- - "⪑": [T: "pienempi kuin suurempi kuin tai yhtä suuri kuin"] # 0x2a91 (en: 'less than above greater than above double line equal', google: 'alle enemmän kuin yli suurempi kuin kaksoisviiva on yhtä suuri')
- - "⪒": [T: "suurempi kuin pienempi kuin tai yhtä suuri kuin"] # 0x2a92 (en: 'greater than above less than above double line equal', google: 'suurempi kuin yläpuolella vähemmän kuin kaksoisviiva on yhtä suuri')
- - "⪓": [T: "pienempi kuin tai vino on yhtä suuri kuin suurempi kuin tai vino on yhtä suuri kuin"] # 0x2a93 (google: 'vähemmän kuin yläpuolella viistot ovat yhtä suurempia kuin yläpuolella viistot ovat yhtä suuret')
- - "⪔": [T: "suurempi kuin tai vino on yhtä suuri kuin pienempi kuin tai vino on yhtä suuri kuin"] # 0x2a94 (google: 'suurempi kuin yläpuolella viistot ovat yhtä suurempia kuin viistojen yläpuolella yhtä suuret')
- - "⪕": [T: "vino on yhtä suuri kuin tai pienempi kuin"] # 0x2a95 (en: 'slanted equal to or less than', google translation)
- - "⪖": [T: "vino on yhtä suuri kuin tai suurempi kuin"] # 0x2a96 (en: 'slanted equal to or greater than', google translation)
- - "⪗": [T: "vino on yhtä suuri kuin tai pienempi kuin ja piste sisällä"] # 0x2a97 (en: 'slanted equal to or less than with dot inside', google: 'viisto yhtä tai vähemmän kuin pisteellä sisällä')
- - "⪘": [T: "vino on yhtä suuri kuin tai suurempi kuin ja piste sisällä"] # 0x2a98 (en: 'slanted equal to or greater than with dot inside', google: 'viisto yhtä tai suurempi kuin pisteellä sisällä')
- - "⪙": [T: "on yhtä suuri kuin tai pienempi kuin"] # 0x2a99 (en: 'double line equal to or less than', google: 'kaksoisviiva, joka on yhtä suuri tai vähemmän kuin')
- - "⪚": [T: "on yhtä suuri kuin tai suurempi kuin"] # 0x2a9a (en: 'double line equal to or greater than', google: 'kaksoisviiva, joka on yhtä suuri tai suurempi')
- - "⪛": [T: "kaksoisviivainen on yhtä suuri kuin tai pienempi kuin"] # 0x2a9b (en: 'double line slanted equal to or less than', google translation)
- - "⪜": [T: "kaksoisviivainen on yhtä suuri kuin tai suurempi kuin"] # 0x2a9c (en: 'double line slanted equal to or greater than', google translation)
- - "⪝": [T: "likimäärin tai pienempi kuin"] # 0x2a9d (en: 'similar or less than', google: 'samanlainen tai vähemmän kuin')
- - "⪞": [T: "likimäärin tai suurempi kuin"] # 0x2a9e (google: 'samanlainen tai suurempi kuin')
- - "⪟": [T: "likimäärin jonka alapuolella vähemmän kuin jonka alapuolella on yhtä suuri kuin"] # 0x2a9f (google: 'samanlainen yläpuolella vähemmän kuin yllä oleva merkki')
- - "⪠": [T: "likimäärin jonka alapuolella suurempi kuin jonka alapuolella on yhtä suuri kuin"] # 0x2aa0 (google: 'samanlainen yläpuolella suurempi kuin yllä oleva merkki')
- - "⪡": [T: "sisäkkäiset pienempi kuin"] # 0x2aa1 (en: 'double nested less than', google: 'kaksinkertainen sisäkkäin vähemmän kuin')
- - "⪢": [T: "sisäkkäiset suurempi kuin"] # 0x2aa2 (en: 'double nested greater than', google: 'kaksinkertainen sisäkkäinen suurempi kuin')
- - "⪣": [T: "kaksi sisälläistä pienempi kuin alaviivalla"] # 0x2aa3 (en: 'double nested less than with underbar', google translation)
- - "⪤": [T: "pienempi kuin -merkki suurempi kuin -merkin päällä"] # 0x2aa4 (en: 'greater than overlapping less than', google: 'suurempi kuin päällekkäisyys vähemmän kuin')
- - "⪥": [T: "suurempi kuin pienempi kuin"] # 0x2aa5 (google: 'suurempi kuin vähemmän kuin')
- - "⪦": [T: "pienempi kuin suljettu käyrällä"] # 0x2aa6 (google: 'vähemmän kuin käyrä suljettu')
- - "⪧": [T: "suurempi kuin suljettu käyrällä"] # 0x2aa7 (google: 'suurempi kuin käyrä suljettu')
- - "⪨": [T: "pienempi kuin suljettu käyrällä tai yhtä suuri kuin"] # 0x2aa8 (google: 'vähemmän kuin suljettuna käyrällä viistolla tasavertaisesti')
- - "⪩": [T: "suurempi kuin suljettu käyrällä tai yhtä suuri kuin"] # 0x2aa9 (google: 'suurempi kuin suljettu kaarulla, joka on viistolla yhtä suuri')
- - "⪪": [T: "pienempi kuin vaakaviivalla"] # 0x2aaa (google: 'pienempi kuin')
- - "⪫": [T: "suurempi kuin vaakaviivalla"] # 0x2aab (google: 'suurempi kuin')
- - "⪬": [T: "pienempi kuin vaakaviivalla tai yhtä suuri kuin"] # 0x2aac (google: 'pienempi tai yhtä suuri kuin')
- - "⪭": [T: "suurempi kuin vaakaviivalla tai yhtä suuri kuin"] # 0x2aad (google: 'suurempi tai yhtä suuri kuin')
- - "⪮": [T: "ero välillä"] # 0x2aae (en: 'equals sign with bumpy above', google: 'yhtä suuri kuin kuohuttava yllä') # FI: translation unclear
- - "⪯": [T: "edeltää jonka alapuolella yksiviivainen yhtä suuri kuin"] # 0x2aaf (google: 'ennen yhden rivin yläpuolella on yhtä suuri kuin merkki')
- - "⪰": [T: "seuraa jonka alapuolella yksiviivainen yhtä suuri kuin"] # 0x2ab0 (en: 'succeeds above single line equals sign', google translation)
- - "⪱": [T: "edeltää jonka alapuolella yksiviivainen ei yhtä suuri kuin"] # 0x2ab1 (en: 'precedes above single line not equal to', google translation)
- - "⪲": [T: "seuraa jonka alapuolella yksiviivainen ei yhtä suuri kuin"] # 0x2ab2 (en: 'succeeds above single line not equal to', google translation)
- - "⪳": [T: "edeltää jonka alapuolella yhtä suuri kuin"] # 0x2ab3 (en: 'precedes above equals sign', google translation)
- - "⪴": [T: "seuraa jonka alapuolella yhtä suuri kuin"] # 0x2ab4 (en: 'succeeds above equals sign', google translation)
- - "⪵": [T: "edeltää mutta ei ole yhtä suuri kuin"] # 0x2ab5 (en: 'precedes above not equal to', google: 'edellä on edellä, joka ei ole yhtä suuri kuin')
- - "⪶": [T: "seuraa mutta ei ole yhtä suuri kuin"] # 0x2ab6 (en: 'succeeds above not equal to', google: 'onnistuu yläpuolella, ei ole yhtä suuri kuin')
- - "⪷": [T: "edeltää ja on likimäärin"] # 0x2ab7 (en: 'precedes above almost equal to', google translation)
- - "⪸": [T: "seuraa ja on likimäärin"] # 0x2ab8 (en: 'succeeds above almost equal to', google translation)
- - "⪹": [T: "edeltää mutta ei ole likimäärin"] # 0x2ab9 (en: 'precedes above not almost equal to', google translation)
- - "⪺": [T: "seuraa mutta ei ole likimäärin"] # 0x2aba (en: 'succeeds above not almost equal to', google translation)
- - "⪻": [T: "kaksinkertainen edeltää"] # 0x2abb (google: 'kaksinkertainen edeltävä')
- - "⪼": [T: "kaksinkertainen seuraa"] # 0x2abc (google: 'double onnistuu')
- - "⪽": [T: "osajoukko pisteellä"] # 0x2abd (en: 'subset with dot', google: 'alajoukko pisteellä')
- - "⪾": [T: "ylijoukko pisteellä"] # 0x2abe (en: 'superset with dot', google: 'superset pisteellä')
- - "⪿": [T: "osajoukko ja alapuolella plus"] # 0x2abf (en: 'subset with plus sign below', google: 'alajoukko plus -merkki alla')
- - "⫀": [T: "ylijoukko ja alapuolella plus"] # 0x2ac0 (en: 'superset with plus sign below', google: 'superset alla olevalla merkinnällä')
- - "⫁": [T: "osajoukko ja alapuolella kertomerkki"] # 0x2ac1 (en: 'subset with multiplication sign below', google: 'alajoukko alla olevalla kertolaskulla')
- - "⫂": [T: "ylijoukko ja alapuolella kertomerkki"] # 0x2ac2 (en: 'superset with multiplication sign below', google: 'superset alla olevalla kertolaskulla')
- - "⫃": [T: "osajoukko tai yhtä suuri kuin ja yläpuolella piste"] # 0x2ac3 (en: 'subset of or equal to with dot above', google: 'alajoukko tai yhtä suuri kuin yllä olevalla pisteellä')
- - "⫄": [T: "ylijoukko tai yhtä suuri kuin ja yläpuolella piste"] # 0x2ac4 (en: 'superset of or equal to with dot above', google: 'superset tai yhtä suuri kuin yllä olevalla pisteellä')
- - "⫅": [T: "osajoukko tai yhtä suuri kuin"] # 0x2ac5 (en: 'subset of above equals sign', google translation)
- - "⫆": [T: "ylijoukko tai yhtä suuri kuin"] # 0x2ac6 (en: 'superset of above equals sign', google translation)
- - "⫇": [T: "likimäärin osajoukko"] # 0x2ac7 (en: 'subset of above tilde operator', google: 'yllä olevan tilde -operaattorin osajoukko')
- - "⫈": [T: "likimäärin ylijoukko"] # 0x2ac8 (en: 'superset of above tilde operator', google: 'tilde -operaattorin yläpuolella')
- - "⫉": [T: "osajoukko jonka alapuolella likimäärin yhtä suuri kuin"] # 0x2ac9 (en: 'subset of above almost equal to', google translation)
- - "⫊": [T: "ylijoukko jonka alapuolella likimäärin yhtä suuri kuin"] # 0x2aca (en: 'superset of above almost equal to', google translation)
- - "⫋": [T: "osajoukko mutta ei yhtä suuri kuin"] # 0x2acb (en: 'subset above not equal to', google translation)
- - "⫌": [T: "ylijoukko mutta ei yhtä suuri kuin"] # 0x2acc (en: 'superset of above not equal to', google translation)
- - "⫍": [T: "laatikko-operaattori jonka vasen puoli avoin"] # 0x2acd (en: 'square left open box operator', google translation) # FI: translation unclear
- - "⫎": [T: "laatikko-operaattori jonka oikea puoli avoin"] # 0x2ace (en: 'square right open box operator', google translation) # FI: translation unclear
- - "⫏": [T: "suljettu osajoukko"] # 0x2acf (google: 'suljettu alajoukko')
- - "⫐": [T: "suljettu ylijoukko"] # 0x2ad0 (google: 'suljettu superset')
- - "⫑": [T: "suljettu osajoukko tai yhtä suuri kuin"] # 0x2ad1 (google: 'suljettu osajoukko tai yhtä suuri kuin')
- - "⫒": [T: "suljettu ylijoukko tai yhtä suuri kuin"] # 0x2ad2 (google: 'suljettu superset tai yhtä suuri kuin')
- - "⫓": [T: "osajoukko ylijoukon yläpuolella"] # 0x2ad3 (en: 'subset above superset', google: 'supersetin yläpuolella')
- - "⫔": [T: "ylijoukko osajoukon yläpuolella"] # 0x2ad4 (en: 'superset above subset', google: 'superset alajoukon yläpuolella')
- - "⫕": [T: "osajoukko osajoukon yläpuolella"] # 0x2ad5 (en: 'subset above subset', google: 'alajoukko alajoukossa')
- - "⫖": [T: "ylijoukko ylijoukon yläpuolella"] # 0x2ad6 (en: 'superset above superset', google: 'superset supersetin yläpuolella')
- - "⫗": [T: "ylijoukko osajoukon vieressä"] # 0x2ad7 (google: 'superset alajoukon vieressä')
- - "⫘": [T: "ylijoukko osajoukon vieressä yhdistettynä viivalla"] # 0x2ad8 (en: 'superset beside and joined by dash with subset', google: 'superset vieressä ja liittyi viivalla alajoukkoon')
- - "⫙": [T: "alaspäin aukeava kuuluu joukkoon"] # 0x2ad9 (google: 'elementti avautumisesta alaspäin')
- - "⫚": [T: "hanko t-yläosalla"] # 0x2ada (en: 'pitchfork with tee top', google: 'pitchfork tee -top') # FI: translation unclear
- - "⫛": [T: "poikittainen leikkaus"] # 0x2adb (google: 'poikittainen risteys') # FI: translation unclear
- - "⫝̸": [T: "haarukka"] # 0x2adc (en: 'forking', google translation) # FI: translation unclear
- - "⫝": [T: "ei-haarukka"] # 0x2add (en: 'nonforking', google translation) # FI: translation unclear
- - "⫞": [T: "lyhyt nasta vasemmalle"] # 0x2ade (en: 'short left tack', google translation)
- - "⫟": [T: "lyhyt nasta alaspäin"] # 0x2adf (en: 'short down tack', google translation)
- - "⫠": [T: "lyhyt nasta ylöspäin"] # 0x2ae0 (en: 'short up tack', google translation)
- - "⫡": [T: "kohtisuora ja s"] # 0x2ae1 (en: 'perpendicular with s', google translation)
- - "⫢": [T: "pystysuora palkki ja kolminkertainen oikea kääntöportti"] # 0x2ae2 (en: 'vertical bar triple right turnstile', google translation)
- - "⫣": [T: "kaksinkertainen pystysuora viiva ja vasen kääntöportti"] # 0x2ae3 (en: 'double vertical bar left turnstile', google translation)
- - "⫤": [T: "pystyviiva ja vasemmanpuoleinen kaksoiskääntöportti"] # 0x2ae4 (en: 'vertical bar double left turnstile', google: 'pystysuora palkki kaksinkertainen vasen kääntölaite')
- - "⫥": [T: "kaksoispystyviiva ja vasemmanpuoleinen kaksoiskääntöportti"] # 0x2ae5 (en: 'double vertical bar double left turnstile', google translation)
- - "⫦": [T: "pitkä viiva kahden pystyviivan vasemmanpuoleisesta viivasta"] # 0x2ae6 (google: 'pitkä viiva double pystysuoran vasemmalta jäseneltä')
- - "⫧": [T: "lyhyt nasta alaspäin yläviivalla"] # 0x2ae7 (en: 'short down tack with overbar', google: 'lyhyt alaspäin tarttuva ylikuormitus')
- - "⫨": [T: "lyhyt nasta ylöspäin alaviivalla"] # 0x2ae8 (en: 'short up tack with underbar', google: 'lyhyt up takki alapalkissa')
- - "⫩": [T: "lyhyt nasta ylöspäin jonka alapuolella lyhyt nasta alaspäin"] # 0x2ae9 (google: 'lyhyt ylösnopeus lyhyen alaspäin')
- - "⫪": [T: "kaksinkertainen nasta alaspäin"] # 0x2aea (en: 'double down tack', google translation)
- - "⫫": [T: "kaksinkertainen nasta ylöspäin"] # 0x2aeb (google: 'kaksinkertainen tarttuva')
- - "⫬": [T: "kaksoisviiva ei"] # 0x2aec (en: "double stroke not sign" google: 'kaksinkertainen isku ei allekirjoittaa')
- - "⫭": [T: "käännetty kaksoisviiva ei"] # 0x2aed (en: "reversed double stroke not sign" google: 'käänteinen kaksoishalvaus ei allekirjoittaa')
- - "⫮": [T: "ei jaa käännetyllä negaatioviivalla"] # 0x2aee (en: 'does not divide with reversed negation slash', google: 'ei jaa käännetyn kielteisen viivan kanssa')
- - "⫯": [T: "pystyviiva ja ympyrä yläpuolella"] # 0x2aef (en: 'vertical line with circle above', google: 'pystysuora viiva ympyrän kanssa')
- - "⫰": [T: "pystyviiva ja ympyrä alapuolella"] # 0x2af0 (en: 'vertical line with circle below', google: 'pystysuora viiva, jossa ympyrä alla')
- - "⫱": [T: "nasta alaspäin ja ympyrä alapuolella"] # 0x2af1 (en: 'down tack with circle below', google: 'alaspäin ympyrä alla')
- - "⫲": [T: "yhdensuuntainen poikkiviivalla"] # 0x2af2 (en: 'parallel with horizontal stroke', google: 'yhdensuuntainen vaakasuuntaisen iskun kanssa')
- - "⫳": [T: "yhdensuuntainen tildellä"] # 0x2af3 (en: 'parallel with tilde operator', google: 'rinnakkain tilde -operaattorin kanssa')
- - "⫴": [T: "kolminkertainen pystysuora viiva binäärirelaatiolla"] # 0x2af4 (en: 'triple vertical bar binary relation', google translation)
- - "⫵": [T: "kolminkertainen pystysuora viiva poikkiviivalla"] # 0x2af5 (en: 'triple vertical bar with horizontal stroke', google translation)
- - "⫶": [T: "kolmoispisteoperaattori"] # 0x2af6 (en: 'triple colon operator', google translation)
- - "⫷": [T: "kolminkertainen sisäkkäinen vähemmän kuin"] # 0x2af7 (en: 'triple nested less than', google translation)
- - "⫸": [T: "kolminkertainen sisäkkäinen suurempi kuin"] # 0x2af8 (en: 'triple nested greater than', google translation)
- - "⫹": [T: "pienempi kuin tai vino kaksinkertainen on yhtä suuri kuin"] # 0x2af9 (en: 'double line slanted less than or equal to', google translation)
- - "⫺": [T: "suurempi kuin tai vino kaksinkertainen on yhtä suuri kuin"] # 0x2afa (en: 'double line slanted greater than or equal to', google translation)
- - "⫻": [T: "kolminkertainen vinoviiva binäärirelaatiolla"] # 0x2afb (en: 'triple solidus binary relation', google translation)
- - "⫼": [T: "suuri kolminkertainen pystyviiva"] # 0x2afc (en: 'large triple vertical bar operator', google translation)
- - "⫽": [T: "kaksoisvinoviiva"] # 0x2afd (en: 'double solidus operator', google translation)
- - "⫾": [T: "valkoinen pystysuora palkki"] # 0x2afe (en: 'white vertical bar', google translation)
- - "⫿": [T: "valkoinen pystysuora palkki"] # 0x2aff (en: 'white vertical bar', google translation)
- - "⬀": [T: "yläoikealle osoittava valkoinen nuoli"] # 0x2b00 (en: 'north east white arrow', google translation)
- - "⬁": [T: "ylävasemmalle osoittava valkoinen nuoli"] # 0x2b01 (en: 'north west white arrow', google translation)
- - "⬂": [T: "alaoikealle osoittava valkoinen nuoli"] # 0x2b02 (en: 'south east white arrow', google translation)
- - "⬃": [T: "alavasemmalle osoittava valkoinen nuoli"] # 0x2b03 (en: 'south west white arrow', google translation)
- - "⬄": [T: "oikealle ja vasemmalle osoittava valkoinen nuoli"] # 0x2b04 (en: 'left right white arrow', google translation)
- - "⬅": [T: "vasen musta nuoli"] # 0x2b05 (en: 'leftwards black arrow', google translation)
- - "⬆": [T: "ylöspäin osoittava musta nuoli"] # 0x2b06 (en: 'upwards black arrow', google translation)
- - "⬇": [T: "alaspäin osoittava musta nuoli"] # 0x2b07 (en: 'downwards black arrow', google translation)
- - "⬈": [T: "yläoikealle osoittava musta nuoli"] # 0x2b08 (en: 'north east black arrow', google translation)
- - "⬉": [T: "ylävasemmalle osoittava musta nuoli"] # 0x2b09 (en: 'north west black arrow', google translation)
- - "⬊": [T: "alaoikealle osoittava musta nuoli"] # 0x2b0a (en: 'south east black arrow', google translation)
- - "⬋": [T: "alavasemmalle osoittava musta nuoli"] # 0x2b0b (en: 'south west black arrow', google translation)
- - "⬌": [T: "vasemmalle ja oikealle osoittava musta nuoli"] # 0x2b0c (en: 'left right black arrow', google translation)
- - "⬍": [T: "ylös ja alas osoittava musta nuoli"] # 0x2b0d (en: 'up down black arrow', google translation)
- - "⬎": [T: "oikealle ja alas osoittava nuoli"] # 0x2b0e (en: 'rightwards arrow with tip downwards', google translation)
- - "⬏": [T: "oikealle ja ylös osoittava nuoli"] # 0x2b0f (en: 'rightwards arrow with tip upwards', google translation)
- - "⬐": [T: "vasemmalle ja alas osoittava nuoli"] # 0x2b10 (en: 'leftwards arrow with tip downwards', google translation)
- - "⬑": [T: "vasemmalle ja ylös osoittava nuoli"] # 0x2b11 (en: 'leftwards arrow with tip upwards', google translation)
- - "⬒": [T: "neliö mustalla yläpuoliskolla"] # 0x2b12 (en: 'square with top half black', google translation)
- - "⬓": [T: "neliö mustalla alapuoliskolla"] # 0x2b13 (en: 'square with bottom half black', google translation)
- - "⬔": [T: "neliö jonka oikea diagonaali musta"] # 0x2b14 (en: 'square with upper right diagonal half black', google translation)
- - "⬕": [T: "neliö jonka vasen diagonaali musta"] # 0x2b15 (en: 'square with lower left diagonal half black', google translation)
- - "⬖": [T: "timantti jonka vasen puoli musta"] # 0x2b16 (en: 'diamond with left half black', google translation)
- - "⬗": [T: "timantti jonka oikea puoli musta"] # 0x2b17 (en: 'diamond with right half black', google translation)
- - "⬘": [T: "timantti mustalla yläpuoliskolla"] # 0x2b18 (en: 'diamond with top half black', google translation)
- - "⬙": [T: "timantti mustalla alapuoliskolla"] # 0x2b19 (en: 'diamond with bottom half black', google translation)
- - "⬚": [T: "laatikko"] # 0x2b1a (en: 'box', google translation)
- - "⬛": [T: "musta iso neliö"] # 0x2b1b (en: 'black large square', google translation)
- - "⬜": [T: "valkoinen iso neliö"] # 0x2b1c (en: 'white large square', google translation)
- - "⬝": [T: "musta hyvin pieni neliö"] # 0x2b1d (en: 'black very small square', google translation)
- - "⬞": [T: "valkoinen hyvin pieni neliö"] # 0x2b1e (en: 'white very small square', google translation)
- - "⬟": [T: "musta viisikulmio"] # 0x2b1f (en: 'black pentagon', google translation)
- - "⬠": [T: "valkoinen viisikulmio"] # 0x2b20 (en: 'white pentagon', google translation)
- - "⬡": [T: "valkoinen kuusikulmio"] # 0x2b21 (en: 'white hexagon', google translation)
- - "⬢": [T: "musta kuusikulmio"] # 0x2b22 (en: 'black hexagon', google translation)
- - "⬣": [T: "vaaka musta kuusikulmio"] # 0x2b23 (en: 'horizontal black hexagon', google translation)
- - "⬤": [T: "musta iso ympyrä"] # 0x2b24 (en: 'black large circle', google translation)
- - "⬥": [T: "musta keskisuuri timantti"] # 0x2b25 (en: 'black medium diamond', google translation)
- - "⬦": [T: "valkoinen keskisuuri timantti"] # 0x2b26 (en: 'white medium diamond', google translation)
- - "⬧": [T: "musta keskipitkä vinoneliö"] # 0x2b27 (en: 'black medium lozenge', google translation)
- - "⬨": [T: "valkoinen keskisuuri vinoneliö"] # 0x2b28 (en: 'white medium lozenge', google translation)
- - "⬩": [T: "musta pieni timantti"] # 0x2b29 (en: 'black small diamond', google translation)
- - "⬪": [T: "musta pieni vinoneliö"] # 0x2b2a (en: 'black small lozenge', google translation)
- - "⬫": [T: "valkoinen pieni vinoneliö"] # 0x2b2b (en: 'white small lozenge', google translation)
- - "⬬": [T: "musta vaakasuora ellipsi"] # 0x2b2c (en: 'black horizontal ellipse', google translation)
- - "⬭": [T: "valkoinen vaakasuora ellipsi"] # 0x2b2d (en: 'white horizontal ellipse', google translation)
- - "⬮": [T: "musta pystysuora ellipsi"] # 0x2b2e (en: 'black vertical ellipse', google translation)
- - "⬯": [T: "valkoinen pystysuora ellipsi"] # 0x2b2f (en: 'white vertical ellipse', google translation)
- - "⬰": [T: "vasen nuoli pienellä ympyrällä"] # 0x2b30 (en: 'left arrow with small circle', google translation)
- - "⬱": [T: "kolme vasemmanpuoleista nuolta"] # 0x2b31 (en: 'three leftwards arrows', google translation)
- - "⬲": [T: "vasen nuoli ympyröidulla plus-merkillä"] # 0x2b32 (en: 'left arrow with circled plus', google translation)
- - "⬳": [T: "pitkä vasen kiemuranuoli"] # 0x2b33 (en: 'long leftwards squiggle arrow', google translation)
- - "⬴": [T: "vasen kaksipäinen nuoli pystysuoralla viivalla"] # 0x2b34 (en: 'leftwards two headed arrow with vertical stroke', google translation)
- - "⬵": [T: "vasen kaksipäinen nuoli kaksinkertaisella pystysuoralla viivalla"] # 0x2b35 (en: 'leftwards two headed arrow with double vertical stroke', google translation)
- - "⬶": [T: "vasen kaksipäinen nuoli pystyviivasta"] # 0x2b36 (en: 'leftwards two headed arrow from bar', google translation)
- - "⬷": [T: "vasen kaksipäinen kolmoiskatkoviivanuoli"] # 0x2b37 (en: 'leftwards two headed triple dash arrow', google translation)
- - "⬸": [T: "vasen nuoli katkoviivalla"] # 0x2b38 (en: 'leftwards arrow with dotted stem', google translation)
- - "⬹": [T: "vasen nuoli hännällä ja pystyviivalla"] # 0x2b39 (en: 'leftwards arrow with tail with vertical stroke', google translation)
- - "⬺": [T: "vasen nuoli hännällä ja kaksinkertaisella pystyviivalla"] # 0x2b3a (en: 'leftwards arrow with tail with double vertical stroke', google translation)
- - "⬻": [T: "vasen kaksipäinen nuoli hännällä"] # 0x2b3b (en: 'leftwards two headed arrow with tail', google translation)
- - "⬼": [T: "vasen kaksipäinen nuoli hännällä ja pystysuoralla viivalla"] # 0x2b3c (en: 'leftwards two headed arrow with tail with vertical stroke', google translation)
- - "⬽": [T: "vasen kaksipäinen nuoli hännällä ja kaksinkertaisella pystysuoralla viivalla"] # 0x2b3d (en: 'leftwards two headed arrow with tail with double vertical stroke', google translation)
- - "⬾": [T: "vasen nuoli x:n läpi"] # 0x2b3e (en: 'leftwards arrow through x', google translation)
- - "⬿": [T: "suoraan vasemmalle osoittava aaltonuoli"] # 0x2b3f (en: 'wave arrow pointing directly left', google translation)
- - "⭀": [T: "on yhtä suuri kuin vasemman nuolen yläpuolella"] # 0x2b40 (en: 'equals sign above leftwards arrow', google translation)
- - "⭁": [T: "käännetty tilde vasemman nuolen yläpuolella"] # 0x2b41 (en: 'reverse tilde operator above leftwards arrow', google translation)
- - "⭂": [T: "likimäärin yhtä suuri kuin vasemman nuolen alapuolella"] # 0x2b42 (en: 'leftwards arrow above reverse almost equal to', google translation)
- - "⭃": [T: "oikea nuoli suurempi kuin läpi"] # 0x2b43 (en: 'rightwards arrow through greater than', google translation)
- - "⭄": [T: "oikea nuoli ylijoukon läpi"] # 0x2b44 (en: 'rightwards arrow through superset', google translation)
- - "⭅": [T: "vasen nelinkertainen nuoli"] # 0x2b45 (en: 'leftwards quadruple arrow', google translation)
- - "⭆": [T: "oikea nelinkertainen nuoli"] # 0x2b46 (en: 'rightwards quadruple arrow', google translation)
- - "⭇": [T: "käännetty tilde oikean nuolen yläpuolella"] # 0x2b47 (en: 'reverse tilde operator above rightwards arrow', google translation)
- - "⭈": [T: "käännetty likimäärin yhtä suuri kuin oikean nuolen alapuolella"] # 0x2b48 (en: 'rightwards arrow above reverse almost equal to', google translation)
- - "⭉": [T: "tilde vasemman nuolen yläpuolella"] # 0x2b49 (en: 'tilde operator above leftwards arrow', google translation)
- - "⭊": [T: "likimäärin yhtä suuri kuin vasemman nuolen alapuolella"] # 0x2b4a (en: 'leftwards arrow above almost equal to', google translation)
- - "⭋": [T: "vasen nuoli käännetyn tilden yläpuolella"] # 0x2b4b (en: 'leftwards arrow above reverse tilde operator', google translation)
- - "⭌": [T: "oikea nuoli käännetyn tilden yläpuolella"] # 0x2b4c (en: 'rightwards arrow above reverse tilde operator', google translation)
- - "⭐": [T: "tähti"] # 0x2b50 (google: 'valkoinen keskisuuri tähti')
- - "⭑": [T: "musta pieni tähti"] # 0x2b51 (google: 'musta pieni tähti')
- - "⭒": [T: "valkoinen pieni tähti"] # 0x2b52 (google: 'valkoinen pieni tähti')
- - "⭓": [T: "musta oikealle osoittava viisikulmio"] # 0x2b53 (en: 'black right pointing pentagon', google translation)
- - "⭔": [T: "valkoinen oikealle osoittava viisikulmio"] # 0x2b54 (en: 'white right pointing pentagon', google translation)
- - "⭕": [T: "raskas iso ympyrä"] # 0x2b55 (en: 'heavy large circle', google translation)
- - "⭖": [T: "raskas ovaali jonka sisällä ovaali"] # 0x2b56 (en: 'heavy oval with oval inside', google translation)
- - "⭗": [T: "raskas ympyrä jonka sisällä ympyrä"] # 0x2b57 (en: 'heavy circle with circle inside', google translation)
- - "⭘": [T: "raskas ympyrä"] # 0x2b58 (en: 'heavy circle', google translation)
- - "⭙": [T: "raskas ympyröity saltire"] # 0x2b59 (en: 'heavy circled saltire', google translation)
- - "⸀": [T: "suoran kulman korvaamismerkki"] # 0x2e00 (en: 'right angle substitution marker', google translation)
- - "⸁": [T: "suoran kulman korvaamismerkki pisteellä"] # 0x2e01 (en: 'right angle dotted substitution marker', google translation)
- - "⸂": [T: "vasen korvaus hakasulku"] # 0x2e02 (en: 'left substitution bracket', google translation)
- - "⸃": [T: "oikea korvaus hakasulku"] # 0x2e03 (en: 'right substitution bracket', google translation)
- - "⸄": [T: "vasen korvaus hakasulku pisteellä"] # 0x2e04 (en: 'left dotted substitution bracket', google translation)
- - "⸅": [T: "oikea korvaus hakasulku pisteellä"] # 0x2e05 (en: 'right dotted substitution bracket', google translation)
- - "⸆": [T: "korotettu interpolointimerkki"] # 0x2e06 (en: 'raised interpolation marker', google translation)
- - "⸇": [T: "korotettu interpolointimerkki pisteellä"] # 0x2e07 (en: 'raised dotted interpolation marker', google translation)
- - "⸈": [T: "transposointimerkki pisteellä"] # 0x2e08 (en: 'dotted transposition marker marker', google translation)
- - "⸉": [T: "vasen transponointi hakasulku"] # 0x2e09 (en: 'left transposition bracket', google translation)
- - "⸊": [T: "oikea transponointi hakasulku"] # 0x2e0a (en: 'right transposition bracket', google translation)
- - "⸋": [T: "korotettu neliö"] # 0x2e0b (en: 'raised square', google translation)
- - "⸌": [T: "vasen korotettu poistosulku"] # 0x2e0c (en: 'left raised omission bracket', google translation)
- - "⸍": [T: "oikea korotettu poistosulku"] # 0x2e0d (en: 'right raised omission bracket', google translation)
- - "⸎": [T: "toimituskoronis"] # 0x2e0e (en: 'editorial coronis', google translation)
- - "⸏": [T: "kappale"] # 0x2e0f (en: 'paragraphos', google translation)
- - "⸐": [T: "haarukkakappale"] # 0x2e10 (en: 'forked paragraphos', google translation)
- - "⸑": [T: "käännetty haarukkakappale"] # 0x2e11 (en: 'reversed forked paragraphos', google translation)
- - "⸒": [T: "hypodiastoli"] # 0x2e12 (en: 'hypodiastole', google translation)
- - "⸓": [T: "obelos pisteellä"] # 0x2e13 (en: 'dotted obelos', google translation)
- - "⸔": [T: "ankkuri alaspäin"] # 0x2e14 (en: 'downwards ancora', google translation)
- - "⸕": [T: "ankkuri ylöspäin"] # 0x2e15 (en: 'upwards ancora', google translation)
- - "⸖": [T: "oikealle osoittava kulma pisteillä"] # 0x2e16 (en: 'dotted right pointing angle', google translation)
- - "⸗": [T: "kaksinkertainen vino tavuviiva"] # 0x2e17 (en: 'double oblique hyphen', google translation)
- - "⸘": [T: "käänteinen huutokysymys"] # 0x2e18 (en: 'inverted interrobang', google translation)
- - "⸙": [T: "palmun oksa"] # 0x2e19 (en: 'palm branch', google translation)
- - "⸚": [T: "tavuviiva treemalla"] # 0x2e1a (en: 'hyphen with diaeresis', google translation)
- - "⸛": [T: "tilde ja rengas yläpuolella"] # 0x2e1b (en: 'tilde with ring above', google translation)
- - "⸜": [T: "vasen matala parafraasi hakasulku"] # 0x2e1c (en: 'left low paraphrase bracket', google translation)
- - "⸝": [T: "oikea matala parafraasi hakasulku"] # 0x2e1d (en: 'right low paraphrase bracket', google translation)
- - "⸞": [T: "tilde ja piste yläpuolella"] # 0x2e1e (en: 'tilde with dot above', google translation)
- - "⸟": [T: "tilde ja piste alapuolella"] # 0x2e1f (en: 'tilde with dot below', google translation)
- - "⸠": [T: "vasen pystysuora palkki piikillä"] # 0x2e20 (en: 'left vertical bar with quill', google translation)
- - "⸡": [T: "oikea pystysuora palkki piikillä"] # 0x2e21 (en: 'right vertical bar with quill', google translation)
- - "⸢": [T: "ylävasen puolihakasulku"] # 0x2e22 (en: 'top left half bracket', google translation)
- - "⸣": [T: "yläoikea puolihakasulku"] # 0x2e23 (en: 'top right half bracket', google translation)
- - "⸤": [T: "alavasen puolihakasulku"] # 0x2e24 (en: 'bottom left half bracket', google translation)
- - "⸥": [T: "alaoikea puolihakasulku"] # 0x2e25 (en: 'bottom right half bracket', google translation)
- - "⸦": [T: "vasen sivusuuntainen u-hakasulku"] # 0x2e26 (en: 'left sideways u bracket', google translation)
- - "⸧": [T: "oikea sivusuuntainen u-hakasulku"] # 0x2e27 (en: 'right sideways u bracket', google translation)
- - "⸨": [T: "vasen kaksinkertainen sulku"] # 0x2e28 (en: 'left double parentheses', google translation)
- - "⸩": [T: "oikea kaksinkertainen sulku"] # 0x2e29 (en: 'right double parentheses', google translation)
- - "⸪": [T: "kaksi pistettä yhden pisteen päällä"] # 0x2e2a (en: 'two dots over one dot punctuation', google translation)
- - "⸫": [T: "yksi piste kahden pisteen päällä"] # 0x2e2b (en: 'one dot over two dots punctuation', google translation)
- - "⸬": [T: "neljä pistettä neliön muodossa"] # 0x2e2c (en: 'squared four dot punctuation', google translation)
- - "⸭": [T: "viisi pistettä"] # 0x2e2d (en: 'five dot mark', google translation)
- - "⸮": [T: "käännetty kysymysmerkki"] # 0x2e2e (en: 'reversed question mark', google translation)
- - "ⸯ": [T: "pystysuora tilde"] # 0x2e2f (en: 'vertical tilde', google translation)
- - "⸰": [T: "rengaspiste"] # 0x2e30 (en: 'ring point', google translation)
- - "⸱": [T: "sanaerotinpiste"] # 0x2e31 (en: 'word separator middle dot', google translation)
- - "⸲": [T: "käännetty pilkku"] # 0x2e32 (en: 'turned comma', google translation)
- - "⸳": [T: "nostettu piste"] # 0x2e33 (en: 'raised dot', google translation)
- - "⸴": [T: "nostettu pilkku"] # 0x2e34 (en: 'raised comma', google translation)
- - "⸵": [T: "käännetty puolipiste"] # 0x2e35 (en: 'turned semicolon', google translation)
- - "⸶": [T: "tikari vasemmalla suojalla"] # 0x2e36 (en: 'dagger with left guard', google translation)
- - "⸷": [T: "tikari oikealla suojalla"] # 0x2e37 (en: 'dagger with right guard', google translation)
- - "⸸": [T: "käännetty tikari"] # 0x2e38 (en: 'turned dagger', google translation)
- - "⸹": [T: "yläpuolimerkki"] # 0x2e39 (en: 'top half section sign', google translation) # FI: translation unclear
- - "⸺": [T: "kaksoisajatusviiva"] # 0x2e3a (en: 'two em dash', google translation)
- - "⸻": [T: "kolmoisajatusviiva"] # 0x2e3b (en: 'three em dash', google translation)
- - "〃": [T: "sama sisältö -merkki"] # 0x3003 (google translation)
- - "〈": [T: "vasen kulmasulku"] # 0x3008 (en: 'left angle bracket', google translation)
- - "〉": [T: "oikea kulmasulku"] # 0x3009 (en: 'right angle bracket', google translation)
- - "《": [T: "vasen kaksoiskulmasulku"] # 0x300a (google: 'vasen kaksoiskulma kiinnike')
- - "》": [T: "oikea kaksoiskulmasulku"] # 0x300b (google: 'oikea kaksoiskulma kiinnike')
- - "「": [T: "vasen nurkka hakasulku"] # 0x300c (en: 'left corner bracket', google translation)
- - "」": [T: "oikea nurkka hakasulku"] # 0x300d (en: 'right corner bracket', google translation)
- - "『": [T: "vasen valkoinen nurkka hakasulku"] # 0x300e (en: 'left white corner bracket', google translation)
- - "』": [T: "oikea valkoinen nurkkahakasulku"] # 0x300f (en: 'right white corner bracket', google translation)
- - "【": [T: "vasen musta linssimäinen hakasulku"] # 0x3010 (en: 'left black lenticular bracket', google translation)
- - "】": [T: "oikea musta linssimäinen hakasulku"] # 0x3011 (en: 'right black lenticular bracket', google translation)
- - "〔": [T: "vasen kilpikonnankuori hakasulku"] # 0x3014 (google: 'vasen kilpikonnan kuoren kiinnike')
- - "〕": [T: "oikea kilpikonnankuori hakasulku"] # 0x3015 (google: 'oikea kilpikonnakuoren kiinnike')
- - "〖": [T: "vasen valkoinen linssimäinen hakasulku"] # 0x3016 (en: 'left white lenticular bracket', google translation)
- - "〗": [T: "oikea valkoinen linssimäinen hakasulku"] # 0x3017 (en: 'right white lenticular bracket', google translation)
- - "〘": [T: "vasen valkoinen kilpikonnakuori hakasulku"] # 0x3018 (en: 'left white tortoise shell bracket', google translation)
- - "〙": [T: "oikea valkoinen kilpikonnakuori hakasulku"] # 0x3019 (en: 'right white tortoise shell bracket', google translation)
- - "〚": [T: "vasen valkoinen neliö hakasulku"] # 0x301a (google: 'vasen valkoinen neliömäki')
- - "〛": [T: "oikea valkoinen neliö hakasulku"] # 0x301b (google: 'oikea valkoinen neliömäki')
- - "〜": [T: "aaltomainen viiva"] # 0x301c (en: 'wave dash', google translation)
- - "〰": [T: "aaltoileva viiva"] # 0x3030 (en: 'wavy dash', google: 'aaltoileva viiva')
- - "㉈": [T: "ympyröity numero kymmenen mustalla neliöllä"] # 0x3248 (en: 'circled number ten on black square', google translation)
- - "㉉": [T: "ympyröity numero kaksikymmentä mustalla neliöllä"] # 0x3249 (en: 'circled number twenty on black square', google translation)
- - "㉊": [T: "ympyröity numero kolmekymmentä mustalla neliöllä"] # 0x324a (en: 'circled number thirty on black square', google translation)
- - "㉋": [T: "ympyröity numero neljäkymmentä mustalla neliöllä"] # 0x324b (en: 'circled number forty on blacks square', google translation)
- - "㉌": [T: "ympyröity numero viisikymmentä mustalla neliöllä"] # 0x324c (en: 'circled number fifty on black square', google translation)
- - "㉍": [T: "ympyröity numero kuusikymmentä mustalla neliöllä"] # 0x324d (en: 'circled number sixty on black square', google translation)
- - "㉎": [T: "ympyröity numero seitsemänkymmentä mustalla neliöllä"] # 0x324e (en: 'circled number seventy on black square', google translation)
- - "㉏": [T: "ympyröity numero kahdeksankymmentä mustalla neliöllä"] # 0x324f (en: 'circled number eighty on black square', google translation)
- - "㉑": [T: "ympyröity numero kaksikymmentäyksi"] # 0x3251 (en: 'circled number twenty one', google translation)
- - "㉒": [T: "ympyröity numero kaksikymmentäkaksi"] # 0x3252 (en: 'circled number twenty two', google translation)
- - "㉓": [T: "ympyröity numero kaksikymmentäkolme"] # 0x3253 (en: 'circled number twenty three', google translation)
- - "㉔": [T: "ympyröity numero kaksikymmentäneljä"] # 0x3254 (en: 'circled number twenty four', google translation)
- - "㉕": [T: "ympyröity numero kaksikymmentäviisi"] # 0x3255 (en: 'circled number twenty five', google translation)
- - "㉖": [T: "ympyröity numero kaksikymmentäkuusi"] # 0x3256 (en: 'circled number twenty six', google translation)
- - "㉗": [T: "ympyröity numero kaksikymmentäseitsemän"] # 0x3257 (en: 'circled number twenty seven', google translation)
- - "㉘": [T: "ympyröity numero kaksikymmentäkahdeksan"] # 0x3258 (en: 'circled number twenty eight', google translation)
- - "㉙": [T: "ympyröity numero kaksikymmentäyhdeksän"] # 0x3259 (en: 'circled number twenty nine', google translation)
- - "㉚": [T: "ympyröity numero kolmekymmentä"] # 0x325a (en: 'circled number thirty', google translation)
- - "㉛": [T: "ympyröity numero kolmekymmentäyksi"] # 0x325b (en: 'circled number thirty one', google translation)
- - "㉜": [T: "ympyröity numero kolmekymmentäkaksi"] # 0x325c (en: 'circled number thirty two', google translation)
- - "㉝": [T: "ympyröity numero kolmekymmentäkolme"] # 0x325d (en: 'circled number thirty three', google translation)
- - "㉞": [T: "ympyröity numero kolmekymmentäneljä"] # 0x325e (en: 'circled number thirty four', google translation)
- - "㉟": [T: "ympyröity numero kolmekymmentäviisi"] # 0x325f (en: 'circled number thirty five', google translation)
- - "㊱": [T: "ympyröity numero kolmekymmentäkuusi"] # 0x32b1 (en: 'circled number thirty six', google translation)
- - "㊲": [T: "ympyröity numero kolmekymmentäseitsemän"] # 0x32b2 (en: 'circled number thirty seven', GPT-5.4 translation)
- - "㊳": [T: "ympyröity numero kolmekymmentäkahdeksan"] # 0x32b3 (en: 'circled number thirty eight', GPT-5.4 translation)
- - "㊴": [T: "ympyröity numero kolmekymmentäyhdeksän"] # 0x32b4 (en: 'circled number thirty nine', GPT-5.4 translation)
- - "㊵": [T: "ympyröity numero neljäkymmentä"] # 0x32b5 (en: 'circled number forty', GPT-5.4 translation)
- - "㊶": [T: "ympyröity numero neljäkymmentäyksi"] # 0x32b6 (en: 'circled number forty one', GPT-5.4 translation)
- - "㊷": [T: "ympyröity numero neljäkymmentäkaksi"] # 0x32b7 (en: 'circled number forty two', GPT-5.4 translation)
- - "㊸": [T: "ympyröity numero neljäkymmentäkolme"] # 0x32b8 (en: 'circled number forty three', GPT-5.4 translation)
- - "㊹": [T: "ympyröity numero neljäkymmentäneljä"] # 0x32b9 (en: 'circled number forty four', GPT-5.4 translation)
- - "㊺": [T: "ympyröity numero neljäkymmentäviisi"] # 0x32ba (en: 'circled number forty five', GPT-5.4 translation)
- - "㊻": [T: "ympyröity numero neljäkymmentäkuusi"] # 0x32bb (en: 'circled number forty six', GPT-5.4 translation)
- - "㊼": [T: "ympyröity numero neljäkymmentäseitsemän"] # 0x32bc (en: 'circled number forty seven', GPT-5.4 translation)
- - "㊽": [T: "ympyröity numero neljäkymmentäkahdeksan"] # 0x32bd (en: 'circled number forty eight', GPT-5.4 translation)
- - "㊾": [T: "ympyröity numero neljäkymmentäyhdeksän"] # 0x32be (en: 'circled number forty nine', GPT-5.4 translation)
- - "㊿": [T: "ympyröity numero viisikymmentä"] # 0x32bf (en: 'circled number fifty', GPT-5.4 translation)
- - "㋌": [T: "elohopea"] # 0x32cc (en: 'mercury', google translation)
- - "㋍": [T: "ergiä"] # 0x32cd (google translation)
- - "㋎": [T: "elektronivolttia"] # 0x32ce (en: 'electron volts', google translation)
- - "㋏": [T: "L T D"] # 0x32cf (en: 'limited liability sign', google translation)
- - "㍱": [T: "hehtopascalia"] # 0x3371 (en: 'hectopascals', google translation)
- - "㍲": [T: "daltonia"] # 0x3372 (en: 'daltons', google translation)
- - "㍳": [T: "tähtieteellistä yksikköä"] # 0x3373 (en: 'astronomical units', google translation)
- - "㍴": [T: "baaria"] # 0x3374 (en: 'bars', google translation)
- - "㍵": [T: "o V"] # 0x3375 (google translation)
- - "㍶": [T: "parsekia"] # 0x3376 (google translation)
- - "㍷": [T: "desimetriä"] # 0x3377 (en: 'decimeters', google translation)
- - "㍸": [T: "neliödesimetriä"] # 0x3378 (en: 'decimeters squared', google translation)
- - "㍹": [T: "kuutiodesimetriä"] # 0x3379 (en: 'decimeters cubed', google translation)
- - "㍺": [T: "I U"] # 0x337a (en: 'instrumental units', google translation)
- - "㎀": [T: "pikoampeeria"] # 0x3380 (google translation)
- - "㎁": [T: "nanoampeeria"] # 0x3381 (google translation)
- - "㎂": [T: "mikroampeeria"] # 0x3382 (en: 'microamps', google translation)
- - "㎃": [T: "milliampeeria"] # 0x3383 (en: 'milliamps', google translation)
- - "㎄": [T: "kiloampeeria"] # 0x3384 (google translation)
- - "㎅": [T: "Kilobittiä"] # 0x3385 (en: 'kilobytes', google translation)
- - "㎆": [T: "megatavua"] # 0x3386 (en: 'megabytes', google translation)
- - "㎇": [T: "gigatavua"] # 0x3387 (en: 'gigabytes', google translation)
- - "㎈": [T: "kaloria"] # 0x3388 (en: 'calories', google translation)
- - "㎉": [T: "kilokaloria"] # 0x3389 (en: 'kilocalories', google translation)
- - "㎊": [T: "pifaradayta"] # 0x338a (google translation)
- - "㎋": [T: "nanofaradayta"] # 0x338b (en: 'nanofarads', google translation)
- - "㎌": [T: "mikrofaradayta"] # 0x338c (en: 'microfarads', google translation)
- - "㎍": [T: "mikrogrammaa"] # 0x338d (en: 'micrograms', google translation)
- - "㎎": [T: "milligrammaa"] # 0x338e (en: 'milligrams', google translation)
- - "㎏": [T: "kilogrammaa"] # 0x338f (en: 'kilograms', google translation)
- - "㎐": [T: "hertsiä"] # 0x3390 (google translation)
- - "㎑": [T: "kilohertsiä"] # 0x3391 (en: 'kilohertz', google translation)
- - "㎒": [T: "megahertsiä"] # 0x3392 (en: 'megahertz', google translation)
- - "㎓": [T: "gigahertsiä"] # 0x3393 (en: 'gigahertz', google translation)
- - "㎔": [T: "terahertsiä"] # 0x3394 (en: 'terahertz', google translation)
- - "㎕": [T: "mikrolitraa"] # 0x3395 (en: 'microliters', google translation)
- - "㎖": [T: "millilitraa"] # 0x3396 (en: 'milliliters', google translation)
- - "㎗": [T: "desilitraa"] # 0x3397 (google translation)
- - "㎘": [T: "kilolitraa"] # 0x3398 (en: 'kiloliters', google translation)
- - "㎙": [T: "femtometriä"] # 0x3399 (en: 'femtometers', google translation)
- - "㎚": [T: "nanometriä"] # 0x339a (en: 'nanometers', google translation)
- - "㎛": [T: "mikrometriä"] # 0x339b (en: 'micrometers', google translation)
- - "㎜": [T: "millimetriä"] # 0x339c (en: 'millimeters', google translation)
- - "㎝": [T: "senttimetriä"] # 0x339d (en: 'centimeters', google translation)
- - "㎞": [T: "kilometriä"] # 0x339e (en: 'kilometers', google translation)
- - "㎟": [T: "neliömillimetriä"] # 0x339f (en: 'millimeters squared', google translation)
- - "㎠": [T: "neliösenttimetriä"] # 0x33a0 (en: 'centimeters squared', google translation)
- - "㎡": [T: "neliömetriä"] # 0x33a1 (en: 'meters squared', google translation)
- - "㎢": [T: "neliökilometriä"] # 0x33a2 (en: 'kilometers squared', google translation)
- - "㎣": [T: "kuutiomillimetriä"] # 0x33a3 (en: 'millimeters cubed', google translation)
- - "㎤": [T: "kuutiosenttimetriä"] # 0x33a4 (en: 'centimeters cubed', google translation)
- - "㎥": [T: "kuutiometriä"] # 0x33a5 (en: 'meters cubed', google translation)
- - "㎦": [T: "kuutiokilometriä"] # 0x33a6 (en: 'kilometers cubed', google translation)
- - "㎧": [T: "metriä sekunnissa"] # 0x33a7 (en: 'meters per second', google translation)
- - "㎨": [T: "metriä per neliösekunti"] # 0x33a8 (en: 'meters per second squared', google translation)
- - "㎩": [T: "pascalia"] # 0x33a9 (google translation)
- - "㎪": [T: "kilopascalia"] # 0x33aa (google translation)
- - "㎫": [T: "megapascalia"] # 0x33ab (google translation)
- - "㎬": [T: "gigapascalia"] # 0x33ac (google translation)
- - "㎭": [T: "radiaania"] # 0x33ad (en: 'rads', google translation)
- - "㎮": [T: "radiaania sekunnissa"] # 0x33ae (en: 'rads per second', google translation)
- - "㎯": [T: "radiaania neliösekunnissa"] # 0x33af (en: 'rads per second squared', google translation)
- - "㎰": [T: "pikosekuntia"] # 0x33b0 (en: 'picoseconds', google translation)
- - "㎱": [T: "nanosekuntia"] # 0x33b1 (en: 'nanoseconds', google translation)
- - "㎲": [T: "mikrosekuntia"] # 0x33b2 (en: 'microseconds', google translation)
- - "㎳": [T: "millisekuntia"] # 0x33b3 (en: 'milliseconds', google translation)
- - "㎴": [T: "pikovolttia"] # 0x33b4 (google translation)
- - "㎵": [T: "nanovolttia"] # 0x33b5 (en: 'nanovolts', google translation)
- - "㎶": [T: "mikrovolttia"] # 0x33b6 (en: 'microvolts', google translation)
- - "㎷": [T: "millivolttia"] # 0x33b7 (google translation)
- - "㎸": [T: "kilovolttia"] # 0x33b8 (en: 'kilovolts', google translation)
- - "㎹": [T: "megavolttia"] # 0x33b9 (google translation)
- - "㎺": [T: "pikowattia"] # 0x33ba (google translation)
- - "㎻": [T: "nanowattia"] # 0x33bb (en: 'nanowatts', google translation)
- - "㎼": [T: "mikrowattia"] # 0x33bc (en: 'microwatts', google translation)
- - "㎽": [T: "milliwattia"] # 0x33bd (google translation)
- - "㎾": [T: "kilowattia"] # 0x33be (en: 'kilowatts', google translation)
- - "㎿": [T: "megawattia"] # 0x33bf (google translation)
- - "㏀": [T: "kilo-ohmia"] # 0x33c0 (google translation)
- - "㏁": [T: "megaohmia"] # 0x33c1 (google translation)
- - "㏂": [T: "a m"] # 0x33c2 (en: 'attometers', google translation)
- - "㏃": [T: "becquerelia"] # 0x33c3 (google translation)
- - "㏄": [T: "kuutiosenttimetriä"] # 0x33c4 (en: 'cubic centimeters', google translation)
- - "㏅": [T: "candelaa"] # 0x33c5 (google translation)
- - "㏆": [T: "coulombia kilogrammassa"] # 0x33c6 (en: 'coulombs per kilogram', google translation)
- - "㏇": [T: "C o piste"] # 0x33c7 (en: 'cardiac output', google translation)
- - "㏈": [T: "desibeliä"] # 0x33c8 (en: 'decibels', google translation)
- - "㏉": [T: "grayta"] # 0x33c9 (en: 'grays', google translation)
- - "㏊": [T: "hehtaaria"] # 0x33ca (en: 'hectares', google translation)
- - "㏋": [T: "hevosvoimaa"] # 0x33cb (en: 'horsepower', google translation)
- - "㏌": [T: "tuumaa"] # 0x33cc (en: 'inches', google translation)
- - "㏍": [T: "kilokelviniä"] # 0x33cd (google translation)
- - "㏎": [T: "kilometriä"] # 0x33ce (en: 'kilometers', google translation)
- - "㏏": [T: "solmua"] # 0x33cf (en: 'knots', google translation)
- - "㏐": [T: "lumenia"] # 0x33d0 (google translation)
- - "㏑": [T: "luonnollinen logaritmi"] # 0x33d1 (en: 'natural log', google translation)
- - "㏒": [T: "logaritmi"] # 0x33d2 (en: 'logarithm', google translation)
- - "㏓": [T: "luxia"] # 0x33d3 (google translation)
- - "㏔": [T: "millibarnia"] # 0x33d4 (google translation)
- - "㏕": [T: "milliä"] # 0x33d5 (en: 'mills', google translation)
- - "㏖": [T: "moolia"] # 0x33d6 (en: 'moles', google translation)
- - "㏗": [T: "p H"] # 0x33d7 (google translation)
- - "㏘": [T: "pikometriä"] # 0x33d8 (en: 'picometers', google translation)
- - "㏙": [T: "miljoonasosaa"] # 0x33d9 (en: 'parts per million', google translation)
- - "㏚": [T: "petaröntgeniä"] # 0x33da (google translation)
- - "㏛": [T: "steradiaania"] # 0x33db (en: 'steradians', google translation)
- - "㏜": [T: "sievertiä"] # 0x33dc (en: 'sieverts', google translation)
- - "㏝": [T: "weberiä"] # 0x33dd (google translation)
- - "㏞": [T: "volttia per metri"] # 0x33de (en: 'volts per meter', google translation)
- - "㏟": [T: "ampeeria per metri"] # 0x33df (en: 'amps per meter', google translation)
- - "㏿": [T: "gallonaa"] # 0x33ff (en: 'gallons', google translation)
- - "": [T: "on yhtä suuri kuin ja hattu alapuolella"] # 0xe900 (en: 'equals with hat below', google translation)
- - "": [T: "on yhtä suuri kuin ja plus yläpuolella"] # 0xe901 (en: 'equals with plus above', google translation)
- - "": [T: "on yhtä suuri kuin ja plus alapuolella"] # 0xe902 (en: 'equals with plus below', google translation)
- - "": [T: "tilde ja plus yläpuolella"] # 0xe903 (en: 'tilde with plus above', google translation)
- - "": [T: "tilde ja plus alapuolella"] # 0xe904 (en: 'tilde with plus below', google translation)
- - "": [T: "kaksinkertainen on yhtä suuri kuin ja alapuolella suurempi kuin"] # 0xe908 (en: 'equal double over greater than', google translation)
- - "": [T: "kaksinkertainen on yhtä suuri kuin ja alapuolella pienempi kuin"] # 0xe909 (en: 'equal double over less than', google translation)
- - "": [T: "sisältää tai on yhtä suuri kuin"] # 0xe90a (en: 'contains or equal to', google translation)
- - "": [T: "ylijoukko tai yhtä suuri kuin"] # 0xe90b (en: 'superset of or equal to', google translation)
- - "": [T: "osajoukko tai yhtä suuri kuin"] # 0xe90c (en: 'subset of or equal to', google translation)
- - "": [T: "on yhtä suuri kuin ja alapuolella pienempi kuin"] # 0xe90d (en: 'equal over less than', google translation)
- - "": [T: "kuuluu joukkoon tai on yhtä kuin"] # 0xe912 (en: 'element of or equal to', google translation)
- - "": [T: "yhtä suuri tai suurempi kuin"] # 0xe913 (en: 'equal to or greater than', google translation)
- - "": [T: "likimäärin ylijoukko"] # 0xe914 (en: 'approximate superset of', google translation)
- - "": [T: "likimäärin osajoukko"] # 0xe915 (en: 'approximate subset of', google translation)
- - "": [T: "ylijoukko pisteellä sisältää alirelaationa"] # 0xe916 (en: 'superset of with dot includes as sub relation', google translation) # FI: translation unclear
- - "": [T: "osajoukko pisteellä sisältyy alirelaationa"] # 0xe917 (en: 'subset of with dot is included in as sub relation', google translation) # FI: translation unclear
- - "": [T: "on yhtä suuri kuin ja piste alapuolella"] # 0xe918 (en: 'equal with dot below', google translation)
- - "": [T: "vasen piste jonka alapuolella miinus jonka alapuolella oikea piste"] # 0xe919 (en: 'left dot over minus over right dot', google translation)
- - "": [T: "oikea piste jonka alapuolella miinus jonka alapuolella vasen piste"] # 0xe91a (en: 'right dot over minus over left dot', google translation)
- - "": [T: "melkein yhtä suuri kuin miinus"] # 0xe91f (en: 'almost equal to minus', google translation)
- - "": [T: "kaksinkertainen kulmikas malja"] # 0xe920 (en: 'double square cup', google translation)
- - "": [T: "kaksinkertainen kulmikas kupu"] # 0xe921 (en: 'double square cap', google translation)
- - "": [T: "pienempi kuin, yhtä suuri kuin tai suurempi kuin"] # 0xe922 (en: 'less than equal to or greater than', google translation)
- - "": [T: "tilde pisteellä"] # 0xe924 (en: 'tilde with dot', google translation)
- - "": [T: "tilde kahdella pisteellä"] # 0xe925 (en: 'tilde with two dots', google translation)
- - "": [T: "pienempi kuin, suurempi kuin tai yhtä suuri kuin"] # 0xe926 (en: 'less than greater than or equal to', google translation)
- - "": [T: "suurempi kuin, pienempi kuin tai yhtä suuri kuin"] # 0xe927 (en: 'greater than less than or equal to', google translation)
- - "": [T: "vastaa tai on pienempi kuin"] # 0xe928 (en: 'equivalent to or less than', google translation)
- - "": [T: "vastaa tai on suurempi kuin"] # 0xe929 (en: 'equivalent to or greater than', google translation)
- - "": [T: "vasen avoin laatikkooperaattori"] # 0xe92a (en: 'left open box operator', google translation)
- - "": [T: "oikea avoin laatikkooperaattori"] # 0xe92b (en: 'right open box operator', google translation)
- - "": [T: "identtinen pisteellä"] # 0xe92c (en: 'identical to with dot', google translation)
- - "": [T: "suurempi kuin, yhtä suuri kuin tai pienempi kuin"] # 0xe92d (en: 'greater than equal to or less than', google translation)
- - "": [T: "palkkioperaattori"] # 0xe92e (en: 'bar operator', google translation)
- - "": [T: "kaksinkertainen palkkioperaattori"] # 0xe92f (en: 'double bar operator', google translation)
- - "": [T: "kolminkertainen palkkioperaattori"] # 0xe930 (en: 'triple bar operator', google translation)
- - "": [T: "pienempi kuin tai likimäärin yhtä suuri kuin"] # 0xe932 (en: 'less than or approximately equal to', google translation)
- - "": [T: "suuremmpi kuin tai likimäärin yhtä suuri kuin"] # 0xe933 (en: 'greater than or approximately equal to', google translation)
- - "": [T: "sisäkkäinen vähemmän kuin"] # 0xe936 (en: 'nested less than', google translation)
- - "": [T: "sisäkkäinen suurempi kuin"] # 0xe937 (en: 'nested greater than', google translation)
- - "": [T: "edeltää tai vastaa"] # 0xe93a (en: 'precedes or equivalent to', google translation)
- - "": [T: "seuraa tai vastaa"] # 0xe93b (en: 'succeeds or equivalent to', google translation)
- - "": [T: "edeltää ja alapuolella on yhtä suuri kuin"] # 0xe940 (en: 'precedes over equal', google translation)
- - "": [T: "seuraa ja alapuolella on yhtä suuri kuin"] # 0xe941 (en: 'succeeds over equal', google translation)
- - "": [T: "vähemmän kuin, on yhtä suuri kuin, vino suurempi kuin"] # 0xe942 (en: 'less equal slanted greater', google translation) # FI: translation unclear
- - "": [T: "suurempi kuin, on yhtä suuri kuin, vino pienempi kuin"] # 0xe943 (en: 'greater equal slanted less', google translation)
- - "": [T: "täyttää ehdon"] # 0xe948 (en: 'satisfied by', google translation) # FI: translation unclear
- - "": [T: "laiska s"] # 0xe949 (en: 'lazy s', google translation)
- - "": [T: "ei väite"] # 0xe94a (en: 'not assertion', google translation) # FI: translation unclear
- - "": [T: "kaksinkertainen on yhtä suuri kuin"] # 0xe94b (en: 'double equal', google translation)
- - "": [T: "kolminkertainen on yhtä suuri kuin"] # 0xe94c (en: 'triple equal', google translation)
- - "": [T: "sääntö viivästynyt"] # 0xe94d (en: 'rule delayed', google translation) # FI: translation unclear
- - "": [T: "alias delimiter"] # 0xe94e (google translation) # FI: translation unclear
- - "": [T: "normaali alaryhmä palkilla"] # 0xe950 (en: 'normal subgroup of with bar', google translation)
- - "": [T: "sisältää normaalina alaryhmänä palkilla"] # 0xe951 (en: 'contains as normal subgroup with bar', google translation)
- - "": [T: "pyöreä seuraa"] # 0xe954 (en: 'round implies', google translation) # FI: translation unclear
- - "": [T: "hymy palkin alla"] # 0xe955 (en: 'smile under bar', google translation) # FI: translation unclear
- - "": [T: "murjotus palkin alla"] # 0xe956 (en: 'frown over bar', google translation) # FI: translation unclear
- - "": [T: "ylijoukko tai lähes yhtä kuin"] # 0xe957 (en: 'superset of or almost equal to', google translation)
- - "": [T: "osajoukko tai lähes yhtä kuin"] # 0xe958 (en: 'subset of or almost equal to', google translation)
- - "": [T: "suurempi kuin melkein yhtä suuri kuin tai pienempi kuin"] # 0xe959 (en: 'greater than almost equal to or less than', google translation)
- - "": [T: "pienempi kuin melkein yhtä suuri kuin tai suurempi kuin"] # 0xe95a (en: 'less than almost equal or greater than', google translation)
- - "": [T: "kaksinkertainen looginen tai"] # 0xe95c (en: 'double logical or', google translation)
- - "": [T: "kaksinkertainen looginen ja"] # 0xe95d (en: 'double logical and', google translation)
- - "": [T: "looginen tai ja kaksinkertainen palkki alapuolella"] # 0xe95e (en: 'logical or with double bar below', google translation)
- - "": [T: "looginen tai ja palkki alapuolella"] # 0xe95f (en: 'logical or with bar below', google translation)
- - "": [T: "melkein yhtä suuri kuin ja alapuolella yhtä suuri kuin"] # 0xe962 (en: 'almost equal over equal', google translation)
- - "": [T: "vasemmalle osoittava kolmio kahtiajakavalla palkilla"] # 0xe964 (en: 'left pointing triangle with bisecting bar', google translation)
- - "": [T: "oikealle osoittava kolmio kahtiajakavalla palkilla"] # 0xe965 (en: 'right pointing triangle with bisecting bar', google translation)
- - "": [T: "on yhtä suuri kuin katkoviivoitetulla yläviivalla"] # 0xe966 (en: 'equals with dotted top line', google translation)
- - "": [T: "edeltää kaksoispisteellä"] # 0xe967 (en: 'precedes with colon', google translation)
- - "": [T: "seuraa kaksoispisteellä"] # 0xe968 (en: 'succeeds with colon', google translation)
- - "": [T: "pienempi tai yhtä suuri kuin vino"] # 0xe969 (en: 'smaller than or equal slanted', google translation) # FI: : translation unclear
- - "": [T: "suurempi kuin tai yhtä suuri kuin vino"] # 0xe96a (en: 'larger than or equal slanted', google translation) # FI: : translation unclear
- - "": [T: "sisäkkäinen paljon pienempi kuin"] # 0xe96b (en: 'nested very much less than', google translation)
- - "": [T: "sisäkkäinen paljon suurempi kuin"] # 0xe96c (en: 'nested very much greater than', google translation)
- - "": [T: "ero variantin välillä"] # 0xe96d (en: 'difference between variant', google translation) # FI: unclear translation
- - "": [T: "pienempi kuin jonka päällä suurempi kuin"] # 0xe96e (en: 'less than greater than overlay', google translation)
- - "": [T: "looginen tai jonka päällä looginen tai"] # 0xe96f (en: 'logical or logical and overlay', google translation)
- - "": [T: "ylijoukko ylijoukon yläpuolella"] # 0xe970 (en: 'superset over superset', google translation)
- - "": [T: "osajoukko osajoukon yläpuolella"] # 0xe971 (en: 'subset over subset', google translation)
- - "": [T: "ylijoukko osajoukon yläpuolella"] # 0xe972 (en: 'superset over subset', google translation)
- - "": [T: "osajoukko ylijoukon yläpuolella"] # 0xe973 (en: 'subset over superset', google translation)
- - "": [T: "kolminkertainen pystysuora palkki"] # 0xe979 (en: 'triple vertical bar', google translation)
- - "": [T: "nelinkertainen pystysuora pistepari"] # 0xe97a (en: 'paired quadruple vertical dots', google translation) # FI: translation unclear
- - "": [T: "kohtisuorassa ja alapuolella palkki"] # 0xe97b (en: 'perpendicular over bar', google translation)
- - "": [T: "vasen kääntöportti kaksinkertainen pystysuora palkki"] # 0xe97c (en: 'left turnstile double vertical bar', google translation)
- - "": [T: "kaksinkertainen vasen kääntöportti kaksinkertainen pystysuora palkki"] # 0xe97d (en: 'double left turnstile double vertical bar', google translation)
- - "": [T: "kohtisuorassa jonka alapuolella käännetty kohtisuorassa"] # 0xe97e (en: 'perpendicular over inverted perpendicular', google translation)
- - "": [T: "kaksinkertgainen vasen kääntöportti pystysuora palkki"] # 0xe97f (en: 'double left turnstile vertical bar', google translation)
- - "": [T: "pallomainen kulma avautuu"] # 0xe980 (en: 'spherical angle opening up', google translation)
- - "": [T: "kaksinkertainen vinoviiva"] # 0xe981 (en: 'double slash', google translation)
- - "": [T: "suora kulma nurkalla"] # 0xe982 (en: 'right angle with corner', google translation)
- - "": [T: "ympyröity pystysuora palkki"] # 0xe984 (en: 'circled vertical bar', google translation)
- - "": [T: "ympyröity jakomerkki"] # 0xe985 (en: 'circled division sign', google translation)
- - "": [T: "katkoviivoitettu vinoviiva"] # 0xe986 (en: 'dashed solidus', google translation)
- - "": [T: "katkoviivoitettu kenoviiva"] # 0xe987 (en: 'dashed backslash', google translation)
- - "": [T: "katkoviivoitettu puoliväliviiva"] # 0xe988 (en: 'dashed mid line', google translation) # FI: : translation unclear
- - "": [T: "katkoviivoitettu pystysuora palkki"] # 0xe989 (en: 'dashed vertical bar', google translation)
- - "": [T: "kohtisuorassa ja s"] # 0xe98a (en: 'perpendicular with s', google translation)
- - "": [T: "kulma ja s"] # 0xe98b (en: 'angle with s', google translation)
- - "": [T: "pallomainen kulma avautuu vasemmalle"] # 0xe98c (en: 'spherical angle opening left', google translation)
- - "": [T: "vasemmalle avautuva kulma"] # 0xe98d (en: 'angle opening left', google translation)
- - "": [T: "pystysuora palkki kaksoiskoukulla"] # 0xe98e (en: 'vertical bar with double hook', google translation)
- - "": [T: "keskikokoinen pisteoperaattori vapaa radikaali"] # 0xe98f (en: 'medium dot operator free radical', google translation)
- - "": [T: "valkoinen ylöspäin osoittava kolmio palkin yläpuolella"] # 0xe990 (en: 'white up pointing triangle above bar', google translation)
- - "": [T: "identtinen ja yhdensuuntainen"] # 0xe991 (en: 'identical and parallel to', google translation)
- - "": [T: "smash tulo"] # 0xe992 (en: 'smash product', google translation) # FI: meaning unclear
- - "": [T: "kolminkertainen palkkioperaattori vaakasuoralla palkilla"] # 0xe993 (en: 'triple bar operator with horizontal bar', google translation)
- - "": [T: "identtinen kaksoisvinoviivalla"] # 0xe994 (en: 'identical to with double slash', google translation)
- - "": [T: "kolminkertaiset yliviivatut palkit"] # 0xe995 (en: 'triple crossed bars', google translation) # FI: : translation unclear
- - "": [T: "pystysuora palkki ympyrän yläpuolella"] # 0xe996 (en: 'vertical bar over circle', google translation)
- - "": [T: "pystysuora verrannollinen"] # 0xe997 (en: 'vertical proportional to', google translation)
- - "": [T: "musta kuun viimeinen neljännes"] # 0xe998 (en: 'black last quarter moon', google translation)
- - "": [T: "musta kuun ensimmäinen neljännes"] # 0xe999 (en: 'black first quarter moon', google translation)
- - "": [T: "negatiivinen siniaalto"] # 0xe9a0 (en: 'negative sine wave', google translation)
- - "": [T: "piste sulkujen sisällä"] # 0xe9a1 (en: 'parenthesized dot', google translation)
- - "": [T: "sulku"] # 0xe9a2 (en: 'parens', google translation) # FI: translation unclear, "parenthesis"?
- - "": [T: "valkoinen hymy"] # 0xe9a3 (en: 'white smile', google translation)
- - "": [T: "valkoinen murjotus"] # 0xe9a4 (en: 'white frown', google translation)
- - "": [T: "kuusikulmio"] # 0xe9a5 (en: 'hexagon', google translation)
- - "": [T: "vastaa ja alapuolella plus"] # 0xe9a6 (en: 'equivalent to over plus', google translation)
- - "": [T: "plus ja alapuolella vastaa"] # 0xe9a7 (en: 'plus over equivalent to', google translation)
- - "": [T: "leikkaus serifillä"] # 0xe9b0 (en: 'intersection serifs', google translation)
- - "": [T: "unioni serifillä"] # 0xe9b1 (google translation)
- - "": [T: "neliömäinen leikkaus serifillä"] # 0xe9b2 (en: 'square intersection serifs', google translation)
- - "": [T: "neliömäinen unioni serifillä"] # 0xe9b3 (google translation)
- - "": [T: "edeltää, on yhtä kuin tai seuraa"] # 0xe9e0 (en: 'precedes equivalent to or succeeds', google translation)
- - "": [T: "seuraa, on yhtä kuin tai edeltää"] # 0xe9e1 (en: 'succeeds equivalent to or precedes', google translation)
- - "": [T: "edeltää, on lähes yhtä kuin tai seuraa"] # 0xe9e2 (en: 'precedes almost equal to or succeeds', google translation)
- - "": [T: "seuraa, on lähes yhtä kuin tai edeltää"] # 0xe9e3 (en: 'succeeds almost equal to or precedes', google translation)
- - "": [T: "vähemmän kuin, vastaa tai suurempi kuin"] # 0xe9f0 (en: 'less than equivalent to or greater than', google translation)
- - "": [T: "suurempi kuin, vastaa tai vähemmän kuin"] # 0xe9f1 (en: 'greater than equivalent to or less than', google translation)
- - "": [T: "ei hyvin paljon pienempi kuin"] # 0xea00 (en: 'not vert much less than', google translation) # FI: translation unclear, not sure if vert is very or vertical
- - "": [T: "ei hyvin paljon suurempi kuin"] # 0xea01 (en: 'not vert much greater than', google translation) # FI: translation unclear, not sure if vert is very or vertical
- - "": [T: "ei paljon pienempi kuin variantti"] # 0xea02 (en: 'not much less than variant', google translation) # FI: translation unclear
- - "": [T: "ei paljon suurempi kuin variantti"] # 0xea03 (en: 'not much greater than variant', google translation) # FI: translation unclear
- - "": [T: "pienempi kuin mutta ei yhtä suuri kuin"] # 0xea04 (en: 'less vert not double equals', google translation) # FI: translation unclear
- - "": [T: "suurempi kuin mutta ei yhtä suuri kuin"] # 0xea05 (en: 'gt vert not double equals', google translation) # FI: translation unclear
- - "": [T: "ei pienempi tai yhtä suuri kuin"] # 0xea06 (en: 'not less than or equal to', google translation)
- - "": [T: "ei suurempi tai yhtä suuri kuin"] # 0xea07 (en: 'not greater than or equal to', google translation)
- - "": [T: "ei yhtä suuri kuin eikä pienempi kuin"] # 0xea09 (en: 'neither equal to nor less than', google translation)
- - "": [T: "ei sisällä tai ole yhtä suuri kuin"] # 0xea0a (en: 'does not contain or equal to', google translation)
- - "": [T: "ei ylijoukko tai yhtä suuri kuin"] # 0xea0b (en: 'neither superset of nor equal to', google translation)
- - "": [T: "ei osajoukko tai yhtä suuri kuin"] # 0xea0c (en: 'neither subset of nor equal to', google translation)
- - "": [T: "kenoviiva osajoukko"] # 0xea0d (en: 'reverse solidus subset', google translation)
- - "": [T: "ei yhtä suuri tai suurempi kuin"] # 0xea0e (en: 'neither equal to nor greater than', google translation)
- - "": [T: "ei miinus tilde -operaattori"] # 0xea0f (en: 'not minus tilde operator', google translation)
- - "": [T: "ei yhtä suuri kuin tai pienempi kuin"] # 0xea10 (en: 'neither equal to nor less than', google translation)
- - "": [T: "ei tilde -operaattori"] # 0xea11 (en: 'not tilde operator', google translation)
- - "": [T: "ei kuulu joukkoon tai ole yhtä suuri kuin"] # 0xea12 (en: 'not element of or equal to', google translation)
- - "": [T: "ei yhtä suuri kuin tai suurempi kuin"] # 0xea13 (en: 'neither equal to nor greater than', google translation)
- - "": [T: "ei melkein yhtä suuri"] # 0xea14 (en: 'not almost equal', google translation)
- - "": [T: "ei seuraa vastaavaa"] # 0xea15 (en: 'not succeeds similar', google translation) # FI: translation unclear
- - "": [T: "pienempi kuin tai vino yhtä suuri kuin vinoviivalla"] # 0xea16 (en: 'less than or slanted equal to with slash', google translation)
- - "": [T: "suurempi kuin tai vino yhtä suuri kuin vinoviivalla"] # 0xea17 (en: 'greater than or slanted equal to with slash', google translation)
- - "": [T: "ylijoukko vinoviiva"] # 0xea1a (google translation)
- - "": [T: "ei sisällä"] # 0xea1b (en: 'does not contain', google translation)
- - "": [T: "ei pienempi kuin tai yhtä suuri kuin"] # 0xea1d (en: 'not less than or equal to', google translation)
- - "": [T: "ei suurempi kuin tai yhtä suuri kuin"] # 0xea1e (en: 'not greater than or equal to', google translation)
- - "": [T: "ei melkein yhtä suuri kuin miinus"] # 0xea1f (en: 'not almost equal to minus', google translation)
- - "": [T: "ei kuulu joukkoon yläpisteellä"] # 0xea22 (en: 'negated set membership dot above', google translation)
- - "": [T: "ei vert kulma"] # 0xea2c (en: 'not vert angle', google translation) # FI: translation unclear
- - "": [T: "ei yhdensuuntainen vino"] # 0xea2d (en: 'not parallel slanted', google translation)
- - "": [T: "ei palkkioperaattori"] # 0xea2e (en: 'not bar operator', google translation)
- - "": [T: "ei kaksoispalkkioperaattori"] # 0xea2f (en: 'not double bar operator', google translation)
- - "": [T: "ei kolminkertainen palkkioperaattori"] # 0xea30 (en: 'not triple bar operator', google translation)
- - "": [T: "vähemmän kuin, mutta ei suunnilleen yhtä suuri kuin"] # 0xea32 (en: 'less than but not approximately equal to', google translation)
- - "": [T: "suurempi kuin, mutta ei suunnilleen yhtä suuri kuin"] # 0xea33 (en: 'greater than but not approximately equal to', google translation)
- - "": [T: "vähemmän kuin tai ei yhtä suuri kuin"] # 0xea34 (en: 'less than or not equal to', google translation)
- - "": [T: "suurempi kuin tai ei yhtä suuri kuin"] # 0xea35 (en: 'greater than or not equal to', google translation)
- - "": [T: "ei sisäkkäinen vähemmän kuin"] # 0xea36 (en: 'not nested less than', google translation) # FI: translation unclear
- - "": [T: "ei sisäkkäinen suurempi kuin"] # 0xea37 (en: 'not nested greater than', google translation) # FI: translation unclear
- - "": [T: "ei paljon pienempi kuin"] # 0xea38 (en: 'not much less than', google translation)
- - "": [T: "ei paljon suurempi kuin"] # 0xea39 (en: 'not much greater than', google translation)
- - "": [T: "edeltää, mutta ei vastaa"] # 0xea3a (en: 'precedes but not equivalent to', google translation)
- - "": [T: "onnistuu, mutta ei vastaa"] # 0xea3b (en: 'succeeds but not equivalent to', google translation)
- - "": [T: "edeltää, mutta ei yhtä suuri kuin"] # 0xea3c (en: 'precedes but not equal to', google translation)
- - "": [T: "seuraa, mutta ei yhtä suuri kuin"] # 0xea3d (en: 'succeeds but not equal to', google translation)
- - "": [T: "ei ole yhtä suuri kuin tai edeltää"] # 0xea3e (en: 'does not equal or precede', google translation)
- - "": [T: "ei ole yhtä suuri kuin tai seuraa"] # 0xea3f (en: 'does not equal or succeed', google translation)
- - "": [T: "edeltää, mutta ei yhtä suuri kuin"] # 0xea40 (en: 'precedes but not equal to', google translation)
- - "": [T: "seuraa, mutta ei yhtä suuri kuin"] # 0xea41 (en: 'succeeds but not equal to', google translation)
- - "": [T: "ei osajoukko tai yhtä suuri kuin"] # 0xea42 (en: 'not subset of nor equal to', google translation)
- - "": [T: "ei ylijoukko tai yhtä suuri kuin"] # 0xea43 (en: 'not superset of nor equal to', google translation)
- - "": [T: "osajoukko tai ei yhtä suuri kuin"] # 0xea44 (en: 'subset of or not equal to', google translation)
- - "": [T: "ylijoukko tai ei yhtä suuri kuin"] # 0xea45 (en: 'superset of or not equal to', google translation)
- - "": [T: "ei osajoukko tai yhtä suuri kuin"] # 0xea46 (en: 'not subset of nor equal to', google translation)
- - "": [T: "ei ylijoukko tai yhtä suuri kuin"] # 0xea47 (en: 'not superset of nor equal to', google translation)
- - "": [T: "ei kolminkertainen pienempi kuin"] # 0xea48 (en: 'not triple less than', google translation)
- - "": [T: "ei kolminkertainen suurempi kuin"] # 0xea49 (en: 'not triple greater than', google translation)
- - "": [T: "ei edellä on yhtä suuri kuin"] # 0xea4c (en: 'not precedes equals', google translation)
- - "": [T: "ei seuraa on yhtä suuri kuin"] # 0xea4d (en: 'not succeeds equals', google translation)
- - "": [T: "ei normaali aliryhmä palkilla"] # 0xea50 (en: 'not normal subgroup of with bar', google translation)
- - "": [T: "ei sisällä normaalina aliryhmänä palkilla"] # 0xea51 (en: 'does not contain as normal subgroup with bar', google translation)
- - "": [T: "ei ero välillä"] # 0xea52 (en: 'not difference between', google translation)
- - "": [T: "ei geometrisesti vastaa"] # 0xea53 (en: 'not geometrically equivalent to', google translation)
- - "": [T: "ei vert samanlainen"] # 0xea54 (en: 'not vert similar', google translation) # FI: translation unclear
- - "": [T: "ei yhtä suuri tai samanlainen"] # 0xea55 (en: 'not equal or similar', google translation)
- - "": [T: "ei vert likimääräinen"] # 0xea56 (en: 'not vert approximate', google translation)
- - "": [T: "ei likimääräisesti identtinen"] # 0xea57 (en: 'not approximately identical to', google translation)
- - "": [T: "ei kumpu yhtä suuri kuin"] # 0xea58 (en: 'not bumpy equals', google translation) # FI: translation unclear
- - "": [T: "ei kumpu yksiviivainen yhtä suuri kuin"] # 0xea59 (en: 'not bumpy single equals', google translation) # FI: translation unclear
- - "": [T: "ei yhtä suuri kuin piste"] # 0xea5a (en: 'not equal dot', google translation)
- - "": [T: "käännetty ei vastaa"] # 0xea5b (en: 'reverse not equivalent', google translation)
- - "": [T: "ei neliömäinen osajoukko"] # 0xea60 (en: 'not square subset', google translation)
- - "": [T: "ei nelimäinen ylijoukko"] # 0xea61 (en: 'not square superset', google translation)
- - "": [T: "ei melkein yhtä suuri ja alapuolella yhtä suuri kuin"] # 0xea62 (en: 'not almost equal over equal', google translation)
- - "": [T: "ei tiukasti vastaa"] # 0xea63 (en: 'not strictly equivalent to', google translation)
- - "": [T: "ei kongruentti piste"] # 0xea64 (en: 'not congruent dot', google translation)
- - "": [T: "käännetty ei ole yhtä suuri kuin"] # 0xea65 (en: 'reverse not equal', google translation)
- - "": [T: "ei vasen kolmio on yhtä suuri kuin"] # 0xea70 (en: 'not vert left triangle equals', google translation) # FI: translation unclear
- - "": [T: "ei oikea on yhtä suuri kuin"] # 0xea71 (en: 'not vert right triangle equals', google translation) # FI: translation unclear
- - "": [T: "ei osittainen"] # 0xea80 (en: 'not partial', google translation)
- - "": [T: "nuolen koristeiden pidennys"] # 0xeb00 (en: 'arrow embellishment extender', google translation) # FI: translation unclear
- - "": [T: "oikea nuoli vasemman nuolen yläpuolella"] # 0xeb01 (en: 'arrow rightwards over arrow leftwards', google translation)
- - "": [T: "oikea nuoli vasemman nuolen yläpuolella"] # 0xeb02 (en: 'arrow rightwards over arrow leftwards', google translation)
- - "": [T: "oikea harppuuna vasemman harppuunan yläpuolella"] # 0xeb03 (en: 'harpoon right over harpoon left', google translation)
- - "": [T: "oikea harppuuna vasemman harppuunan yläpuolella"] # 0xeb04 (en: 'harpoon right over harpoon left', google translation)
- - "": [T: "koillis-lounaskaksoisnuoli"] # 0xeb05 (en: 'double arrow northeast southwest', google translation)
- - "": [T: "luoteis-kaakkoiskaksoisnuoli"] # 0xeb06 (en: 'double arrow northwest southeast', google translation)
- - "": [T: "vaakasuora harppuunapidennys"] # 0xeb07 (en: 'horizontal harpoon extender', google translation) # FI: translation unclear
- - "": [T: "vasen kaarinuoli vastapäivään"] # 0xeb08 (en: 'anticlockwise arc leftwards arrow', google translation)
- - "": [T: "oikea kaarinuoli vastapäivään"] # 0xeb09 (en: 'anticlockwise arc rightwards arrow', google translation)
- - "": [T: "suuri oikean nuolen aksentti"] # 0xeb0b (en: 'large rightwards arrow accent', google translation) # FI: translation unclear
- - "": [T: "suuri vasen nuolen aksentti"] # 0xeb0c (en: 'large leftwards arrow accent', google translation) # FI: translation unclear
- - "": [T: "vasen nuolenpää"] # 0xeb0d (en: 'leftwards arrowhead', google translation)
- - "": [T: "oikea nuolenpää"] # 0xeb0e (en: 'rightwards arrowhead', google translation)
- - "": [T: "suuri vasen-oikea nuoli yliviivauksella"] # 0xeb0f (en: 'large left right arrow with stroke', google translation)
- - "": [T: "vaakasuuntainen kaksoisnuolen pidennys"] # 0xeb10 (en: 'horizontal double arrow extender', google translation) # FI: translation unclear
- - "": [T: "suuri vasen-oikea kaksinkertainen nuoli yliviivauksella"] # 0xeb11 (en: 'large left right double arrow with stroke', google translation)
- - "": [T: "alaspäin osoittava nuoli ylöspäin osoittavan nuolen vasemmalla puolella"] # 0xeb12 (en: 'downwards arrow leftwards of upwards arrow', google translation)
- - "": [T: "vasen nuoli kulmalla alaspäin"] # 0xeb13 (en: 'leftwards arrow with corner downwards', google translation)
- - "": [T: "oikea nuoli kulmalla ylöspäin"] # 0xeb14 (en: 'rightwards arrow with corner upwards', google translation)
- - "": [T: "vasen nuoli kuolmalla ylöspäin"] # 0xeb15 (en: 'leftwards arrow with corner upwards', google translation)
- - "": [T: "ympyränuolen yläosa vastapäivään ja plus"] # 0xeb16 (en: 'anticlockwise top semicircle arrow with plus', google translation)
- - "": [T: "ympyränuolen yläosa myötäpäivään ja miinus"] # 0xeb17 (en: 'clockwise top semicircle arrow with minus', google translation)
- - "": [T: "oikea nuoli hännällä ja yliviivauksella"] # 0xeb18 (en: 'rightwards arrow with tail with stroke', google translation)
- - "": [T: "oikea harppuuna alas"] # 0xeb19 (en: 'right harpoon down', google translation)
- - "": [T: "vasen harppuon alas"] # 0xeb1a (en: 'left harpoon down', google translation)
- - "": [T: "vasen-oikea harppuuna alas"] # 0xeb1b (en: 'left right harpoon down', google translation)
- - "": [T: "vasen-oikea harppuuna ylös"] # 0xeb1c (en: 'left right harpoon up', google translation)
- - "": [T: "ylös-alas harppuuna vasemmalle"] # 0xeb1d (en: 'up down harpoon left', google translation)
- - "": [T: "ylös-alas harppuuna oikealle"] # 0xeb1e (en: 'up down harpoon right', google translation)
- - "": [T: "ylänuoli alanuolen vasemmalla puolella"] # 0xeb1f (en: 'upwards arrow to the right of downwards arrow', google translation)
- - "": [T: "vasen harppuuna palkkiin piikki ylöpäin"] # 0xeb20 (en: 'leftwards harpoon to bar with barb upwards', google translation)
- - "": [T: "oikea harppuuna palkkiin piikki ylöspäin"] # 0xeb21 (en: 'rightwards harpoon to bar with barb upwards', google translation)
- - "": [T: "vasen harppuuna palkkiin piikki alaspäin"] # 0xeb22 (en: 'leftwards harpoon to bar with barb downwards', google translation)
- - "": [T: "oikea harppuuna palkkiin piikki alaspäin"] # 0xeb23 (en: 'rightwards harpoon to bar with barb downwards', google translation)
- - "": [T: "vasen harppuuna palkista piikki ylöspäin"] # 0xeb24 (en: 'leftwards harpoon from bar with barb upwards', google translation)
- - "": [T: "oikea harppuuna palkista piikki ylöspäin"] # 0xeb25 (en: 'rightwards harpoon from bar with barb upwards', google translation)
- - "": [T: "vasen harppuuna palkista piikki alaspäin"] # 0xeb26 (en: 'leftwards harpoon from bar with barb downwards', google translation)
- - "": [T: "oikea harppuuna palkista piikki alaspäin"] # 0xeb27 (en: 'rightwards harpoon from bar with barb downwards', google translation)
- - "": [T: "harppuuna ylös palkkiin piikki vasemmalle"] # 0xeb28 (en: 'upwards harpoon to bar with barb leftwards', google translation)
- - "": [T: "harppuuna alas palkkiin piikki vasemmalle"] # 0xeb29 (en: 'downwards harpoon to bar with barb leftwards', google translation)
- - "": [T: "harppuuna ylös palkkiin piikki oikealle"] # 0xeb2a (en: 'upwards harpoon to bar with barb rightwards', google translation)
- - "": [T: "harppuuna alas palkkiin piikki oikealle"] # 0xeb2b (en: 'downwards harpoon to bar with barb rightwards', google translation)
- - "": [T: "harppuuna ylös palkista piikki vasemmalle"] # 0xeb2c (en: 'upwards harpoon from bar with barb leftwards', google translation)
- - "": [T: "harppuuna alas palkista piikki vasemmalle"] # 0xeb2d (en: 'downwards harpoon from bar with barb leftwards', google translation)
- - "": [T: "harppuuna ylös palkista piikki oikealle"] # 0xeb2e (en: 'upwards harpoon from bar with barb rightwards', google translation)
- - "": [T: "harppuuna alas palkista piikki oikealle"] # 0xeb2f (en: 'downwards harpoon from bar with barb rightwards', google translation)
- - "": [T: "nuoli ylöspäin palkkiin"] # 0xeb30 (en: 'upwards arrow to bar', google translation)
- - "": [T: "nuoli alaspäin palkkiin"] # 0xeb31 (en: 'downwards arrow to bar', google translation)
- - "": [T: "harppuuna ylös ja oikealla puolella harppuuna alas"] # 0xeb32 (en: 'upwards harpoon to the left of downwards harpoon', google translation)
- - "": [T: "harppuuna ylös ja vasemmalla puolella harppuuna alas"] # 0xeb33 (en: 'upwards harpoon to the right of downwards harpoon', google translation)
- - "": [T: "nuolenpää ylös"] # 0xeb34 (en: 'upwards arrowhead', google translation)
- - "": [T: "nuolenpää alas"] # 0xeb35 (en: 'downwards arrowhead', google translation)
- - "": [T: "kaksinkertainen harppuuna vasen piikki alas ja oikea piikki ylös"] # 0xeb36 (en: 'double harpoon with leftwards barb down rightwards barb up', google translation)
- - "": [T: "kaksinkertainen harppuuna vasen piikki ylös ja oikea piikki alas"] # 0xeb37 (en: 'double harpoon with leftwards barb up rightwards barb down', google translation)
- - "": [T: "vasen nuoli palkin yläpuolella"] # 0xeb38 (en: 'leftwards arrow over bar', google translation)
- - "": [T: "oikea nuoli palkin yläpuolella"] # 0xeb39 (en: 'rightwards arrow over bar', google translation)
- - "": [T: "vasen nuoli palkin alapuolella"] # 0xeb3a (en: 'leftwards arrow under bar', google translation)
- - "": [T: "oikea nuoli palkin alapuolella"] # 0xeb3b (en: 'rightwards arrow under bar', google translation)
- - "": [T: "vasen-oikea kolmoisnuoli"] # 0xeb3c (en: 'left right triple arrow', google translation)
- - "": [T: "koillis-kaakko kaksoisnuoli"] # 0xeb3f (en: 'double arrow northeast southeast', google translation)
- - "": [T: "vasen puoliympyränuoli vastapäivään"] # 0xeb40 (en: 'anticlockwise left semicircle arrow', google translation)
- - "": [T: "vasen puoliympyränuoli myötäpäivään"] # 0xeb41 (en: 'clockwise left semicircle arrow', google translation)
- - "": [T: "vasen avoin ympyrä vasen-oikea nuoli"] # 0xeb42 (en: 'left open circle left right arrow', google translation) # FI: translation unclear
- - "": [T: "oikea nuoli tilden yläpuolella"] # 0xeb44 (en: 'rightwards arrow over tilde', google translation)
- - "": [T: "vasen nuoli tilden yläpuolella"] # 0xeb45 (en: 'leftwards arrow over tilde', google translation)
- - "": [T: "vasen harppuuna palkin yläpuolella"] # 0xeb48 (en: 'leftwards harpoon over bar', google translation)
- - "": [T: "oikea harppuuna palkin yläpuolella"] # 0xeb49 (en: 'rightwards harpoon over bar', google translation)
- - "": [T: "vasen harppuuna palkin alapuolella"] # 0xeb4a (en: 'leftwards harpoon under bar', google translation)
- - "": [T: "oikea harppuuna palkin alapuolella"] # 0xeb4b (en: 'rightwards harpoon under bar', google translation)
- - "": [T: "raskas musta lyhyt vasen nuoli"] # 0xeb4c (en: 'squat black leftwards arrow', google translation)
- - "": [T: "oikea puoliympyränuoli myötäpäivään"] # 0xeb50 (en: 'clockwise right semicircle arrow', google translation)
- - "": [T: "oikea puoliympyränuoli vastapäivään"] # 0xeb51 (en: 'anticlockwise right semicircle arrow', google translation)
- - "": [T: "vasen-oikea ympyrä vasen-oikea harppuuna"] # 0xeb52 (en: 'left open circle left right harpoon', google translation) # FI: translation unclear
- - "": [T: "nuoli ylös pystypalkin vasemmalla puolella"] # 0xeb58 (en: 'upwards arrow leftwards of vertical bar', google translation)
- - "": [T: "nuoli alas pystypalkin vasemmalla puolella"] # 0xeb59 (en: 'downwards arrow leftwards of vertical bar', google translation)
- - "": [T: "nuoli ylös pystypalkin oikealla puolella"] # 0xeb5a (en: 'upwards arrow rightwards of vertical bar', google translation)
- - "": [T: "nuoli alas pystypalkin oikealla puolella"] # 0xeb5b (en: 'downwards arrow rightwards of vertical bar', google translation)
- - "": [T: "oikea nuoli jatketulla koukulla alas"] # 0xeb5c (en: 'rightwards arrow with extended downwards hook', google translation)
- - "": [T: "vasen nuoli jatketulla koukulla"] # 0xeb5d (en: 'leftwards arrow with extended hook', google translation)
- - "": [T: "vasen nuoli jatketulla koukulla alas"] # 0xeb5e (en: 'leftwards arrow with extended downwards hook', google translation)
- - "": [T: "oikea nuoli jatketulla koukulla"] # 0xeb5f (en: 'rightwards arrow with extended hook', google translation)
- - "": [T: "ei oikea nuoli aaltoileva"] # 0xeb60 (en: 'not right arrow wavy', google translation) # FI: translation unclear
- - "": [T: "ei oikea nuoli kaareva"] # 0xeb61 (en: 'not right arrow curved', google translation) # FI: translation unclear
- - "": [T: "harppuula ylös pystypalkin vasemmalla puolella"] # 0xeb68 (en: 'upwards harpoon leftwards of vertical bar', google translation)
- - "": [T: "harppuuna alas pystypalkin vasemmalla puolella"] # 0xeb69 (en: 'downwards harpoon leftwards of vertical bar', google translation)
- - "": [T: "harppuuna ylös pystypalkin oikealla puolella"] # 0xeb6a (en: 'upwards harpoon rightwards of vertical bar', google translation)
- - "": [T: "harppuuna alas pystypalkin oikealla puolella"] # 0xeb6b (en: 'downwards harpoon rightwards of vertical bar', google translation)
- - "": [T: "pystysuora kaksoisnuolen pidennys"] # 0xeb6c (en: 'vertical double arrow extender', google translation) # FI: translation unclear
- - "": [T: "pystysuora harppuuna piikki vasemmalle pidennys"] # 0xeb6d (en: 'vertical harpoon with barb left extender', google translation)
- - "": [T: "pystysuora harppuuna piikki oikealle pidennys"] # 0xeb6e (en: 'vertical harpoon with barb right extender', google translation)
- - "": [T: "oikea harppuuna vasemman harppuunan yläpuolella oikealla"] # 0xeb6f (en: 'right harpoon over left harpoon right', google translation) # FI: translation unclear
- - "": [T: "oikea harppuuna vasemman harppuunan yläpuolella vasemmalla"] # 0xeb70 (en: 'right harpoon over left harpoon left', google translation) # FI: translation unclear
- - "": [T: "vasen harppuuna oikean harppuunan yläpuolella oikealla"] # 0xeb71 (en: 'left harpoon over right harpoon right', google translation) # FI: translation unclear
- - "": [T: "vasen harppuuna oikean harppuunan yläpuolella vasemmalla"] # 0xeb72 (en: 'left harpoon over right harpoon left', google translation) # FI: translation unclear
- - "": [T: "vasen nuoli palkista nuolenpää"] # 0xeb73 (en: 'leftwards arrow from bar arrowhead', google translation) # FI: translation unclear
- - "": [T: "vasen-oikea nuoli palkista pidennys"] # 0xeb74 (en: 'leftwards rightwards arrow from bar extender', google translation)
- - "": [T: "vasen nuoli palkista häntä"] # 0xeb75 (en: 'leftwards arrow from bar tail', google translation) # FI: translation unclear
- - "": [T: "oikea nuoli palkista häntä"] # 0xeb76 (en: 'rightwards arrow from bar tail', google translation) # FI: translation unclear
- - "": [T: "oikea nuoli palkista nuolenpää"] # 0xeb77 (en: 'rightwards arrow from bar arrowhead', google translation) # FI: translation unclear
- - "": [T: "harppuuna ylös palkista piikki vasemmalle nuolenpää"] # 0xeb78 (en: 'upwards harpoon from bar with barb leftwards arrowhead', google translation) # FI: translation unclear
- - "": [T: "oikea nuoli vasemman nuolen yläpuolella oikealla"] # 0xeb79 (en: 'rightwards arrow over leftwards arrow right', google translation) # FI: translation unclear
- - "": [T: "oikea nuoli vasemman nuolen yläpuolella vasemmalla"] # 0xeb7a (en: 'rightwards arrow over leftwards arrow left', google translation) # FI: translation unclear
- - "": [T: "vasen nuoli oikean nuolen yläpuolella oikealla"] # 0xeb7b (en: 'leftwards arrow over rightwards arrow right', google translation) # FI: translation unclear
- - "": [T: "vasen nuoli oikean nuolen yläpuolella vasemmalla"] # 0xeb7c (en: 'leftwards arrow over rightwards arrow left', google translation) # FI: translation unclear
- - "": [T: "nuoli ylös palkista nuolenpää"] # 0xeb7d (en: 'upwards arrow from bar arrowhead', google translation) # FI: translation unclear
- - "": [T: "nuoli ylös palkista häntä"] # 0xeb7e (en: 'upwards arrow from bar tail', google translation) # FI: translation unclear
- - "": [T: "nuoli alaspäin palkista häntä"] # 0xeb7f (en: 'downwards arrow from bar tail', google translation) # FI: translation unclear
- - "": [T: "nuoli alaspäin palkista nuolenpää"] # 0xeb80 (en: 'downwards arrow from bar arrowhead', google translation) # FI: translation unclear
- - "": [T: "harppuuna alas palkista piikki oikealle nuolenpää"] # 0xeb81 (en: 'downwards harpoon from bar with barb rightwards arrowhead', google translation) # FI: translation unclear
- - "": [T: "harppuuna ylös ja oikealla puolella harppuuna alas alas"] # 0xeb82 (en: 'upwards harpoon to the left of downwards harpoon bottom', google translation) # FI: translation unclear
- - "": [T: "harppuuna ylös ja oikealla harppuuna alas"] # 0xeb83 (en: 'upwards harpoon to the left of downwards harpoon', google translation)
- - "": [T: "harppuuna alas ja oikealla harppuuna ylös ylös"] # 0xeb84 (en: 'downwards harpoon to the left of upwards harpoon top', google translation) # FI: translation unclear
- - "": [T: "harppuuna ylös ja oikealla harppuuna alas ylös"] # 0xeb85 (en: 'upwards harpoon to the left of downwards harpoon top', google translation) # FI: translation unclear
- - "": [T: "harppuuna alas ja oikealla harppuuna ylös pidennys"] # 0xeb86 (en: 'downwards harpoon to the left of the upwards harpoon extender', google translation)
- - "": [T: "harppuuna alas ja oikealla harppuuna ylös alas"] # 0xeb87 (en: 'downwards harpoon to the left of the upwards harpoon bottom', google translation) # FI: translation unclear
- - "": [T: "harppuuna ylös ja oikealla harppuuna alas alas"] # 0xeb88 (en: 'upwards arrow leftwards of downwards arrow bottom', google translation) # FI: translation unclear
- - "": [T: "nuoli alas ja oikealla nuoli ylös ylös"] # 0xeb89 (en: 'downwards arrow leftwards of upwards arrow top', google translation) # FI: translation unclear
- - "": [T: "nuoli ylös ja oikealla nuoli alas ylös"] # 0xeb8a (en: 'upwards arrow leftwards of downwards arrow top', google translation) # FI: translation unclear
- - "": [T: "nuoli alas ja oikealla nuoli ylös alas"] # 0xeb8b (en: 'downwards arrow leftwards of upwards arrow bottom', google translation) # FI: translation unclear
- - "": [T: "vasen-oikeanuolipidennys"] # 0xeb8c (en: 'leftwards rightwards arrows extender', google translation)
- - "": [T: "koillisnuolipidennys"] # 0xeb8d (en: 'north east arrow extender', google translation)
- - "": [T: "luoteisnuolipidennys"] # 0xeb8e (en: 'north west arrow extender', google translation)
- - "": [T: "alas osoittava aaltosulku vasen"] # 0xec00 (en: 'down pointing brace left', google translation)
- - "": [T: "alas osoittava aaltosulku keski"] # 0xec01 (en: 'down pointing brace mid', google translation)
- - "": [T: "alas osoittava aaltosulku oikea"] # 0xec02 (en: 'down pointing brace right', google translation)
- - "": [T: "vaakasuora aaltosulku pidennys"] # 0xec03 (en: 'horizontal brace extender', google translation)
- - "": [T: "ylös osoittava aaltosulku vasen"] # 0xec04 (en: 'up pointing brace left', google translation)
- - "": [T: "ylös osoittava aaltosulku keski"] # 0xec05 (en: 'up pointing brace mid', google translation)
- - "": [T: "ylös osoittava aaltosulku oikea"] # 0xec06 (en: 'up-pointing brace right', google translation)
- - "": [T: "vasen pystypalkki"] # 0xec07 (en: 'left vertical bar', google translation)
- - "": [T: "oikea pystypalkki"] # 0xec08 (en: 'right vertical bar', google translation)
- - "": [T: "vasen kaksinkertainen pystypalkki"] # 0xec09 (en: 'left double vertical bar', google translation)
- - "": [T: "oikea kaksinkertainen pystypalkki"] # 0xec0a (en: 'right double vertical bar', google translation)
- - "": [T: "vaakasuora hakasulku pidennys"] # 0xec0b (en: 'horizontal bracket extender', google translation)
- - "": [T: "neliön alapuoli hakasulku"] # 0xec0c (en: 'under square bracket', google translation) # FI: translation unclear
- - "⎵": [T: "neliön alapuoli hakasulku"] # 0x23b5 (google: 'neliön alla') # FI: translation unclear
- - "": [T: "neliön yläpuoli hakasulku"] # 0xec0d (en: 'over square bracket', google translation) # FI: translation unclear
- - "⎴": [T: "neliön yläpuoli hakasulku"] # 0x23b4 (google: 'neliömäisen kiinnikkeen yli') # FI: translation unclear
- - "": [T: "alahakasulku vasen"] # 0xec0e (en: 'under bracket left', google translation) # FI: translation unclear
- - "": [T: "alahakasulku oikea"] # 0xec0f (en: 'under bracket right', google translation) # FI: translation unclear
- - "": [T: "ylähakasulku vasen"] # 0xec10 (en: 'over bracket left', google translation) # FI: translation unclear
- - "": [T: "alahakasulku oikea"] # 0xec11 (en: 'over bracket right', google translation) # FI: translation unclear
- - "": [T: "vasen kaarisulku 1"] # 0xec12 (en: 'left parens 1', google translation)
- - "": [T: "vasen kaarisulku 2"] # 0xec13 (en: 'left parens 2', google translation)
- - "": [T: "vasen kaarisulku 3"] # 0xec14 (en: 'left parens 3', google translation)
- - "": [T: "vasen kaarisulku 4"] # 0xec15 (en: 'left parens 4', google translation)
- - "": [T: "oikea kaarisulku 1"] # 0xec16 (en: 'right parens 1', google translation)
- - "": [T: "oikea kaarisulku 2"] # 0xec17 (en: 'right parens 2', google translation)
- - "": [T: "oikea kaarisulku 3"] # 0xec18 (en: 'right parens 3', google translation)
- - "": [T: "oikea kaarisulku 4"] # 0xec19 (en: 'right parens 4', google translation)
- - "": [T: "radikaali 1"] # 0xec1a (en: 'radical 1', google translation) # FI: context? Radical as in root sign?
- - "": [T: "radikaali 2"] # 0xec1b (en: 'radical 2', google translation) # FI: context?
- - "": [T: "radikaali 3"] # 0xec1c (en: 'radical 3', google translation) # FI: context?
- - "": [T: "radikaali 4"] # 0xec1d (en: 'radical 4', google translation) # FI: context?
- - "": [T: "radikaali 5"] # 0xec1e (en: 'radical 5', google translation) # FI: context?
- - "": [T: "radikaali pohja"] # 0xec1f (en: 'radical bottom', google translation) # FI: context?
- - "": [T: "radikaali pystysuora pidennys"] # 0xec20 (en: 'radical vertical extender', google translation) # FI: context?
- - "": [T: "radikaali yläosa"] # 0xec21 (en: 'radical top', google translation) # FI: context?
- - "": [T: "vasen valkoinen hakasulku ylös"] # 0xec22 (en: 'left white bracket top', google translation)
- - "": [T: "vasen valkoinen hakasulku pidennys"] # 0xec23 (en: 'left white bracket extender', google translation)
- - "": [T: "vasen valkoinen hakasulku alas"] # 0xec24 (en: 'left white bracket bottom', google translation)
- - "": [T: "oikea valkoinen hakasulku ylös"] # 0xec25 (en: 'right white bracket top', google translation)
- - "": [T: "oikea valkoinen hakasulku pidennys"] # 0xec26 (en: 'right white bracket extender', google translation)
- - "": [T: "oikea valkoinen hakasulku alas"] # 0xec27 (en: 'right white bracket bottom', google translation)
- - "": [T: "vasen valkoinen aaltosulku"] # 0xec30 (en: 'left white curly bracket', google translation)
- - "": [T: "oikea valkoinen aaltosulku"] # 0xec31 (en: 'right white curly bracket', google translation)
- - "": [T: "jakokulmamerkki"] # 0xec32 (en: 'long division sign', google translation)
- - "": [T: "jakokulmamerkki pidennys"] # 0xec33 (en: 'long division sign extender', google translation)
- - "": [T: "lyhyt jakokulma"] # 0xec34 (en: 'short division', google translation)
- - "": [T: "kaksinkertainen m-sidos lounaasta koilliseen"] # 0xec40 (en: 'double southwest to northeast em bond', google translation)
- - "": [T: "kaksinkertainen m-sidos luoteesta kaakkoon"] # 0xec41 (en: 'double northwest to southeast em bond', google translation)
- - "": [T: "yksinkertainen vaakasuora m-sidos"] # 0xec42 (en: 'single horizontal em bond', google translation) # FI: not happy with translations
- - "": [T: "kaksinkertainen vaakasuora m-sidos"] # 0xec43 (en: 'double horizontal em bond', google translation)
- - "": [T: "kolminkertainen vaakasuora m-sidos"] # 0xec44 (en: 'triple horizontal em bond', google translation)
- - "": [T: "yksinkertainen pystysuora m-sidos"] # 0xec45 (en: 'single vertical em bond', google translation)
- - "": [T: "kaksinkertainen pystysuora m-sidos"] # 0xec46 (en: 'double vertical em bond', google translation)
- - "": [T: "kolminkertainen pystysuora m-sidos"] # 0xec47 (en: 'triple vertical em bond', google translation)
- - "": [T: "pienempi kuin m-sidos"] # 0xec48 (en: 'less than em bond', google translation)
- - "": [T: "suurempi kuin m-sidos"] # 0xec49 (en: 'greater than em bond', google translation)
- - "": [T: "yksinkertainen vaakasuora n-sidos"] # 0xec4a (en: 'single horizontal en bond', google translation)
- - "": [T: "kaksinkertainen vaakasuora n-sidos"] # 0xec4b (en: 'double horizontal en bond', google translation)
- - "": [T: "kolminkertainen vaakasuora n-sidos"] # 0xec4c (en: 'triple horizontal en bond', google translation)
- - "": [T: "ylävasen suorakulmio"] # 0xec80 (en: 'top left rectangle', google translation)
- - "": [T: "alavasen suorakulmio"] # 0xec81 (en: 'bottom left rectangle', google translation)
- - "": [T: "yläoikea suorakulmio"] # 0xec90 (en: 'top right rectangle', google translation)
- - "": [T: "alaoikea suorakulmio"] # 0xec91 (en: 'bottom right rectangle', google translation)
- - "": [T: "synteettinen jakokulma"] # 0xec92 (en: 'synthetic division corner', google translation) # FI: translation unclear
- - "": [T: "synteettinen jakokulma vaakasuora pidennys"] # 0xec93 (en: 'synthetic division horizontal extender', google translation) # FI: translation unclear
- - "": [T: "synteettinen jakokulma pystysuora pidennys"] # 0xec94 (en: 'synthetic division vertical extender', google translation) # FI: translation unclear
- - "": [T: "vasen katto lattia pidennys"] # 0xec95 (en: 'left ceiling floor extender', google translation)
- - "": [T: "oikea katto lattia pidennys"] # 0xec96 (en: 'right ceiling floor extender', google translation)
- - "": [T: "yli hakasulku pidennys"] # 0xec97 (en: 'over bracket extender', google translation) # FI: translation unclear
- - "": [T: "pystypalkki pidennys"] # 0xec98 (en: 'vertical bar extender', google translation)
- - "": [T: "vasen kaksinkertainen pystypalkki pidennys"] # 0xec99 (en: 'left double vertical bar extender', google translation)
- - "": [T: "vaakasuora palkki pidennys"] # 0xec9a (en: 'horizontal bar extender', google translation)
- - "": [T: "ala hakasulku pidennys"] # 0xec9c (en: 'under bracket extender', google translation) # FI: translation unclear
- - "": [T: "alaspäin osoittava kaarisulku oikea"] # 0xec9d (en: 'down pointing paren right', google translation)
- - "": [T: "alaspäin osoittava kaarisulku pidennys"] # 0xec9e (en: 'down pointing paren extender', google translation)
- - "": [T: "alaspäin osoittava kaarisulku vasen"] # 0xec9f (en: 'down pointing paren left', google translation)
- - "": [T: "ylöspäin osoittava hakasulku pidennys"] # 0xeca0 (en: 'up pointing brace extender', google translation)
- - "": [T: "ylöspäin osoittava kaarisulku vasen"] # 0xeca1 (en: 'up pointing paren left', google translation)
- - "": [T: "ylöspäin osoittava kaarisulku pidennys"] # 0xeca2 (en: 'up pointing paren extender', google translation)
- - "": [T: "ylöspäin osoittava kaarisulku oikea"] # 0xeca3 (en: 'up pointing paren right', google translation)
- - "": [T: "alaspäin osoittava kaarisulku pidennys"] # 0xeca4 (en: 'down pointing brace extender', google translation)
- - "": [T: "planckin vakio kahden piin yläpuolella palkki"] # 0xed00 (en: 'planck constant over two pi bar', google translation) # FI: translation unclear
- - "": [T: "peili g"] # 0xed01 (en: 'mirror g', google translation)
- - "": [T: "pisteetön j"] # 0xed02 (google translation)
- - "": [T: "digamma"] # 0xed03 (google translation) # FI: translation unclear
- - "ϝ": [T: "digamma"] # 0x3dd # FI: : translation unclear
- - "": [T: "d"] # 0xed10 (en: 'd', google translation)
- - "": [T: "e"] # 0xed11 (en: 'e', google translation)
- - "": [T: "i"] # 0xed12 (en: 'i', google translation)
- - "": [T: "j"] # 0xed13 (en: 'j', google translation)
- - "ⅅ":
- - SPELL: "translate('.', 'ⅅ', 'DD')" # 0xed16, 0x2145
-
-# The private use chars are from MathType
- - "": [T: "käyräintegraalisilmukka vastapäivään"] # 0xee00 (en: 'anticlockwise contour integral loop', google translation)
- - "": [T: "käyräintegraalisilmukka myötäpäivään"] # 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: "yhteinen tila koriste"] # 0xee0d (en: 'joint status embellishment', google translation) # FI: translation unclear, context?
- - "": [T: "yhteinen tila korite vasen"] # 0xee0e (en: 'joint status embellishment left', google translation) # FI: translation unclear, context?
- - "": [T: "yhteinen tila koriste oikea"] # 0xee0f (en: 'joint status embellishment right', google translation) # FI: translation unclear, context?
- - "": [T: "yhteinen tila koriste pidennys"] # 0xee10 (en: 'joint status embellishment extender', google translation) # FI: translation unclear, context?
- - "": [T: "integraalisilmukka"] # 0xee11 (en: 'integral loop', google translation)
- - "": [T: "kaksinkertainen integraalisilmukka"] # 0xee12 (en: 'integral loop double', google translation)
- - "": [T: "kolminkertainen integraalisilmukka"] # 0xee13 (en: 'integral loop triple', google translation)
- - "": [T: "laajentuva kaksinkertainen integraalisilmukka"] # 0xee15 (en: 'expanding integral loop double', google translation)
- - "": [T: "laajentuva kolminkertainen integraalisilmukka"] # 0xee16 (en: 'expanding integral loop triple', google translation)
- - "": [T: "asymptoottisesti yhtä suuri kuin aksentti"] # 0xee17 (en: 'asymptotically equal to accent', google translation)
- - "": [T: "yhtä suuri kuin -merkki aksentti"] # 0xee18 (en: 'equal sign accent', google translation)
- - "": [T: "neljäs derivaatta"] # 0xee19 (en: 'quadruple prime', google translation) # FI: 4th derivative?
- - "": [T: "palkkiaksentti avoimella ympyrällä vasen"] # 0xee1a (en: 'bar accent with open circle left', google translation) # FI: translation unclear
- - "": [T: "palkkiaksentti suljetulla ympyrällä vasen"] # 0xee1b (en: 'bar accent with closed circle left', google translation) # FI: translation unclear
- - "": [T: "palkkiaksentti avoimella ympyrällä oikea"] # 0xee1c (en: 'bar accent with open circle right', google translation) # FI: translation unclear
- - "": [T: "palkkiaksentti ja piste yläpuolella"] # 0xee1d (en: 'bar accent with over dot', google translation) # FI: translation unclear
- - "": [T: "palkkiaksentti ja piste alapuolella"] # 0xee1e (en: 'bar accent with under dot', google translation) # FI: translation unclear
- - "": [T: "palkkiaksentti ja kaksinkertainen piste yläpuolella"] # 0xee1f (en: 'bar accent with double over dot', google translation) # FI: translation unclear
- - "": [T: "palkkiaksentti ja kaksinkertainen piste alapuolella"] # 0xee20 (en: 'bar accent with double under dot', google translation) # FI: translation unclear
- - "": [T: "palkkiaksentti sirkumfleksillä"] # 0xee21 (en: 'bar accent with caret', google translation) # FI: translation unclear
- - "": [T: "paksu alapalkkiaksentti"] # 0xee22 (en: 'thick under bar accent', google translation) # FI: translation unclear
- - "": [T: "palkkiaksentti suljetulla ympyrällä oikea"] # 0xee23 (en: 'bar accent with closed circle right', google translation) # FI: translation unclear
- - "": [T: "suuri piste yläpuolella"] # 0xee24 (en: 'large dot above', google translation) # FI: translation unclear
- - "": [T: "kohdistusmerkki"] # 0xef00 (en: 'alignment mark', google translation) # FI: translation unclear
- - "": [T: ""] # 0xef01
- - "": [T: ""] # 0x200b
- - "": [T: ""] # 0xef02
- - " ": [T: ""] # 0x2009
- - "": [T: ""] # 0xef03
- - " ": [T: ""] # 0x205f
- - "": [T: ""] # 0xef04
- - "": [T: ""] # 0xef05
- - " ": [T: ""] # 0x2003
- - "": [T: ""] # 0xef06
- - "": [T: ""] # 0xef07
- - "": [T: ""] # 0xef08
- - "": [T: ""] # 0xef09
- - "": [T: ""] # 0xef0a
- - " ": [T: ""] # 0x200a
- - "": [T: ""] # 0xef22
- - "": [T: ""] # 0xef23
- - "": [T: ""] # 0xef24
- - "": [T: ""] # 0xef29
- - "": [T: "puuttuva termi"] # 0xef41 (en: 'missing term', google translation)
- - "": [T: "käyräintegraalinuoli myötäväivään vasemmalla"] # 0xef80 (en: 'clockwise contour integral arrow on left', google translation)
- - "": [T: "integraali neliöllä"] # 0xef81 (en: 'integral with square', google translation)
- - "": [T: "integraali vinoviivalla"] # 0xef82 (en: 'integral with slash', google translation)
- - "": [T: "käännetty integraali"] # 0xef83 (en: 'reversed integral', google translation)
- - "": [T: "kaksinkertainen nolla yli kaksinkertaisen nollan"] # 0xef90 (en: 'double zero over double zero', google translation)
- - "": [T: "nolla vinoviivalla"] # 0xef91 (en: 'zero with slash', google translation)
-
- # 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: "fraktuura" # (google translation)
- - SPELL: "translate('.', '𝔄𝔅𝔇𝔈𝔉𝔊𝔍𝔎𝔏𝔐𝔑𝔒𝔓𝔔𝔖𝔗𝔘𝔙𝔚𝔛𝔜', 'ABCDEFGHIJKLMNOPQRSTUVWXY')"
-
- - "-": # 0xf000 - 0xf018
- - T: "fraktuura" # (google translation)
- - SPELL: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXY')"
-
- - "𝔞-𝔷": # 0x1d51e - 0x1d537
- - T: "fraktuura" # (google translation)
- - SPELL: "translate('.', '𝔞𝔟𝔠𝔡𝔢𝔣𝔤𝔥𝔦𝔧𝔨𝔩𝔪𝔫𝔬𝔭𝔮𝔯𝔰𝔱𝔲𝔳𝔴𝔵𝔶𝔷', 'abcdefghijklmnopqrstuvwxyz')"
- - "-": # 0xf01a - 0xf033
- - T: "fraktuura" # (google translation)
- - SPELL: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "𝕬-𝖅": # 0x1D56C - 0x1D585
- - T: "fraktuura lihavoitu" # (google translation)
- - SPELL: "translate('.', '𝕬𝕭𝕮𝕯𝕰𝕱𝕲𝕳𝕴𝕵𝕶𝕷𝕸𝕹𝕺𝕻𝕼𝕽𝕾𝕿𝖀𝖁𝖂𝖃𝖄𝖅', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "-": # 0xf040 - 0xf059
- - T: "fraktuura lihavoitu" # (google translation)
- - SPELL: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "𝖆-𝖟": # 0x1d586 - 0x1d59f
- - T: "fraktuura lihavoitu" # (google translation)
- - SPELL: "translate('.', '𝖆𝖇𝖈𝖉𝖊𝖋𝖌𝖍𝖎𝖏𝖐𝖑𝖒𝖓𝖔𝖕𝖖𝖗𝖘𝖙𝖚𝖛𝖜𝖝𝖞𝖟', 'abcdefghijklmnopqrstuvwxyz')"
- - "-": # 0xf05a - 0xf073
- - T: "fraktuura lihavoitu" # (google translation)
- - 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)
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "kaksoisviivainen"] # (en: 'double struck', google translation)
- - SPELL: "translate('.', '𝔸𝔹𝔻𝔼𝔽𝔾𝕀𝕁𝕂𝕃𝕄𝕆𝕊𝕋𝕌𝕍𝕎𝕏𝕐', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "-": # 0xf080 - 0xf098
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "kaksoisviivainen"] # (en: 'double struck', google translation)
- - SPELL: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "𝕒-𝕫": # 0x1d552 - 0x1d56b
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "kaksoisviivainen"] # (en: 'double struck', google translation)
- - SPELL: "translate('.', '𝕒𝕓𝕔𝕕𝕖𝕗𝕘𝕙𝕚𝕛𝕜𝕝𝕞𝕟𝕠𝕡𝕢𝕣𝕤𝕥𝕦𝕧𝕨𝕩𝕪𝕫', 'abcdefghijklmnopqrstuvwxyz')"
- - "-": # 0xf09a - 0xf0b3
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "kaksoisviivainen"] # (en: 'double struck', google translation)
- - SPELL: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
- - "𝟘-𝟡": # 0x1d7d8 - 0x1d7e1
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "kaksoisviivainen"] # (en: 'double struck', google translation)
- - SPELL: "translate('.', '𝟘𝟙𝟚𝟛𝟜𝟝𝟞𝟟𝟠𝟡', '0123456789')"
- - "-": # 0xf0c0 - 0xf0c9
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "kaksoisviivainen"] # (en: 'double struck', google translation)
- - SPELL: "translate('.', '', '0123456789')"
-
- - "": [T: "kaksoisviivainen nabla"] # 0xf0ca (en: 'double struck nabla', google translation)
- - "": [T: "kaksoisviivainen eulerin vakio"] # 0xf0cb (en: 'double struck euler constant', google translation)
-
- # script chars in math alphabetic block and also MathType private use area
- - "𝒜-𝒵": # 0x1d49c - 0x1d4b5
- - T: "kauno" # (en: 'script', google translation)
- - SPELL: "translate('.', '𝒜𝒞𝒟𝒢𝒥𝒦𝒩𝒪𝒫𝒬𝒮𝒯𝒰𝒱𝒲𝒳𝒴𝒵', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "-": # 0xf100 - 0xf119
- - T: "kauno" # (en: 'script', google translation)
- - SPELL: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "𝒶-𝓏": # 0x1d4b6 - 0x1d4cf
- - T: "kauno" # (en: 'script', google translation)
- - SPELL: "translate('.', '𝒶𝒷𝒸𝒹𝒻𝒽𝒾𝒿𝓀𝓁𝓂𝓃𝓅𝓆𝓇𝓈𝓉𝓊𝓋𝓌𝓍𝓎𝓏', 'abcdefghijklmnopqrstuvwxyz')"
- - "-": # 0xf11a - 0xf133
- - T: "kauno" # (en: 'script', google translation)
- - SPELL: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
-
- # bold script chars in math alphabetic block and also MathType private use area
- - "𝓐-𝓩": # 0x1d4d0 - 0x1d4e9
- - T: "lihavoitu kauno" # (en: 'script bold', google translation)
- - SPELL: "translate('.', '𝓐𝓑𝓒𝓓𝓔𝓕𝓖𝓗𝓘𝓙𝓚𝓛𝓜𝓝𝓞𝓟𝓠𝓡𝓢𝓣𝓤𝓥𝓦𝓧𝓨𝓩', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "-": # 0xf140 - 0xf159
- - T: "lihavoitu kauno" # (en: 'script bold', google translation)
- - SPELL: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "𝓪-𝔃": # 0x1d4ea - 0x1d503
- - T: "lihavoitu kauno" # (en: 'script bold', google translation)
- - SPELL: "translate('.', '𝓪𝓫𝓬𝓭𝓮𝓯𝓰𝓱𝓲𝓳𝓴𝓵𝓶𝓷𝓸𝓹𝓺𝓻𝓼𝓽𝓾𝓿𝔀𝔁𝔂𝔃', 'abcdefghijklmnopqrstuvwxyz')"
- - "-": # 0xf15a - 0xf173
- - T: "lihavoitu kauno" # (en: 'script bold', google translation)
- - SPELL: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "-": # 0xf180 - 0xf199
- - SPELL: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "": # 0xf19a
- - 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: "iso"] # (en: 'cap', google translation)
- else: [x: "$SpeechOverrides_CapitalLetters"]
- - pitch:
- value: "$CapitalLetters_Pitch"
- replace: [T: "ligatuuri a e"] # (google translation)
- - "": # 0xf19b
- - 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: "iso"] # (en: 'cap', google translation)
- else: [x: "$SpeechOverrides_CapitalLetters"]
- - pitch:
- value: "$CapitalLetters_Pitch"
- replace: [T: "terävä s"] # (en: 'sharp s', google translation) # FI: : translation unclear
- - "": # 0xf19c
- - 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: "iso"] # (en: 'cap', google translation)
- else: [x: "$SpeechOverrides_CapitalLetters"]
- - pitch:
- value: "$CapitalLetters_Pitch"
- replace: [T: "o yliviivauksella"] # (en: 'o with stroke', google translation)
-
- # MathType only has a few of the cap Greek letters in PUA
- - "": # 0xf201 - 0xf209
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "kaksoisviivainen"] # (en: 'double struck', google translation)
- - SPELL: "translate('.', '', 'ΔΨΛΠΣΘΓΩΥ')"
-
- - "-": # 0xf220 - 0xf236
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "kaksoisviivainen"] # (en: 'double struck', google translation)
- - SPELL: "translate('.', '', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
-
- - "": [T: "kaksoisviivainen viimeinen sigma"] # 0xf237 (en: 'double struck final sigma', google translation)
- - "": [T: "kaksoisviivainen rho"] # 0xf250 (en: 'double struck rho', google translation)
- - "": [T: "kaksoisviivainen fii"] # 0xf251 (google translation)
- - "𝐀-𝐙": # 0x1d400 - 0x1d419
- - T: "lihavoitu" # (en: 'bold', google translation)
- - SPELL: "translate('.', '𝐀𝐁𝐂𝐃𝐄𝐅𝐆𝐇𝐈𝐉𝐊𝐋𝐌𝐍𝐎𝐏𝐐𝐑𝐒𝐓𝐔𝐕𝐖𝐗𝐘𝐙', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "-": # 0xf260 - 0xf279
- - T: "lihavoitu" # (en: 'bold', google translation)
- - SPELL: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "𝐚-𝐳": # 0x1d41a - 0x1d433
- - T: "lihavoitu" # (en: 'bold', google translation)
- - SPELL: "translate('.', '𝐚𝐛𝐜𝐝𝐞𝐟𝐠𝐡𝐢𝐣𝐤𝐥𝐦𝐧𝐨𝐩𝐪𝐫𝐬𝐭𝐮𝐯𝐰𝐱𝐲𝐳', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "-": # 0xf27a - 0xf293
- - T: "lihavoitu" # (en: 'bold', google translation)
- - SPELL: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "𝐴-𝑍": # 0x1d434 - 0x1d44d
- - SPELL: "translate('.', '𝐴𝐵𝐶𝐷𝐸𝐹𝐺𝐻𝐼𝐽𝐾𝐿𝑀𝑁𝑂𝑃𝑄𝑅𝑆𝑇𝑈𝑉𝑊𝑋𝑌𝑍', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "-": # 0xf294 - 0xf2ad
- - SPELL: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "𝑎-𝑧": # 0x1d44e - 0x1d467
- - SPELL: "translate('.', '𝑎𝑏𝑐𝑑𝑒𝑓𝑔𝑖𝑗𝑘𝑙𝑚𝑛𝑜𝑝𝑞𝑟𝑠𝑡𝑢𝑣𝑤𝑥𝑦𝑧', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "-": # 0xf2ae - 0xf2c7
- - SPELL: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "𝑨-𝒁": # 0x1d468 - 0x1d481
- # - t: "bold italic"
- - T: "lihavoitu" # (en: 'bold', google translation)
- - SPELL: "translate('.', '𝑨𝑩𝑪𝑫𝑬𝑭𝑮𝑯𝑰𝑱𝑲𝑳𝑴𝑵𝑶𝑷𝑸𝑹𝑺𝑻𝑼𝑽𝑾𝑿𝒀𝒁', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "-": # 0xf2c8 - 0xf2e1
- # - t: "bold italic"
- - T: "lihavoitu" # (en: 'bold', google translation)
- - SPELL: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "𝒂-𝒛": # 0x1d482 - 0x1d49b
- # - t: "bold italic"
- - T: "lihavoitu" # (en: 'bold', google translation)
- - SPELL: "translate('.', '𝒂𝒃𝒄𝒅𝒆𝒇𝒈𝒉𝒊𝒋𝒌𝒍𝒎𝒏𝒐𝒑𝒒𝒓𝒔𝒕𝒖𝒗𝒘𝒙𝒚𝒛', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "-": # 0xf2e2 - 0xf2fb
- # - t: "bold italic"
- - T: "lihavoitu" # (en: 'bold', google translation)
- - SPELL: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "𝖠-𝖹": # 0x1d5a0 - 0x1d5b9
- - SPELL: "translate('.', '𝖠𝖡𝖢𝖣𝖤𝖥𝖦𝖧𝖨𝖩𝖪𝖫𝖬𝖭𝖮𝖯𝖰𝖱𝖲𝖳𝖴𝖵𝖶𝖷𝖸𝖹', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "-": # 0xf300 - 0xf319
- - SPELL: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "𝖺-𝗓": # 0x1d5ba - 0x1d5d3
- - SPELL: "translate('.', '𝖺𝖻𝖼𝖽𝖾𝖿𝗀𝗁𝗂𝗃𝗄𝗅𝗆𝗇𝗈𝗉𝗊𝗋𝗌𝗍𝗎𝗏𝗐𝗑𝗒𝗓', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "-": # 0xf31a - 0xf333
- - SPELL: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "𝗔-𝗭": # 0x1d5d4 - 0x1d5ed
- - T: "lihavoitu" # (en: 'bold', google translation)
- - SPELL: "translate('.', '𝗔𝗕𝗖𝗗𝗘𝗙𝗚𝗛𝗜𝗝𝗞𝗟𝗠𝗡𝗢𝗣𝗤𝗥𝗦𝗧𝗨𝗩𝗪𝗫𝗬𝗭', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "-": # 0xf334 - 0xf34d
- - T: "lihavoitu" # (en: 'bold', google translation)
- - SPELL: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "𝗮-𝘇": # 0x1d5ee - 0x1d607
- - T: "lihavoitu" # (en: 'bold', google translation)
- - SPELL: "translate('.', '𝗮𝗯𝗰𝗱𝗲𝗳𝗴𝗵𝗶𝗷𝗸𝗹𝗺𝗻𝗼𝗽𝗾𝗿𝘀𝘁𝘂𝘃𝘄𝘅𝘆𝘇', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "-": # 0xf34e - 0xf367
- - T: "lihavoitu" # (en: 'bold', google translation)
- - SPELL: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
- - "𝘈-𝘡": # 0x1d608 - 0x1d621
- # - t: "italic"
- - SPELL: "translate('.', '𝘈𝘉𝘊𝘋𝘌𝘍𝘎𝘏𝘐𝘑𝘒𝘓𝘔𝘕𝘖𝘗𝘘𝘙𝘚𝘛𝘜𝘝𝘞𝘟𝘠𝘡', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
- - "-": # 0xf368 - 0xf381
- # - t: "italic"
- - SPELL: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "𝘢-𝘻": # 0x1d622 - 0x1d63b
- # - t: "italic"
- - SPELL: "translate('.', '𝘢𝘣𝘤𝘥𝘦𝘧𝘨𝘩𝘪𝘫𝘬𝘭𝘮𝘯𝘰𝘱𝘲𝘳𝘴𝘵𝘶𝘷𝘸𝘹𝘺𝘻', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "-": # 0xf382 - 0xf39b
- # - t: "italic"
- - SPELL: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "𝘼-𝙕": # 0x1d63c - 0x1d655
- # - t: "bold italic"
- - T: "lihavoitu" # (en: 'bold', google translation)
- - SPELL: "translate('.', '𝘼𝘽𝘾𝘿𝙀𝙁𝙂𝙃𝙄𝙅𝙆𝙇𝙈𝙉𝙊𝙋𝙌𝙍𝙎𝙏𝙐𝙑𝙒𝙓𝙔𝙕', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "-": # 0xf39c - 0xf3b5
- # - t: "bold italic"
- - T: "lihavoitu" # (en: 'bold', google translation)
- - SPELL: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "𝙖-𝙯": # 0x1d656 - 0x1d66f
- # - t: "bold italic"
- - T: "lihavoitu" # (en: 'bold', google translation)
- - SPELL: "translate('.', '𝙖𝙗𝙘𝙙𝙚𝙛𝙜𝙝𝙞𝙟𝙠𝙡𝙢𝙣𝙤𝙥𝙦𝙧𝙨𝙩𝙪𝙫𝙬𝙭𝙮𝙯', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "-": # 0xf3b6 - 0xf3cf
- # - t: "bold italic"
- - T: "lihavoitu" # (en: 'bold', google translation)
- - SPELL: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "𝙰-𝚉": # 0x1d670 - 0x1d689
- - SPELL: "translate('.', '𝙰𝙱𝙲𝙳𝙴𝙵𝙶𝙷𝙸𝙹𝙺𝙻𝙼𝙽𝙾𝙿𝚀𝚁𝚂𝚃𝚄𝚅𝚆𝚇𝚈𝚉', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "-": # 0xf3d0 - 0xf3e9
- - SPELL: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
-
- - "𝚊-𝚣": # 0x1d68a - 0x1d6a3
- - SPELL: "translate('.', '𝚊𝚋𝚌𝚍𝚎𝚏𝚐𝚑𝚒𝚓𝚔𝚕𝚖𝚗𝚘𝚙𝚚𝚛𝚜𝚝𝚞𝚟𝚠𝚡𝚢𝚣', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "-": # 0xf3ea - 0xf403
- - SPELL: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
-
- - "": [T: "pisteetön i"] # 0xf404 (google translation)
- - "𝚤": [T: "pisteetön i"] # 0x1d6a4 (en: 'dotless i', google: 'dotless i')
- - "𝚥": [T: "pisteetön j"] # 0x1d6a5 (en: 'dotless j', google: 'dotless j')
-
- - "𝚨-𝛀": # 0x1d6a8 - 0x1d6c0
- - T: "lihavoitu" # (en: 'bold', google: 'lihavoitu')
- - SPELL: "translate('.', '𝚨𝚩𝚪𝚫𝚬𝚭𝚮𝚯𝚰𝚱𝚲𝚳𝚴𝚵𝚶𝚷𝚸𝚹𝚺𝚻𝚼𝚽𝚾𝚿𝛀', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
-
- - "-": # 0xf408 - 0xf420
- - T: "lihavoitu" # (en: 'bold', google: 'lihavoitu')
- - SPELL: "translate('.', '', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
-
- - "𝛂-𝛚": # 0x1d6c2 - 0x1d6da
- - T: "lihavoitu" # (en: 'bold', google: 'lihavoitu')
- - SPELL: "translate('.', '𝛂𝛃𝛄𝛅𝛆𝛇𝛈𝛉𝛊𝛋𝛌𝛍𝛎𝛏𝛐𝛑𝛒𝛓𝛔𝛕𝛖𝛗𝛘𝛙𝛚', 'αβγδεζηθικλμνξοπρςστυφχψω')"
-
- - "-": # 0xf422 - 0xf43a
- - T: "lihavoitu" # (en: 'bold', google: 'lihavoitu')
- - SPELL: "translate('.', '', 'αβγδεζηθικλμνξοπρςστυφχψω')"
-
- - "": [T: "lihavoitu nabla"] # 0xf421 (en: 'bold nabla', google translation)
- - "𝛁": [T: "lihavoitu nabla"] # 0x1d6c1 (en: 'bold nabla')
-
- - "𝛛𝛜𝛝𝛞𝛟𝛠𝛡": # 0x1D6DB - 0x1D6E1
- - T: "lihavoitu" # (en: 'bold', google: 'lihavoitu')
- - SPELL: "translate('.', '𝛛𝛜𝛝𝛞𝛟𝛠𝛡', '∂εθκφρπ')"
-
- - "": # 0xF43C - 0xF441
- - T: "lihavoitu" # (en: 'bold', google: 'lihavoitu')
- - SPELL: "translate('.', '', '∂εθκφρπ')"
-
- - "𝛢-𝛺": # 0x1d6e2 - 0x1d6fa
- # - t: "italic"
- - SPELL: "translate('.', '𝛢𝛣𝛤𝛥𝛦𝛧𝛨𝛩𝛪𝛫𝛬𝛭𝛮𝛯𝛰𝛱𝛲𝛳𝛴𝛵𝛶𝛷𝛸𝛹𝛺', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
-
- - "-": # 0xf442 - 0xf45a
- # - t: "italic"
- - SPELL: "translate('.', '', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
-
- - "𝛼-𝜔": # 0x1d6fc - 0x1d714
- # - t: "italic"
- - SPELL: "translate('.', '𝛼𝛽𝛾𝛿𝜀𝜁𝜂𝜃𝜄𝜅𝜆𝜇𝜈𝜉𝜊𝜋𝜌𝜍𝜎𝜏𝜐𝜑𝜒𝜓𝜔', 'αβγδεζηθικλμνξοπρςστυφχψω')"
-
- - "-": # 0xf45c - 0xf474
- # - t: "italic"
- - SPELL: "translate('.', '', 'αβγδεζηθικλμνξοπρςστυφχψω')"
-
- - "": [T: "kursivoitu nabla"] # 0xf45b (en: 'italic nabla', google translation)
- - "𝛻": [T: "lihavoitu nabla"] # 0x1d6fb (en: 'italic nabla', google: 'kursivoitu nabla')
-
- - "𝜕𝜖𝜗𝜘𝜙𝜚𝜛": # 0x1d715 - 0x1d71b
- # - t: "italic"
- - SPELL: "translate('.', '𝜕𝜖𝜗𝜘𝜙𝜚𝜛', '∂εθκφρπ')"
-
- - "": # 0xf475 - 0xf47b
- # - t: "italic"
- - SPELL: "translate('.', '', '∂εθκφρπ')"
-
- - "𝜜-𝜴": # 0x1d71c - 0x1d734
- # - t: "bold italic"
- - T: "lihavoitu" # (en: 'bold', google: 'lihavoitu')
- - SPELL: "translate('.', '𝜜𝜝𝜞𝜟𝜠𝜡𝜢𝜣𝜤𝜥𝜦𝜧𝜨𝜩𝜪𝜫𝜬𝜭𝜮𝜯𝜰𝜱𝜲𝜳𝜴', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
-
- - "-": # 0xf47c - 0xf494
- # - t: "bold italic"
- - T: "lihavoitu" # (en: 'bold', google: 'lihavoitu')
- - SPELL: "translate('.', '', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
-
- - "𝜶-𝝎": # 0x1d736 - 0x1d74e
- # - t: "bold italic"
- - T: "lihavoitu" # (en: 'bold', google: 'lihavoitu')
- - SPELL: "translate('.', '𝜶𝜷𝜸𝜹𝜺𝜻𝜼𝜽𝜾𝜿𝝀𝝁𝝂𝝃𝝄𝝅𝝆𝝇𝝈𝝉𝝊𝝋𝝌𝝍𝝎', 'αβγδεζηθικλμνξοπρςστυφχψω')"
-
- - "-": # 0xf496 - 0xf4ae
- # - t: "bold italic"
- - T: "lihavoitu" # (en: 'bold', google: 'lihavoitu')
- - SPELL: "translate('.', '', 'αβγδεζηθικλμνξοπρςστυφχψω')"
-
- - "𝝏𝝐𝝑𝝒𝝓𝝔𝝕": # 0x1d74f - 0x1d755
- # - t: "bold italic"
- - T: "lihavoitu" # (en: 'bold', google: 'lihavoitu')
- - SPELL: "translate('.', '𝝏𝝐𝝑𝝒𝝓𝝔𝝕', '∂εθκφρπ')"
-
- - "": # 0xf422 - 0xf43a
- # - t: "bold italic"
- - T: "lihavoitu" # (en: 'bold', google: 'lihavoitu')
- - SPELL: "translate('.', '', '∂εθκφρπ')"
-
- - "𝜵": [T: "lihavoitu kursivoitu nabla"] # 0x1d735 (en: 'bold italic nabla', google: 'rohkea kursivoitu nabla')
- - "": [T: "lihavoitu kursivoitu nabla"] # 0xf495 (en: 'bold italic nabla', google translation)
-
- - "𝝖-𝝮": # 0x1d756 - 0x1d76e
- - T: "lihavoitu" # (en: 'bold', google translation)
- - SPELL: "translate('.', '𝝖𝝗𝝘𝝙𝝚𝝛𝝜𝝝𝝞𝝟𝝠𝝡𝝢𝝣𝝤𝝥𝝦𝝧𝝨𝝩𝝪𝝫𝝬𝝭𝝮', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
- - "-": # 0xf4b6 - 0xf4ce
- - T: "lihavoitu" # (en: 'bold', google translation)
- - SPELL: "translate('.', '', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
-
- - "𝝰-𝞈": # 0x1d770 - 0x1d788
- - T: "lihavoitu" # (en: 'bold', google translation)
- - SPELL: "translate('.', '𝝰𝝱𝝲𝝳𝝴𝝵𝝶𝝷𝝸𝝹𝝺𝝻𝝼𝝽𝝾𝝿𝞀𝞁𝞂𝞃𝞄𝞅𝞆𝞇𝞈', 'αβγδεζηθικλμνξοπρςστυφχψω')"
-
- - "-": # 0xf4d0 - 0xf4e8
- - T: "lihavoitu" # (en: 'bold', google translation)
- - SPELL: "translate('.', '', 'αβγδεζηθικλμνξοπρςστυφχψω')"
-
- - "𝞉𝞊𝞋𝞌𝞍𝞎𝞏": # 0x1d789 - 0x1d78f
- - T: "lihavoitu" # (en: 'bold', google translation)
- - SPELL: "translate('.', '𝞉𝞊𝞋𝞌𝞍𝞎𝞏', '∂εθκφρπ')"
-
- - "": # 0xf4e9 - 0xf4ef
- - T: "lihavoitu" # (en: 'bold', google translation)
- - SPELL: "translate('.', '', '∂εθκφρπ')"
-
- - "": [T: "lihavoitu nabla"] # 0xf4cf (en: 'bold nabla', google translation)
- - "𝝯": [T: "lihavoitu nabla"] # 0x1d76f (en: 'bold nabla')
-
- - "𝞐-𝞨": # 0x1d790 - 0x1d7a8
- # - t: "bold italic"
- - T: "lihavoitu" # (en: 'bold', google: 'lihavoitu')
- - SPELL: "translate('.', '𝞐𝞑𝞒𝞓𝞔𝞕𝞖𝞗𝞘𝞙𝞚𝞛𝞜𝞝𝞞𝞟𝞠𝞡𝞢𝞣𝞤𝞥𝞦𝞧𝞨', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
-
- - "-": # 0xf4f0 - 0xf508
- # - t: "bold italic"
- - T: "lihavoitu" # (en: 'bold', google: 'lihavoitu')
- - SPELL: "translate('.', '', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
-
- - "𝞪-𝟂": # 0x1d7aa - 0x1d7c2
- # - t: "bold italic"
- - T: "lihavoitu" # (en: 'bold', google: 'lihavoitu')
- - SPELL: "translate('.', '𝞪𝞫𝞬𝞭𝞮𝞯𝞰𝞱𝞲𝞳𝞴𝞵𝞶𝞷𝞸𝞹𝞺𝞻𝞼𝞽𝞾𝞿𝟀𝟁𝟂', 'αβγδεζηθικλμνξοπρςστυφχψω')"
-
- - "-": # 0xf50a - 0xf522
- # - t: "bold italic"
- - T: "lihavoitu" # (en: 'bold', google: 'lihavoitu')
- - SPELL: "translate('.', '', 'αβγδεζηθικλμνξοπρςστυφχψω')"
-
- - "𝟃𝟄𝟅𝟆𝟇𝟈𝟉": # 0x1d7c3 - 0x1d7c9
- # - t: "bold italic"
- - T: "lihavoitu" # (en: 'bold', google: 'lihavoitu')
- - SPELL: "translate('.', '𝟃𝟄𝟅𝟆𝟇𝟈𝟉', '∂εθκφρπ')"
-
- - "": # 0xf523 - 0xf529
- # - t: "bold italic"
- - T: "lihavoitu" # (en: 'bold', google: 'lihavoitu')
- - SPELL: "translate('.', '', '∂εθκφρπ')"
-
- - "": [T: "lihavoitu nabla"] # 0xf509 (en: 'bold nabla', google translation)
- - "𝞩": [T: "lihavoitu nabla"] # 0x1d7a9 (en: 'bold nabla')
-
- - "": [T: "lihavoitu nolla"] # 0xf52e (en: 'bold zero', google translation)
- - "𝟎": [T: "lihavoitu nolla"] # 0x1d7ce (en: 'bold zero')
- - "": [T: "lihavoitu yksi"] # 0xf52f (en: 'bold one', google translation)
- - "𝟏": [T: "lihavoitu yksi"] # 0x1d7cf (en: 'bold one', google: 'lihavoitu')
- - "": [T: "lihavoitu kaksi"] # 0xf530 (en: 'bold two', google translation)
- - "𝟐": [T: "lihavoitu kaksi"] # 0x1d7d0 (en: 'bold two')
- - "": [T: "lihavoitu kolme"] # 0xf531 (en: 'bold three', google translation)
- - "𝟑": [T: "lihavoitu kolme"] # 0x1d7d1 (en: 'bold three')
- - "": [T: "lihavoitu neljä"] # 0xf532 (en: 'bold four', google translation)
- - "𝟒": [T: "lihavoitu neljä"] # 0x1d7d2 (en: 'bold four', google: 'bold neljä')
- - "": [T: "lihavoitu viisi"] # 0xf533 (en: 'bold five', google translation)
- - "𝟓": [T: "lihavoitu viisi"] # 0x1d7d3 (en: 'bold five')
- - "": [T: "lihavoitu kuusi"] # 0xf534 (en: 'bold six', google translation)
- - "𝟔": [T: "lihavoitu kuusi"] # 0x1d7d4 (en: 'bold six')
- - "": [T: "lihavoitu seitsemän"] # 0xf535 (en: 'bold seven', google translation)
- - "𝟕": [T: "lihavoitu seitsemän"] # 0x1d7d5 (en: 'bold seven', google: 'rohkea seitsemän')
- - "": [T: "lihavoitu kahdeksan"] # 0xf536 (en: 'bold eight', google translation)
- - "𝟖": [T: "lihavoitu kahdeksan"] # 0x1d7d6 (en: 'bold eight', google: 'lihavoitu')
- - "": [T: "lihavoitu yhdeksän"] # 0xf537 (en: 'bold nine', google translation)
- - "𝟗": [T: "lihavoitu yhdeksän"] # 0x1d7d7 (en: 'bold nine')
- - "": [T: "nolla"] # 0xf542 (en: 'zero', google translation)
- - "𝟢": [T: "nolla"] # 0x1d7e2 (en: 'zero')
- - "": [T: "yksi"] # 0xf543 (en: 'one', google translation)
- - "𝟣": [T: "yksi"] # 0x1d7e3 (en: 'one')
- - "": [T: "kaksi"] # 0xf544 (en: 'two', google translation)
- - "𝟤": [T: "kaksi"] # 0x1d7e4 (en: 'two')
- - "": [T: "kolme"] # 0xf545 (en: 'three', google translation)
- - "𝟥": [T: "kolme"] # 0x1d7e5 (en: 'three')
- - "": [T: "neljä"] # 0xf546 (en: 'four', google translation)
- - "𝟦": [T: "neljä"] # 0x1d7e6 (en: 'four')
- - "": [T: "viisi"] # 0xf547 (en: 'five', google translation)
- - "𝟧": [T: "viisi"] # 0x1d7e7 (en: 'five')
- - "": [T: "kuusi"] # 0xf548 (en: 'six', google translation)
- - "𝟨": [T: "kuusi"] # 0x1d7e8 (en: 'six')
- - "": [T: "seitsemän"] # 0xf549 (en: 'seven', google translation)
- - "𝟩": [T: "seitsemän"] # 0x1d7e9 (en: 'seven')
- - "": [T: "kahdeksan"] # 0xf54a (en: 'eight', google translation)
- - "𝟪": [T: "kahdeksan"] # 0x1d7ea (en: 'eight', google: 'at')
- - "": [T: "yhdeksän"] # 0xf54b (en: 'nine', google translation)
- - "𝟫": [T: "yhdeksän"] # 0x1d7eb (en: 'nine')
- - "": [T: "lihavoitu nolla"] # 0xf54c (en: 'bold zero', google translation)
- - "𝟬": [T: "lihavoitu nolla"] # 0x1d7ec (en: 'bold zero')
- - "": [T: "lihavoitu yksi"] # 0xf54d (en: 'bold one', google translation)
- - "𝟭": [T: "lihavoitu yksi"] # 0x1d7ed (en: 'bold one', google: 'lihavoitu')
- - "": [T: "lihavoitu kaksi"] # 0xf54e (en: 'bold two', google translation)
- - "𝟮": [T: "lihavoitu kaksi"] # 0x1d7ee (en: 'bold two')
- - "": [T: "lihavoitu kolme"] # 0xf54f (en: 'bold three', google translation)
- - "𝟯": [T: "lihavoitu kolme"] # 0x1d7ef (en: 'bold three')
- - "": [T: "lihavoitu neljä"] # 0xf550 (en: 'bold four', google translation)
- - "𝟰": [T: "lihavoitu neljä"] # 0x1d7f0 (en: 'bold four', google: 'bold neljä')
- - "": [T: "lihavoitu viisi"] # 0xf551 (en: 'bold five', google translation)
- - "𝟱": [T: "lihavoitu viisi"] # 0x1d7f1 (en: 'bold five')
- - "": [T: "lihavoitu kuusi"] # 0xf552 (en: 'bold six', google translation)
- - "𝟲": [T: "lihavoitu kuusi"] # 0x1d7f2 (en: 'bold six')
- - "": [T: "lihavoitu seitsemän"] # 0xf553 (en: 'bold seven', google translation)
- - "𝟳": [T: "lihavoitu seitsemän"] # 0x1d7f3 (en: 'bold seven', google: 'rohkea seitsemän')
- - "": [T: "lihavoitu kahdeksan"] # 0xf554 (en: 'bold eight', google translation)
- - "𝟴": [T: "lihavoitu kahdeksan"] # 0x1d7f4 (en: 'bold eight', google: 'lihavoitu')
- - "": [T: "lihavoitu yhdeksän"] # 0xf555 (en: 'bold nine', google translation)
- - "𝟵": [T: "lihavoitu yhdeksän"] # 0x1d7f5 (en: 'bold nine')
- - "": [T: "nolla"] # 0xf556 (en: 'zero', google translation)
- - "𝟶": [T: "nolla"] # 0x1d7f6 (en: 'zero')
- - "": [T: "yksi"] # 0xf557 (en: 'one', google translation)
- - "𝟷": [T: "yksi"] # 0x1d7f7 (en: 'one')
- - "": [T: "kaksi"] # 0xf558 (en: 'two', google translation)
- - "𝟸": [T: "kaksi"] # 0x1d7f8 (en: 'two')
- - "": [T: "kolme"] # 0xf559 (en: 'three', google translation)
- - "𝟹": [T: "kolme"] # 0x1d7f9 (en: 'three')
- - "": [T: "neljä"] # 0xf55a (en: 'four', google translation)
- - "𝟺": [T: "neljä"] # 0x1d7fa (en: 'four')
- - "": [T: "viisi"] # 0xf55b (en: 'five', google translation)
- - "𝟻": [T: "viisi"] # 0x1d7fb (en: 'five')
- - "": [T: "kuusi"] # 0xf55c (en: 'six', google translation)
- - "𝟼": [T: "kuusi"] # 0x1d7fc (en: 'six')
- - "": [T: "seitsemän"] # 0xf55d (en: 'seven', google translation)
- - "𝟽": [T: "seitsemän"] # 0x1d7fd (en: 'seven')
- - "": [T: "kahdeksan"] # 0xf55e (en: 'eight', google translation)
- - "𝟾": [T: "kahdeksan"] # 0x1d7fe (en: 'eight', google: 'at')
- - "": [T: "yhdeksän"] # 0xf55f (en: 'nine', google translation)
- - "𝟿": [T: "yhdeksän"] # 0x1d7ff (en: 'nine')
- - "": [T: "tuntematon merkki"] # 0xf700 (en: 'unknown character', google translation)
- - "": [T: "alaoikea ja alavasen kolmio"] # 0xf726 (en: 'lower right and lower left triangles', google translation)
- - "": [T: "vaakasuora pistekolmikko pidennys"] # 0xf72d (en: 'horizontal ellipsis extender', google translation)
- - "": [T: "keskiviivan vaakasuora pistekolmikko pidennys"] # 0xf72e (en: 'midline horizontal ellipsis extender', google translation)
- - "": [T: "radikaali pidennys"] # 0xf8e5 (en: 'radical extender', google translation) # FI: unclear translation, root?
- - "": [T: "pystysuora nuoli pidennys"] # 0xf8e6 (en: 'vertical arrow extender', google translation)
- - "": [T: "vaakasuora nuoli pidennys"] # 0xf8e7 (en: 'horizontal arrow extender', google translation)
- - "": [T: "rekisteröity merkki sans serif"] # 0xf8e8 (en: 'registered sign sans serif', google translation)
- - "": [T: "tekijänoikeusmerkki sans serif"] # 0xf8e9 (en: 'copyright sign sans serif', google translation)
- - "": [T: "trademark -merkki sans serif"] # 0xf8ea (en: 'trade mark sign sans serif', google translation)
- - "": [T: "vasen kaarisulku ylä"] # 0xf8eb (en: 'left paren top', google translation)
- - "": [T: "vasen kaarisulku pidennys"] # 0xf8ec (en: 'left paren extender', google translation)
- - "": [T: "vasen kaarisulku ala"] # 0xf8ed (en: 'left paren bottom', google translation)
- - "": [T: "vasen hakasulku ylä"] # 0xf8ee (en: 'left bracket top', google translation)
- - "": [T: "vasen hakasulku pidennys"] # 0xf8ef (en: 'left bracket extender', google translation)
- - "": [T: "vasen hakasulku ala"] # 0xf8f0 (en: 'left bracket bottom', google translation)
- - "": [T: "vasen hakasulku ylä"] # 0xf8f1 (en: 'left brace top', google translation)
- - "": [T: "vasen aaltosulku keski"] # 0xf8f2 (en: 'left brace mid', google translation)
- - "": [T: "vasen aaltosulku ala"] # 0xf8f3 (en: 'left brace bottom', google translation)
- - "": [T: "aaltosulku pidennys"] # 0xf8f4 (en: 'brace extender', google translation)
- - "": [T: "integraali pidennys"] # 0xf8f5 (en: 'integral extender', google translation)
- - "": [T: "oikea kaarisulku ylä"] # 0xf8f6 (en: 'right paren top', google translation)
- - "": [T: "oikea kaarisulku pidennys"] # 0xf8f7 (en: 'right paren extender', google translation)
- - "": [T: "oikea kaarisulku ala"] # 0xf8f8 (en: 'right paren bottom', google translation)
- - "": [T: "oikea hakasulku ylä"] # 0xf8f9 (en: 'right bracket top', google translation)
- - "": [T: "oikea hakasulku pidennys"] # 0xf8fa (en: 'right bracket extender', google translation)
- - "": [T: "oikea hakasulku ala"] # 0xf8fb (en: 'right bracket bottom', google translation)
- - "": [T: "oikea aaltosulku ylä"] # 0xf8fc (en: 'right brace top', google translation)
- - "": [T: "oikea aaltosulku keski"] # 0xf8fd (en: 'right brace mid', google translation)
- - "": [T: "oikea aaltosulku ala"] # 0xf8fe (en: 'right brace bottom', google translation)
- - "": [T: "apple-logo"] # 0xf8ff (en: 'apple logo', google translation)
- - "ff": [T: "f f"] # 0xfb00 (en: 'ff', google: 'ff')
- - "fi": [T: "f i"] # 0xfb01 (en: 'fi', google: 'fi')
- - "fl": [T: "f l"] # 0xfb02 (en: 'fl', google: 'fl')
- - "ffi": [T: "f f i"] # 0xfb03 (en: 'ffi', google: 'ffi')
- - "ffl": [T: "f f l"] # 0xfb04 (en: 'ffl', google: 'ffl')
- - "ſt": [T: "f t"] # 0xfb05 (google translation)
- - "st": [T: "s t"] # 0xfb06 (google translation)
- - "︠": [T: "ligatuuri vasen puolikas koriste"] # 0xfe20 (en: 'ligature left half embellishment', google translation) # FI: : translation unclear
- - "︡": [T: "ligatuuri oikea puolikas koriste"] # 0xfe21 (en: 'ligature right half embellishment', google translation) # FI: : translation unclear
- - "︢": [T: "kaksoistilde vasen puolikas koriste"] # 0xfe22 (en: 'double tilde left half embellishment', google translation) # FI: : translation unclear
- - "︣": [T: "kaksoistilde oikea puolikas koriste"] # 0xfe23 (en: 'double tilde right half embellishment', google translation)
- - "︤": [T: "pituusmerkki vasen puolikas koriste"] # 0xfe24 (en: 'macron left half embellishment', google translation)
- - "︥": [T: "pituusmerkki oikea puolikas koriste"] # 0xfe25 (en: 'macron right half embellishment', google translation)
- - "︦": [T: "yhdistävä pituusmerkkikoriste"] # 0xfe26 (en: 'conjoining macron embellishment', google translation)
- - "︵": [T: "yläsulku"] # 0xfe35 (google: 'yli sulku')
- - "︶": [T: "alasulku"] # 0xfe36 (google: 'suluissa')
- - "︷": [T: "yläaaltosulku"] # 0xfe37 (en: 'over brace', google: 'yli ahdin')
- - "︸": [T: "ala-aaltosulku"] # 0xfe38 (en: 'under brace', google: 'ahdin alla')
- - "︿": [T: "yläkulmasulku"] # 0xfe3f (google: 'yli kulmakiinnike')
- - "﹀": [T: "alakulmasulku"] # 0xfe40 (google: 'kulmakiinnikkeessä')
- - "﹨": [T: "kokonaislukujen jakomerkki"] # 0xfe68 (google: 'kokonaislukujako')
- - "": [T: "tuntematon tai puuttuva objekti"] # 0xfffc (en: 'unknown or missing object', google translation)
- - "�": [T: "tuntematon tai puuttuva merkki"] # 0xfffd (en: 'unknown or missing character')
+---
+
+# Translated with the help of https://jkorpela.fi/merkkien-nimet.html
+
+ - "¢": [T: "senttiä"] # 0xa2 (en: 'cents')
+ - "£": [T: "puntaa"] # 0xa3 (en: 'pounds')
+ - "¤": [T: "valuuttamerkki"] # 0xa4 (en: 'currency sign')
+ - "¥": [T: "jeni"] # 0xa5 (en: 'yen', google: 'jeni')
+ - "¦": [T: "katkopystyviiva"] # 0xa6 (en: 'broken bar', google: 'rikkoutunut palkki')
+ - "§": [T: "pykälä"] # 0xa7 (en: 'section', google: 'osa')
+ - "¨": [T: "piste piste"] # 0xa8 (en: 'double dot', google: 'kaksinkertainen piste') # FI: use case with derivative?
+ - "©": [T: "tekijänoikeus"] # 0xa9 (en: 'copyright', google: 'tekijänoikeudet') # FI: in NVDA it's written "copyright"
+ - "ª": [T: "feminiininen järjestysluku"] # 0xaa (en: 'feminine ordinal indicator', google: 'naisellinen ordinaaliindikaattori')
+ - "«": [T: "vasemmalle osoittava kaksinkertainen kulmalainausmerkki"] # 0xab (en: 'left-pointing double angle quote mark', google: 'vasemman potentiaalinen kaksoiskulma lainausmerkki')
+ - "¯": # 0xaf
+ - test:
+ if: "ancestor::m:modified-variable and preceding-sibling::*[1][self::m:mi]"
+ then: [T: "viiva"] # (en: 'bar', google translation)
+ else: [T: "viiva"] # (en: 'line', google: 'linja')
+ - "²": [T: "yläindeksi kaksi"] # 0xb2 (en: 'two', google: 'kaksi')
+ - "³": [T: "yläindeksi kolme"] # 0xb3 (en: 'three', google: 'kolme')
+ - "µ": [T: "mikro"] # 0xb5 (en: 'micro')
+ - "¹": [T: "yläindeksi yksi"] # 0xb9 (en: 'one', google: 'yksi')
+ - "º": [T: "maskuliininen järjestysluku"] # 0xb9 (en: 'masculine ordinal indicator', google: 'maskuliininen ordinaaliindikaattori') # should be 0xba
+ - "ʰ": [T: "yläindeksi h"] # 0x2b0 (en: 'modifier small h', google translation)
+ - "ʱ": [T: "yläindeksi h koukulla"] # 0x2b1 (en: 'modifier small h with hook', google translation)
+ - "ʲ": [T: "yläindeksi j"] # 0x2b2 (en: 'modifier small j', google translation)
+ - "ʳ": [T: "yläindeksi r"] # 0x2b3 (en: 'modifier small r', google translation)
+ - "ʴ": [T: "yläindeksi käännetty r"] # 0x2b4 (en: 'modifier small turned r', google translation)
+ - "ʵ": [T: "yläindeksi käännetty r koukulla"] # 0x2b5 (en: 'modifier small turned r with hook', google translation)
+ - "ʶ": # 0x2b6
+ - T: "yläindeksi käännetty R" # (en: 'modifier small inverted', google translation)
+ - SPELL: "translate('R', 'R', 'R')"
+
+ - "ʷ": [T: "yläindeksi w"] # 0x2b7 (en: 'modifier small w', google translation)
+ - "ʸ": [T: "yläindeksi y"] # 0x2b8 (en: 'modifier small y', google translation)
+ - "ʹ": [T: "priimi"] # 0x2b9 (en: 'modifier prime', google translation) # FI: derivated once -> "pilkku"
+ - "ʺ": [T: "kaksoispriimi"] # 0x2ba (en: 'modifier double prime', google translation) # FI: derivated twice -> "pilkku pilkku"
+ - "ʻ": [T: "käänteispilkku"] # 0x2bb (en: 'modifier turned comma', google translation)
+ - "ʼ": [T: "heitto"] # 0x2bc (en: 'modifier apostrophe', google translation)
+ - "ʽ": [T: "peilikuvapilkku"] # 0x2bd (en: 'modifier reversed comma', google translation)
+ - "ʾ": [T: "tarke oikea puolikaari"] # 0x2be (en: 'modifier right half ring', google: 'muokkain oikea puolirengas')
+ - "ʿ": [T: "tarke vasen puolikaari"] # 0x2bf (en: 'modifier left half ring', google: 'muokkain vasemmalla puolirengas')
+ - "ˀ": [T: "glottaaliklusiilitarke"] # 0x2c0 (en: 'modifier glottal stop', google translation)
+ - "ˁ": [T: "käännetty glottaaliklusiilitarke"] # 0x2c1 (en: 'modifier reversed glottal stop', google translation)
+ - "˂": [T: "tarke vasen nuoli"] # 0x2c2 (en: 'modifier left arrowhead', google translation)
+ - "˃": [T: "tarke oikea nuoli"] # 0x2c3 (en: 'modifier right arrowhead', google translation)
+ - "˄": [T: "tarke nuoli ylös"] # 0x2c4 (en: 'modifier up arrowhead', google translation)
+ - "˅": [T: "tarke nuoli alas"] # 0x2c5 (en: 'modifier down arrowhead', google translation)
+ - "ˆ": [T: "sirkumfleksi"] # 0x2c6 (en: 'modifier circumflex accent', google: 'modifikaattorin ympäryssuoja aksentti') # FI: should maybe be "hat", "hattu"
+ - "ˇ": [T: "ylösalainen sirkumfleksi"] # 0x2c7 (en: 'caron', google: 'caron') # FI: "inverted hat"? "käännetty hattu"
+ - "ˈ": [T: "tarke pystyviiva"] # 0x2c8 (en: 'modifier vertical line', google translation)
+ - "ˉ": [T: "pituusmerkki"] # 0x2c9 (en: 'modifier macron', google: 'muokkain macron')
+ - "ˊ": [T: "tarke akuutti"] # 0x2ca (en: 'modifier acute accent', google translation)
+ - "ˋ": [T: "tarke gravis"] # 0x2cb (en: 'modifier grave accent', google translation)
+ - "ˌ": [T: "tarke alapystyviiva"] # 0x2cc (en: 'modifier low vertical line', google translation)
+ - "ˍ": [T: "alapituusmerkki"] # 0x2cd (en: 'modifier low macron', google translation)
+ - "ˎ": [T: "alagravis"] # 0x2ce (en: 'modifier low grave accent', google translation)
+ - "ˏ": [T: "ala-akuutti"] # 0x2cf (en: 'modifier low acute accent', google translation)
+ - "ː": [T: "kolmiokaksoispiste"] # 0x2d0 (en: 'modifier triangular colon', google translation)
+ - "ˑ": [T: "puolikas kolmiokaksoispiste"] # 0x2d1 (en: 'modifier half triangular colon', google translation)
+ - "˒": [T: "keskitetty oikea puolirengas"] # 0x2d2 (en: 'modifier centered right half ring', google translation)
+ - "˓": [T: "keskitetty vasen puolirengas"] # 0x2d3 (en: 'modifier centered left half ring', google translation)
+ - "˔": [T: "nupi ylöspäin"] # 0x2d4 (en: 'modifier up tadck', google translation)
+ - "˕": [T: "nupi alaspäin"] # 0x2d5 (en: 'modifier down tack', google translation)
+ - "˖": [T: "plus"] # 0x2d6 (en: 'modifier plus sign', google translation)
+ - "˗": [T: "miinus"] # 0x2d7 (en: 'modifier minus sign', google translation)
+ - "˘": [T: "lyhyysmerkki"] # 0x2d8 (en: 'breve', google: 'breve')
+ - "˙": [T: "piste"] # 0x2d9 (en: 'dot', google: 'piste')
+ - "˚": [T: "yläympyrä"] # 0x2da (en: 'ring above', google: 'rengas yläpuolella')
+ - "˛": [T: "ogonek"] # 0x2db
+ - "˜": [T: "pieni tilde"] # 0x2dc (en: 'small tilde', google: 'pieni tilde')
+ - "˝": [T: "kaksoisakuutti"] # 0x2dd (en: 'double acute accent', google: 'kaksinkertainen akuutti aksentti')
+ - "˞": [T: "rhoottinen koukku"] # 0x2de (en: 'modifier rhotic hook', google translation)
+ - "˟": [T: "risti"] # 0x2df (en: 'modifier cross accent', google translation)
+ - "ˠ": [T: "pieni gamma"] # 0x2e0 (en: 'modifier small gamma', google translation) # FI: should these be without "pieni" ("small")?
+ - "ˡ": [T: "pieni l"] # 0x2e1 (en: 'modifier small l', google translation)
+ - "ˢ": [T: "pieni s"] # 0x2e2 (en: 'modifier small s', google translation)
+ - "ˣ": [T: "pieni x"] # 0x2e3 (en: 'modifier small x', google translation)
+ - "ˤ": [T: "pieni käännetty glottaaliklusiili"] # 0x2e4 (en: 'modifier small reversed glottal stop', google translation)
+ - "˥": [T: "erittäin korkea äänipalkki"] # 0x2e5 (en: 'modifier extra-high tone bar', google translation)
+ - "˦": [T: "korkea äänipalkki"] # 0x2e6 (en: 'modifier high tone bar', google translation)
+ - "˧": [T: "keskiäänipalkki"] # 0x2e7 (en: 'modifier mid tone bar', google translation)
+ - "˨": [T: "matala äänipalkki"] # 0x2e8 (en: 'modifier low tone bar', google translation)
+ - "˩": [T: "erittäin matala äänipalkki"] # 0x2e9 (en: 'modifier extra-low tone bar', google translation)
+ - "˪": [T: "yin lähtöäänimerkki"] # 0x2ea (en: 'modifier yin departing tone mark', google translation) # FI: unclear
+ - "˫": [T: "yang lähtöäänimerkki"] # 0x2eb (en: 'modifier yang departing tone mark', google translation) # FI: unclear
+ - "ˬ": [T: "ääntämismerkki"] # 0x2ec (en: 'modifier voicing', google translation)
+ - "˭": [T: "aspiroitumattomuusmerkki"] # 0x2ed (en: 'modifier unaspirated', google translation)
+ - "ˮ": [T: "kaksoisheittomerkki"] # 0x2ee (en: 'modifier double apostrophe', google translation)
+ - "˯": [T: "alanuolenpää alas"] # 0x2ef (en: 'modifier low down arrowhead', google translation)
+ - "˰": [T: "alanuolenpää ylös"] # 0x2f0 (en: 'modifier low up arrowhead', google translation)
+ - "˱": [T: "alanuolenpää vasemmalle"] # 0x2f1 (en: 'modifier low left arrowhead', google translation)
+ - "˲": [T: "alanuolenpää oikealle"] # 0x2f2 (en: 'modifier low right arrowhead', google translation)
+ - "˳": [T: "alarengas"] # 0x2f3 (en: 'modifier low ring', google translation)
+ - "˴": [T: "keskitetty gravis"] # 0x2f4 (en: 'modifier middle grave accent', google translation)
+ - "˵": [T: "keskitetty tuplagravis"] # 0x2f5 (en: 'modifier middle double grave accent', google translation)
+ - "˶": [T: "keskitetty akuutti"] # 0x2f6 (en: 'modifier middle double acute accent', google translation)
+ - "˷": [T: "alatilde"] # 0x2f7 (en: 'modifier low tilde', google translation)
+ - "˸": [T: "nostettu kaksoispiste"] # 0x2f8 (en: 'modifier raised colon', google translation)
+ - "˹": [T: "korkea ääni alku"] # 0x2f9 (en: 'modifier begin high tone', google translation)
+ - "˺": [T: "korkea ääni loppu"] # 0x2fa (en: 'modifier end high tone', google translation)
+ - "˻": [T: "matala ääni alku"] # 0x2fb (en: 'modifier begin low tone', google translation)
+ - "˼": [T: "matala ääni loppu"] # 0x2fc (en: 'modifier end low tone', google translation)
+ - "˽": [T: "tarke hylly"] # 0x2fd (en: 'modifier shelf', google translation)
+ - "˾": [T: "tarke avoin hylly"] # 0x2fe (en: 'modifier open shelf', google translation)
+ - "˿": [T: "vasen alanuoli"] # 0x2ff (en: 'modifier low left arrow', google translation)
+ - "̈": [T: "treema"] # 0x308 (en: 'diaeresis embellishment', google: 'diaeresis -koriste')
+ - "̉": [T: "yläkoukku"] # 0x309 (en: 'hook above embellishment', google translation)
+ - "̊": [T: "yläympyrä"] # 0x30a (en: 'ring above embellishment', google: 'rengas koristelun yläpuolella')
+ - "̋": [T: "kakoisakuutti"] # 0x30b (en: 'double acute accent embellishment', google translation)
+ - "̌": [T: "hattu"] # 0x30c (en: 'check', google: 'tarkistaa')
+ - "̍": [T: "yläpuolinen pystyviiva"] # 0x30d (en: 'vertical line above embellishment', google translation)
+ - "̎": [T: "yläpuolinen kaksoispystyviiva"] # 0x30e (en: 'double vertical line above embellishment', google translation)
+ - "̏": [T: "kakoisgravis"] # 0x30f (en: 'double grave accent embellishment', google translation)
+ - "̐": [T: "candrabindu"] # 0x310 (en: 'candrabindu embellishment', google translation)
+ - "̑": [T: "ylösalainen lyhyysmerkki"] # 0x311 (en: 'inverted breve embellishment', google: 'käänteinen breve -koriste')
+ - "̒": [T: "yläpuolinen ylösalainen pilkku"] # 0x312 (en: 'turned comma above embellishment', google translation)
+ - "̓": [T: "yläoikealla oleva pilkku"] # 0x313 (en: 'comma above embellishment', google translation)
+ - "̔": [T: "yläpuolinen peilikuvapilkku"] # 0x314 (en: 'reversed comma above embellishment', google translation)
+ - "̕": [T: "yläpilkku"] # 0x315 (en: 'comma above right embellishment', google translation)
+ - "̖": [T: "alapuolinen gravis"] # 0x316 (en: 'grave accent below embellishment', google translation)
+ - "̗": [T: "alapuolinen akuutti"] # 0x317 (en: 'acute accent below embellishment', google translation)
+ - "̘": [T: "alapuolinen vasemmalle osoittava nupi"] # 0x318 (en: 'left tack below embellishment', google translation)
+ - "̙": [T: "alapuolinen oikealle osoittava nupi"] # 0x319 (en: 'right tack below embellishment', google translation)
+ - "̚": [T: "yläpuolinen vasen kulma"] # 0x31a (en: 'left angle above embellishment', google translation)
+ - "̛": [T: "sarvi"] # 0x31b (en: 'horn embellishment', google translation)
+ - "̜": [T: "alapuolinen vasen ympyränkaari"] # 0x31c (en: 'left half ring below embellishment', google translation)
+ - "̝": [T: "alapuolinen ylös osoittava nupi"] # 0x31d (en: 'up tack below embellishment', google translation)
+ - "̞": [T: "alapuolinen alas osoittava nupi"] # 0x31e (en: 'down tack below embellishment', google translation)
+ - "̟": [T: "alapuolinen plusmerkki"] # 0x31f (en: 'plus sign below embellishment', google translation)
+ - "̠": [T: "alapuolinen miinusmerkki"] # 0x320 (en: 'minus sign below embellishment', google translation)
+ - "̡": [T: "alapuolinen palataalisuuskoukku"] # 0x321 (en: 'palatalized hook below embellishment', google translation)
+ - "̢": [T: "alapuolinen retrofleksisuuskoukku"] # 0x322 (en: 'retroflex hook below embellishment', google translation)
+ - "̣": [T: "alapiste"] # 0x323 (en: 'dot below embellishment', google: 'piste koristelun alapuolella')
+ - "̤": [T: "alatreema"] # 0x324 (en: 'diaeresis below embellishment', google: 'diaeresis koristelun alapuolella')
+ - "̥": [T: "alaympyrä"] # 0x325 (en: 'ring below embellishment', google translation)
+ - "̦": [T: "alapilkku"] # 0x326 (en: 'comma below embellishment', google translation)
+ - "̧": [T: "sedilji"] # 0x327 (en: 'cedilla embellishment', google: 'cedilla -koriste')
+ - "̨": [T: "ogonek"] # 0x328 (en: 'ogonek embellishment', google translation)
+ - "̩": [T: "alapuolinen pystyviiva"] # 0x329 (en: 'vertical line below embellishment', google translation)
+ - "̪": [T: "alapuolinen silta"] # 0x32a (en: 'bridge below embellishment', google translation)
+ - "̫": [T: "alapuolinen ylösalainen kaksoiskaari"] # 0x32b (en: 'inverted double arch below embellishment', google translation)
+ - "̬": [T: "alapuolinen hattu"] # 0x32c (en: 'caron below embellishment', google translation)
+ - "̭": [T: "alapuolinen sirkumfleksi"] # 0x32d (en: 'circumflex accent below embellishment', google translation)
+ - "̮": [T: "alapuolinen lyhyysmerkki"] # 0x32e (en: 'breve below embellishment', google: 'breve koristelun alapuolella')
+ - "̯": [T: "alapuolinen ylösalainen lyhyysmerkki"] # 0x32f (en: 'inverted breve below embellishment', google translation)
+ - "̰": [T: "alatilde"] # 0x330 (en: 'tilde below embellishment', google: 'tilde koristelun alapuolella')
+ - "̱": [T: "alapuolinen pituusmerkki"] # 0x331 (en: 'macron below embellishment', google: 'macron koristelun alapuolella')
+ - "̲": [T: "alaviiva"] # 0x332 (en: 'low line embellishment', google: 'matala linjakoriste')
+ - "̳": [T: "kaksoisalaviiva"] # 0x333 (en: 'double low line embellishment', google translation)
+ - "̴": [T: "tilde päällä"] # 0x334 (en: 'tilde overlay embellishment', google translation)
+ - "̵": [T: "lyhyt yliviivaus"] # 0x335 (en: 'short stroke overlay embellishment', google translation)
+ - "̶": [T: "pitkä yliviivaus"] # 0x336 (en: 'long stroke overlay embellishment', google translation)
+ - "̷": [T: "lyhyt yliviivausvinoviiva"] # 0x337 (en: 'short solidus overlay embellishment', google translation)
+ - "̸": [T: "yliviivausvinoviiva"] # 0x338 (en: 'long solidus overlay embellishment', google: 'pitkä solidus -päällekkäisyys')
+ - "̹": [T: "oikea puolirengas alapuolella"] # 0x339 (en: 'right half ring below embellishment', google translation)
+ - "̺": [T: "käänteinen silta alapuolella"] # 0x33a (en: 'inverted bridge below embellishment', google translation)
+ - "̻": [T: "neliö alapuolella"] # 0x33b (en: 'square below embellishment', google translation)
+ - "̼": [T: "lokki alapuolella"] # 0x33c (en: 'seagull below embellishment', google translation)
+ - "̽": [T: "x yläpuolella"] # 0x33d (en: 'x above embellishment', google translation)
+ - "̾": [T: "pystysuora tilde"] # 0x33e (en: 'vertical tilde embellishment', google translation)
+ - "̿": [T: "kaksinkertainen yliviivaus"] # 0x33f (en: 'double overline embellishment', google translation)
+ - "̀": [T: "gravis"] # 0x340 (en: 'grave tone mark embellishment', google translation)
+ - "́": [T: "akuutti"] # 0x341 (en: 'acute tone mark embellishment', google translation)
+
+ - "ΪΫϏ": # 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: "iso"] # (en: 'cap', google translation)
+ else: [x: "$SpeechOverrides_CapitalLetters"]
+ - pitch:
+ value: "$CapitalLetters_Pitch"
+ replace: [SPELL: "translate('.', 'ΪΫϏ', 'ιυϗ')"]
+ - T: "dialyytikalla" # (en: 'with dialytika', google translation)
+ - "ϊ": [T: "treema-ioota"] # 0x3ca (en: 'iota with dialytika', google translation)
+ - "ϋ": [T: "treema-ypsilon"] # 0x3cb (en: 'upsilon with dialytika', google translation)
+ - "ό": [T: "akuutti-omikron"] # 0x3cc (en: 'omicron with tonos', google translation)
+ - "ύ": [T: "akuutti-ypsilon"] # 0x3cd (en: 'upsilon with tonos', google translation)
+ - "ώ": [T: "akuutti-oomega"] # 0x3ce (en: 'omega with tonos', google translation)
+ - "ϐ": [T: "beeta"] # 0x3d0 (en: 'beta', google: 'beeta')
+ - "ϑ": [T: "theeta"] # 0x3d1 (en: 'theta', google: 'theta')
+ - "ϒ": [T: "ypsilon koukulla"] # 0x3d2 (en: 'upsilon with hook', google: 'upsilon koukkuun')
+ - "ϓ": [T: "upsilon akuutilla ja koukulla"] # 0x3d3 (en: 'upsilon with acute and hook', google translation)
+ - "ϔ": [T: "upsilon treemalla ja koukulla"] # 0x3d4 (en: 'upsilon with diaeresis and hook', google translation)
+ - "ϗ": [T: "kai"] # 0x3d7 (en: 'kai', google: 'kai')
+ - "А-Я": # 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: "iso"] # (en: 'cap', google translation)
+ else: [x: "$SpeechOverrides_CapitalLetters"]
+ - pitch:
+ value: "$CapitalLetters_Pitch"
+ replace: [SPELL: "translate('.', 'АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ', 'абвгдежзийклмнопрстуфхцчшщъыьэюя')"]
+ - "а": [T: "a"] # 0x430 (google: 'а')
+ - "б": [T: "bee"] # 0x431 (google: 'olla')
+ - "в": [T: "vee"] # 0x432
+ - "г": [T: "gee"] # 0x433
+ - "д": [T: "dee"] # 0x434
+ - "е": [T: "jee"] # 0x435 (google: 'eli')
+ - "ж": [T: "tzee"] # 0x436
+ - "з": [T: "zee"] # 0x437
+ - "и": [T: "i"] # 0x438 (google: 'и')
+ - "й": [T: "lyhyt i"] # 0x439 (en: 'short i')
+ - "к": [T: "kaa"] # 0x43a
+ - "л": [T: "el"] # 0x43b
+ - "м": [T: "em"] # 0x43c
+ - "н": [T: "en"] # 0x43d (google: 'fi')
+ - "о": [T: "o"] # 0x43e (google: 'о')
+ - "п": [T: "pee"] # 0x43f
+ - "р": [T: "er"] # 0x440
+ - "с": [T: "es"] # 0x441
+ - "т": [T: "tee"] # 0x442
+ - "у": [T: "u"] # 0x443 (google: 'у')
+ - "ф": [T: "ef"] # 0x444
+ - "х": [T: "haa"] # 0x445
+ - "ц": [T: "tsee"] # 0x446
+ - "ч": [T: "tshee"] # 0x447
+ - "ш": [T: "shaa"] # 0x448
+ - "щ": [T: "shtshaa"] # 0x449
+ - "ъ": [T: "kova merkki"] # 0x44a (en: 'hard sign')
+ - "ы": [T: "jeru"] # 0x44b
+ - "ь": [T: "pehmeä merkki"] # 0x44c (en: 'soft sign')
+ - "э": [T: "käänteis-e"] # 0x44d (google: 'э')
+ - "ю": [T: "juu"] # 0x44e
+ - "я": [T: "jaa"] # 0x44f
+ - "‐": [T: "tavuviiva"] # 0x2010 (en: 'hyphen', google: 'tavuviiva')
+ - "‑": [T: "tavuviiva"] # 0x2011 (en: 'hyphen', google translation)
+ - "‒": [T: "numerotavuviiva"] # 0x2012 (en: 'figure dash', google translation)
+ - "–": [T: "lyhyt ajatusviiva"] # 0x2013 (en: 'en dash', google: 'fi dash')
+ - "—": [T: "pitkä ajatusviiva"] # 0x2014 (en: 'em dash', google: 'em dash')
+ - "‖": [T: "kaksinkertainen pystyviiva"] # 0x2016 (en: 'double vertical line', google: 'kaksinkertainen pystysuora viiva')
+ - "†": [T: "risti"] # 0x2020 (en: 'dagger', google: 'tikari')
+ - "‡": [T: "kaksoisristi"] # 0x2021 (en: 'double dagger', google: 'kaksinkertainen tikari')
+
+ - "•": # 0x2022
+ - test:
+ if: "@data-chem-formula-op"
+ then: [T: "piste"] # (en: 'dot', google translation)
+ else: [T: "luetelmapallo"] # (en: 'bullet', google: 'luoti')
+
+ - "‰": [T: "promille"] # 0x2030 (en: 'per mille', google: 'per milli')
+ - "‱": [T: "kymmenestuhannesosa"] # 0x2031 (en: 'per ten thousand', google: 'kymmenentuhatta')
+ - "‵": [T: "käänteinen priimi"] # 0x2035 (en: 'reversed prime', google: 'kääntynyt pääministeri') # FI: "käänteinen pilkku" and for the next ones
+ - "‶": [T: "käänteinen kaskoispriimi"] # 0x2036 (en: 'reversed double prime', google: 'kääntynyt kaksinkertainen prime')
+ - "‷": [T: "käänteinen kolmoispriimi"] # 0x2037 (en: 'reversed triple prime', google translation)
+ - "‸": [T: "lisäys"] # 0x2038
+ - "‹": [T: "vasemmalle osoittava kulmapuolilainaus"] # 0x2039 (en: 'single left pointing angle quote mark', google: 'yksi vasen piste -kulman lainausmerkki')
+ - "›": [T: "oikealle osoittava kulmapuolilainaus"] # 0x203a (en: 'single right pointing angle quote mark', google: 'yksi oikea osoituskulma lainausmerkki')
+ - "‼": [T: "kaksoiskertoma"] # 0x203c (en: 'double factorial', google translation)
+ - "⁄": [T: "murtoluvun vinoviiva"] # 0x2044 (en: 'divided by', google: 'jaettuna') # FI: check how this works in a sentence
+ - "⁅": [T: "piikillinen alkuhakasulku"] # 0x2045 (en: 'left square bracket with quill', google translation)
+ - "⁆": [T: "piikillinen loppuhakasulku"] # 0x2046 (en: 'right square bracket with quill', google translation)
+ - "⁗": [T: "neloispriimi"] # 0x2057 (en: 'quadruple prime', google: 'neljänneksen prime') # FI: maybe "pilkku pilkku pilkku pilkku"
+ - "": [T: "rivinvaihdon esto"] # 0x2060
+ - "⁰": [T: "potenssiin nolla"] # 0x2070 (en: 'to the zeroth power', google translation)
+ - "ⁱ": [T: "potenssiin i"] # 0x2071 (en: 'to the eihth power', google translation)
+ - "⁴": [T: "potenssiin neljä"] # 0x2074 (en: 'to the fourth power', google translation)
+ - "⁵": [T: "potenssiin viisi"] # 0x2075 (en: 'to the fifth power', google translation)
+ - "⁶": [T: "potenssiin kuusi"] # 0x2076 (en: 'to the sixth power', google translation)
+ - "⁷": [T: "potenssiin seitsemän"] # 0x2077 (en: 'to the seventh power', google translation)
+ - "⁸": [T: "potenssiin kahdeksan"] # 0x2078 (en: 'to the eighth power', google translation)
+ - "⁹": [T: "potenssiin yhdeksän"] # 0x2079 (en: 'to the ninth power', google translation)
+ - "⁺": [T: "yläindeksi plus"] # 0x207a (en: 'superscript plus sign', google translation)
+ - "⁻": [T: "yläindeksi miinus"] # 0x207b (en: 'superscript minus', google translation)
+ - "⁼": [T: "yläindeksi on yhtä suuri kuin"] # 0x207c (en: 'superscript equals sign', google translation)
+ - "⁽": [T: "yläindeksi vasen sulku"] # 0x207d (en: 'superscript left parenthesis', google translation)
+ - "⁾": [T: "yläindeksi oikea sulku"] # 0x207e (en: 'superscript right parenthesis', google translation)
+ - "ⁿ": [T: "potenssiin n"] # 0x207f (en: 'to the ennth power', google translation)
+ - "₀": [T: "alaindeksi nolla"] # 0x2080 (en: 'sub zero', google translation)
+ - "₁": [T: "alaindeksi yksi"] # 0x2081 (en: 'sub one', google translation)
+ - "₂": [T: "alaindeksi kaksi"] # 0x2082 (en: 'sub two', google translation)
+ - "₃": [T: "alaindeksi kolme"] # 0x2083 (en: 'sub three', google translation)
+ - "₄": [T: "alaindeksi neljä"] # 0x2084 (en: 'sub four', google translation)
+ - "₅": [T: "alaindeksi viisi"] # 0x2085 (google translation)
+ - "₆": [T: "alaindeksi kuusi"] # 0x2086 (google translation)
+ - "₇": [T: "alaindeksi seitsemän"] # 0x2087 (en: 'sub seven', google translation)
+ - "₈": [T: "alaindeksi kahdeksan"] # 0x2088 (en: 'sub eight', google translation)
+ - "₉": [T: "alaindeksi yhdeksän"] # 0x2089 (en: 'sub nine', google translation)
+ - "₊": [T: "alaindeksi plus"] # 0x208a (en: 'subscript plus sign', google translation)
+ - "₋": [T: "alaindeksi miinus"] # 0x208b (en: 'subscript minus sign', google translation)
+ - "₌": [T: "alaindeksi on yhtä suuri kuin"] # 0x208c (en: 'subscript equals sign', google translation)
+ - "₍": [T: "alaindeksi vasen sulku"] # 0x208d (en: 'subscript left parenthesis', google translation)
+ - "₎": [T: "alaindeksi oikea sulku"] # 0x208e (en: 'subscript right parenthesis', google translation)
+ - "ₐ": [T: "alaindeksi a"] # 0x2090 (en: 'sub A', google translation)
+ - "ₑ": [T: "alaindeksi e"] # 0x2091 (en: 'sub E', google translation)
+ - "ₒ": [T: "alaindeksi o"] # 0x2092 (en: 'sub O', google translation)
+ - "ₓ": [T: "alaindeksi x"] # 0x2093 (en: 'sub X', google translation)
+ - "ₕ": [T: "alaindeksi h"] # 0x2095 (en: 'sub H', google translation)
+ - "ₖ": [T: "alaindeksi k"] # 0x2096 (en: 'sub K', google translation)
+ - "ₗ": [T: "alaindeksi l"] # 0x2097 (en: 'sub L', google translation)
+ - "ₘ": [T: "alaindeksi m"] # 0x2098 (en: 'sub M', google translation)
+ - "ₙ": [T: "alaindeksi n"] # 0x2099 (en: 'sub N', google translation)
+ - "ₚ": [T: "alaindeksi p"] # 0x209a (en: 'sub P', google translation)
+ - "ₛ": [T: "alaindeksi s"] # 0x209b (en: 'sub S', google translation)
+ - "ₜ": [T: "alaindeksi t"] # 0x209c (en: 'sub T', google translation)
+ - "₠": [T: "eurooppalaiset valuuttayksiköt"] # 0x20a0 (en: 'european currenty units', google translation)
+ - "₡": [T: "colonia"] # 0x20a1 (en: 'colons', google: 'colons')
+ - "₢": [T: "cruzeiroa"] # 0x20a2 (en: 'cruzeiro', google: 'cruzeiro')
+ - "₣": [T: "frangia"] # 0x20a3 (en: 'franc', google: 'frangi')
+ - "₤": [T: "liiraa"] # 0x20a4 (en: 'lira', google: 'liira')
+ - "₥": [T: "milliä"] # 0x20a5 (en: 'mills', google: 'myllyt')
+ - "₦": [T: "nairaa"] # 0x20a6 (en: 'naira', google: 'naira')
+ - "₧": [T: "pesetaa"] # 0x20a7 (en: 'peseta', google: 'peseta')
+ - "₨": [T: "rupiaa"] # 0x20a8 (en: 'rupees', google: 'rupia')
+ - "₩": [T: "wonia"] # 0x20a9 (en: 'won', google: 'voitti')
+ - "₪": [T: "sekeliä"] # 0x20aa (en: 'new sheqels', google: 'uudet sheqels')
+ - "₫": [T: "dongia"] # 0x20ab (en: 'dong', google: 'dong')
+ - "€": [T: "euroa"] # 0x20ac (en: 'euros', google: 'eurot')
+ - "₭": [T: "kipia"] # 0x20ad (en: 'kip', google: 'kip')
+ - "₮": [T: "tugrikia"] # 0x20ae (en: 'tugrik', google: 'tugrik')
+ - "₯": [T: "drakhmaa"] # 0x20af (en: 'drachma', google: 'drachma')
+ - "₰": [T: "pfennigiä"] # 0x20b0 (en: 'german pennies', google: 'saksalaiset penniä')
+ - "₱": [T: "pesoa"] # 0x20b1 (en: 'pesos', google: 'pesot')
+ - "₲": [T: "guarania"] # 0x20b2 (en: 'guaranis', google: 'guaranis')
+ - "₳": [T: "australia"] # 0x20b3 (en: 'australs', google: 'itävaltait')
+ - "₴": [T: "hryvniaa"] # 0x20b4 (en: 'hryvnias', google: 'hryvnias')
+ - "₵": [T: "cediä"] # 0x20b5 (en: 'cedis', google: 'cedis')
+ - "₶": [T: "Toursin livreä"] # 0x20b6 (google translation)
+ - "₷": [T: "spesmiloa"] # 0x20b7 (google translation)
+ - "₸": [T: "tengeä"] # 0x20b8 (google translation)
+ - "₹": [T: "intialainen rupiaa"] # 0x20b9 (en: 'indian rupees', google translation)
+ - "₺": [T: "turkin liiraa"] # 0x20ba (en: 'turkish liras', google translation)
+ - "⃐": [T: "vasemmalle suuntautuva harppuuna"] # 0x20d0 (en: 'left harpoon above embellishment', google: 'vasen harppuon koristelun yläpuolella')
+ - "⃑": [T: "oikealle suuntautuva harppuuna"] # 0x20d1 (en: 'right harpoon above embellishment', google: 'oikea harppuuna koristelun yläpuolella')
+ - "⃒": [T: "pitkä yliviivauspystyviiva"] # 0x20d2 (en: 'long vertical line overlay embellishment', google translation)
+ - "⃓": [T: "lyhyt yliviivauspystyviiva"] # 0x20d3 (en: 'short vertical line overlay embellishment', google translation)
+ - "⃔": [T: "vastapäiväinen ylänuoli"] # 0x20d4 (en: 'anticlockwise arrow above embellishment', google translation)
+ - "⃕": [T: "myötäpäiväinen ylänuoli"] # 0x20d5 (en: 'clockwise arrow above embellishment', google translation)
+ - "⃖": [T: "vasemmalle suuntautuva nuoli"] # 0x20d6 (en: 'left arrow above embellishment', google: 'vasen nuoli koristelun yläpuolella')
+ - "⃗": [T: "oikealle suuntautuva nuoli"] # 0x20d7 (en: 'right arrow above embellishment', google: 'oikea nuoli koristelun yläpuolella')
+ - "⃘": [T: "rengas päällä"] # 0x20d8 (en: 'ring overlay embellishment', google translation)
+ - "⃙": [T: "rengas myötäpäivään päällä"] # 0x20d9 (en: 'clockwise ring overlay embellishment', google translation)
+ - "⃚": [T: "rengas vastapäivään päällä"] # 0x20da (en: 'anticlockwise ring overlay embellishment', google translation)
+ - "⃛": [T: "kolmoispiste"] # 0x20db (en: 'triple dot', google: 'kolminkertainen piste')
+ - "⃜": [T: "nelinkertainen piste"] # 0x20dc (en: 'quadruple dot', google: 'nelinkertainen piste')
+ - "⃝": [T: "sulkeva ympyrä"] # 0x20dd (en: 'enclosing circle embellishment', google translation)
+ - "⃞": [T: "sulkeva neliö"] # 0x20de (en: 'enclosing square embellishment', google translation)
+ - "⃟": [T: "sulkeva timantti"] # 0x20df (en: 'enclosing diamond embellishment', google translation)
+ - "⃠": [T: "sulkeva ympyrä kenoviivalla"] # 0x20e0 (en: 'enclosing circle backslash embellishment', google translation)
+ - "⃡": [T: "ylänuoli oikealle ja vasemmalle"] # 0x20e1 (en: 'left right arrow above embellishment', google: 'vasen oikea nuoli koristelun yläpuolella')
+ - "⃢": [T: "sulkeva ruutu"] # 0x20e2 (en: 'enclosing screen embellishment', google translation)
+ - "⃣": [T: "sulkeva näppäin"] # 0x20e3 (en: 'enclosing keycap embellishment', google translation)
+ - "⃤": [T: "sulkeva kolmio ylöspäin"] # 0x20e4 (en: 'enclosing upward pointing triangle embellishment', google translation)
+ - "⃥": [T: "kenoviiva päällä"] # 0x20e5 (en: 'reverse solidus overlay embellishment', google translation)
+ - "⃦": [T: "kaksinkertainen vaakaviiva päällä"] # 0x20e6 (en: 'double verticle stroke embellishment', google translation)
+ - "⃧": [T: "annuiteettisymboli"] # 0x20e7 (en: 'annuity symbol embellishment', google translation)
+ - "⃨": [T: "kolminkertainen alapiste"] # 0x20e8 (en: 'triple underdot', google translation)
+ - "⃩": [T: "leveä silta yläpuolella"] # 0x20e9 (en: 'wide bridge above embellishment', google translation)
+ - "⃪": [T: "vasen nuoli päällä"] # 0x20ea (en: 'leftwards arrow overlay embellishment', google translation)
+ - "⃫": [T: "pitkä kaksinkertainen vinoviiva päällä"] # 0x20eb (en: 'long double solidus overlay embellishment', google translation)
+ - "⃬": [T: "oikea alaharppuuna piikillä"] # 0x20ec (en: 'rightwards harpoon with barb downwards embellishment', google translation)
+ - "⃭": [T: "vasen alaharppuuna piikillä"] # 0x20ed (en: 'leftwards harpoon with barb downwards embellishment', google translation)
+ - "⃮": [T: "vasen alanuoli"] # 0x20ee (en: 'left arrow below embellishment', google translation)
+ - "⃯": [T: "oikea alanuoli"] # 0x20ef (en: 'right arrow below embellishment', google translation)
+ - "⃰": [T: "yläpuolinen asteriski"] # 0x20f0 (en: 'asterisk above embellishment', google translation)
+ - "℄": [T: "keskiviivasymboli"] # 0x2104 (en: 'center line symbol', google translation)
+ - "℅": [T: "C O"] # 0x2105 (google: 'hoito')
+ - "℆": [T: "C U"] # 0x2106 (google translation)
+ - "ℇ": [T: "eulerin vakio"] # 0x2107 (en: 'euler's constant', google: 'eulerin jatkuva') # FI: more German pronunciation?
+ - "℈": [T: "scruple"] # 0x2108 (en: 'scruples', google translation)
+ - "℉": [T: "astetta fahrenheitia"] # 0x2109 (en: 'degrees fahrenheit', google: 'fahrenheit-astetta') # FI: more German pronunciation?
+ - "ℊ": [T: "pieni g"] # 0x210a (en: 'script g', google: 'käsikirjoitus g')
+ - "ℌℑℨℭ": # 0x210c, 0x2111, 0x2128, 0x212d
+ - T: "fraktuura" # (en: 'fraktur', google: 'fraktur')
+ - SPELL: "translate('.', 'ℌℑℨℭ', 'HIZC')"
+
+ - "ℍℙℾℿ": # 0x210d, 0x2119, 0x213e, 0x213f
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "kaksiviivainen"] # (en: 'double struck', google translation)
+ - SPELL: "translate('.', 'ℍℙℾℿ', 'HPΓΠ')"
+
+ - "ℎ": [T: "planckin vakio"] # 0x210e (en: 'planck constant', google: 'planck constant')
+ - "ℏ": # 0x210f
+ - test:
+ if: "($Verbosity='Terse')"
+ then: [T: "h viiva"] # (google translation)
+ else: [T: "redusoitu Planckin vakio"] # (en: 'reduced planck constant', google: 'vähentynyt planck -vakio')
+
+ - "ℐℒ℘ℬℰℱℳ": # 0x2110, 0x2112, 0x2118, 0x2130, 0x2131, 0x2133
+ - T: "kauno" # (en: 'script', google: 'käsikirjoitus')
+ - SPELL: "translate('.', 'ℐℒ℘ℬℰℱℳ', 'ILPBEFM')"
+
+ - "℔": [T: "paunaa"] # 0x2114 (en: 'pounds', google translation)
+ - "№": [T: "numero"] # 0x2116 (en: 'number', google: 'määrä')
+ - "℥": [T: "unssia"] # 0x2125 (en: 'ounces', google: 'unssi')
+ - "Ω": [T: "ohmia"] # 0x2126 (en: 'ohms', google: 'ohmit')
+ - "℧": [T: "käännetty ohmi"] # 0x2127 (en: 'mhos', google: 'mhos')
+ - "℩": [T: "käännetty ioota"] # 0x2129 (en: 'turned iota', google: 'kääntyi iota')
+ - "Å": [T: "ångströmiä"] # 0x212b (en: 'angstroms', google: 'angstroms')
+ - "ℯ": [T: "kauno e"] # 0x212f (en: 'script e', google: 'käsikirjoitus e')
+
+ # coalesced some chars that use cap letters
+ - "Ⅎ℺⅁⅂⅃⅄": # 0x2132, 0x213a, 0x2141, 0x2142, 0x2143, 0x2144
+ - test:
+ - if: "'.' = '℺'"
+ then: [T: "kierretty"] # (en: 'rotated', google translation)
+ - else_if: "'.' = 'Ⅎ'"
+ then: [T: "käännetty"] # (en: 'turned', google translation)
+ - else_if: "'.' = '⅃'"
+ then: [T: "kääntynyt sans-serif"] # (en: 'reversed sans-serif', google translation)
+ else: [T: "käännetty sans-serif"] # (en: 'turned sans-serif', google: 'kääntyi sans-serif')
+ - SPELL: "translate('.', 'Ⅎ℺⅁⅂⅃⅄', 'FQGLLY')"
+
+ - "ℴ": [T: "kauno o"] # 0x2134 (en: 'script o', google: 'käsikirjoitus o')
+ - "ℵ": [T: "alef"] # 0x2135 (en: 'first transfinite cardinal', google: 'ensimmäinen transfinite kardinaali')
+ - "ℶ": [T: "bet"] # 0x2136 (en: 'second transfinite cardinal', google: 'toinen transfinite kardinaali')
+ - "ℷ": [T: "gimel"] # 0x2137 (en: 'third transfinite cardinal', google: 'kolmas transfinite kardinaali')
+ - "ℸ": [T: "dalet"] # 0x2138 (en: 'fourth transfinite cardinal', google: 'neljäs transfinite kardinaali')
+ - "ℼ": [T: "kaksoisviivainen pii"] # 0x213c (en: 'double struck pi', google translation)
+ - "ℽ": [T: "kaksoisviivainen gamma"] # 0x213d (en: 'double struck gamma', google translation)
+ - "⅀": [T: "kaksoisviivainen sigma"] # 0x2140 (en: 'double struck n-ary summation', google translation)
+ - "⅋": [T: "käännetty et-merkki"] # 0x214b (en: 'turned ampersand', google translation)
+ - "⅌": [T: "per"] # 0x214c (google translation)
+ - "ⅎ": [T: "käännetty F"] # 0x214e (en: 'turned F', google translation)
+ - "⅐": [T: "yksi seitsemäsosa"] # 0x2150 (en: 'one seventh', google translation)
+ - "⅑": [T: "yksi yhdeksäsosa"] # 0x2151 (en: 'one ninth', google translation)
+ - "⅒": [T: "yksi kymmenesosa"] # 0x2152 (en: 'one tenth', google translation)
+ - "⅓": [T: "yksi kolmasosa"] # 0x2153 (en: 'one third', google: 'kolmasosa')
+ - "⅔": [T: "kaksi kolmasosaa"] # 0x2154 (en: 'two thirds')
+ - "⅕": [T: "yksi viidesosa"] # 0x2155 (en: 'one fifth', google: 'viidesosa')
+ - "⅖": [T: "kaksi viidesosaa"] # 0x2156 (en: 'two fifths')
+ - "⅗": [T: "kolme viidesosaa"] # 0x2157 (en: 'three fifths')
+ - "⅘": [T: "neljä viidesosaa"] # 0x2158 (en: 'four fifths')
+ - "⅙": [T: "yksi kuudesosa"] # 0x2159 (en: 'one sixth', google: 'kuudesosa')
+ - "⅚": [T: "viisi kuudesosaa"] # 0x215a (en: 'five sixths')
+ - "⅛": [T: "yksi kahdeksasosa"] # 0x215b (en: 'one eighth', google: 'yksi ath')
+ - "⅜": [T: "kolme kahdeksasosaa"] # 0x215c (en: 'three eighths', google: 'kolme aths')
+ - "⅝": [T: "viisi kahdeksasosaa"] # 0x215d (en: 'five eighths', google: 'viisi aths')
+ - "⅞": [T: "seitsemän kahdeksasosaa"] # 0x215e (en: 'seven eighths', google: 'seitsemän aths')
+ - "⅟": [T: "yksi per"] # 0x215f (en: 'one over', google translation)
+ - "Ⅰ": [T: "I"] # 0x2160 (en: 'I', google translation)
+ - "Ⅱ": [T: "I I"] # 0x2161 (en: 'I I', google translation)
+ - "Ⅲ": [T: "I I I"] # 0x2162 (en: 'I I I', google translation)
+ - "Ⅳ": [T: "I V"] # 0x2163 (en: 'I V', google translation)
+ - "Ⅴ": [T: "V"] # 0x2164 (en: 'V', google translation)
+ - "Ⅵ": [T: "V I"] # 0x2165 (en: 'V I', google translation)
+ - "Ⅶ": [T: "V I I"] # 0x2166 (en: 'V I I', google translation)
+ - "Ⅷ": [T: "V I I I"] # 0x2167 (en: 'V I I I', google translation)
+ - "Ⅸ": [T: "I X"] # 0x2168 (en: 'I X', google translation)
+ - "Ⅹ": [T: "X"] # 0x2169 (en: 'X', google translation)
+ - "Ⅺ": [T: "X I"] # 0x216a (en: 'X I', google translation)
+ - "Ⅻ": [T: "X I I"] # 0x216b (en: 'X I I', google translation)
+ - "Ⅼ": [T: "L"] # 0x216c (en: 'L', google translation)
+ - "Ⅽ": [T: "C"] # 0x216d (en: 'C', google translation)
+ - "Ⅾ": [T: "D"] # 0x216e (en: 'D', google translation)
+ - "Ⅿ": [T: "M"] # 0x216f (en: 'M', google translation)
+ - "ⅰ": [T: "i"] # 0x2170 (en: 'I', google translation)
+ - "ⅱ": [T: "i i"] # 0x2171 (en: 'I I', google translation)
+ - "ⅲ": [T: "i i i"] # 0x2172 (en: 'I I I', google translation)
+ - "ⅳ": [T: "i v"] # 0x2173 (en: 'I V', google translation)
+ - "ⅴ": [T: "ⅴ"] # 0x2174 (en: 'V', google translation)
+ - "ⅵ": [T: "v i"] # 0x2175 (en: 'V I', google translation)
+ - "ⅶ": [T: "v i i"] # 0x2176 (en: 'V I I', google translation)
+ - "ⅷ": [T: "v i i i"] # 0x2177 (en: 'V I I I', google translation)
+ - "ⅸ": [T: "i x"] # 0x2178 (en: 'I X', google translation)
+ - "ⅹ": [T: "ⅹ"] # 0x2179 (en: 'X', google translation)
+ - "ⅺ": [T: "x i"] # 0x217a (en: 'X I', google translation)
+ - "ⅻ": [T: "x i i"] # 0x217b (en: 'X I I', google translation)
+ - "ⅼ": [T: "ⅼ"] # 0x217c (en: 'L', google translation)
+ - "ⅽ": [T: "ⅽ"] # 0x217d (en: 'C', google translation)
+ - "ⅾ": [T: "ⅾ"] # 0x217e (en: 'D', google translation)
+ - "ⅿ": [T: "ⅿ"] # 0x217f (en: 'M', google translation)
+ - "↉": [T: "nolla kolmasosaa"] # 0x2189 (en: 'zero thirds', google translation)
+ - "←": [T: "nuoli vasemmalle"] # 0x2190 (en: 'leftwards arrow', google: 'vasen nuoli')
+ - "↑": [T: "nuoli ylös"] # 0x2191 (en: 'upwards arrow', google: 'ylöspäin nuoli')
+ - "↓": [T: "nuoli alas"] # 0x2193 (en: 'downwards arrow', google: 'alaspäin nuoli')
+ - "↔": [T: "nuoli vasemmalle ja oikealle"] # 0x2194 (en: 'left right arrow', google: 'vasen oikea nuoli')
+ - "↕": [T: "nuoli ylös ja alas"] # 0x2195 (en: 'up down arrow', google: 'ylöspäin nuoli')
+ - "↖": [T: "luoteeseen osoittava nuoli"] # 0x2196 (en: 'north west arrow', google: 'luoteis -nuoli')
+ - "↗": # 0x2197
+ - test:
+ if: "ancestor::*[2][self::m:limit]"
+ then: [T: "lähestyy alhaalta"] # (en: 'approaches from below', google translation)
+ else: [T: "koilliseen osoittava nuoli"] # (en: 'north east arrow', google: 'koillis -nuoli')
+
+ - "↘": # 0x2198
+ - test:
+ if: "ancestor::*[2][self::m:limit]"
+ then: [T: "lähestyy ylhäältä"] # (en: 'approaches from above', google translation)
+ else: [T: "kaakkoon osoittava nuoli"] # (en: 'south east arrow', google: 'kaakkois -nuoli')
+
+ - "↙": [T: "lounaaseen osoittava nuoli"] # 0x2199 (en: 'south west arrow', google: 'lounais -nuoli')
+ - "↚": [T: "nuoli vasemmalle poikkiviivalla"] # 0x219a (en: 'leftwards arrow with stroke', google: 'vasen nuoli aivohalvauksella')
+ - "↛": [T: "nuoli oikealle poikkiviivalla"] # 0x219b (en: 'rightwards arrow with stroke', google: 'oikealla nuolella aivohalvauksella')
+ - "↜": [T: "aaltonuoli vasemmalle"] # 0x219c (en: 'leftwards wave arrow', google: 'vasen aalto nuoli')
+ - "↝": [T: "aaltonuoli oikealle"] # 0x219d (en: 'rightwards wave arrow', google: 'oikealla aalto nuoli')
+ - "↞": [T: "kaksipäinen nuoli vasemmalle"] # 0x219e (en: 'leftwards two headed arrow', google: 'vasen kaksi päätä nuoli')
+ - "↟": [T: "kaksipäinen nuoli ylös"] # 0x219f (en: 'upwards two headed arrow', google: 'ylöspäin kaksi pääistä nuolta')
+ - "↠": [T: "kaksipäinen nuoli oikealle"] # 0x21a0 (en: 'rightwards two headed arrow', google: 'oikealle kaksi pääistä nuolta')
+ - "↡": [T: "kaksipäinen nuoli alas"] # 0x21a1 (en: 'downwards two headed arrow', google: 'alaspäin kaksi päätä nuolta')
+ - "↢": [T: "vasen nuoli pyrstöllä"] # 0x21a2 (en: 'leftwards arrow with tail', google: 'vasen nuoli hännän kanssa')
+ - "↣": [T: "oikea nuoli pyrstöllä"] # 0x21a3 (en: 'rightwards arrow with tail', google: 'oikealla nuolella hännän kanssa')
+ - "↤": [T: "vasen nuoli palkista"] # 0x21a4 (en: 'leftwards arrow from bar', google: 'vasen nuoli baarista')
+ - "↥": [T: "ylöspäin osoittava nuoli palkista"] # 0x21a5 (en: 'upwards arrow from bar', google: 'nuoli ylöspäin baarista')
+ - "↦": [T: "oikea nuoli palkista"] # 0x21a6 (en: 'rightwards arrow from bar', google: 'oikein nuoli baarista')
+ - "↧": [T: "alaspäin osoittava nuoli palkista"] # 0x21a7 (en: 'downwards arrow from bar', google: 'alaspäin nuoli baarista')
+ - "↨": [T: "ylös ja alas osoittava nuoli palkista"] # 0x21a8 (en: 'up down arrow with base', google: 'ylös nuoli pohjassa')
+ - "↩": [T: "vasen nuoli koukulla"] # 0x21a9 (en: 'leftwards arrow with hook', google: 'vasen nuoli koukussa')
+ - "↪": [T: "oikea nuoli koukulla"] # 0x21aa (en: 'rightwards arrow with hook', google: 'oikealla nuolella koukkulla')
+ - "↫": [T: "vasen nuoli silmukalla"] # 0x21ab (en: 'leftwards arrow with loop', google: 'vasen nuoli silmukka')
+ - "↬": [T: "oikea nuoli silmukalla"] # 0x21ac (en: 'rightwards arrow with loop', google: 'oikea nuoli silmukka')
+ - "↭": [T: "aaltonuoli oikealle ja vasemmalle"] # 0x21ad (en: 'left right wave arrow', google: 'vasen oikea aalto nuoli')
+ - "↮": [T: "nuoli oikealle ja vasemmalle poikkiviivalla"] # 0x21ae (en: 'left right arrow with stroke', google: 'vasen oikea nuoli aivohalvauksella')
+ - "↯": [T: "siksaknuoli alas"] # 0x21af (en: 'downwards zigzag arrow', google: 'alaspäin zigzag -nuoli')
+ - "↰": [T: "nuoli ylös ja kärki vasemmalle"] # 0x21b0 (en: 'upwards arrow with tip leftwards', google: 'ylöspäin nuoli vasemmalla kärkillä')
+ - "↱": [T: "nuoli ylös ja kärki oikealle"] # 0x21b1 (en: 'upwards arrow with tip rightwards', google: 'ylöspäin nuoli, joka on kärki oikealla')
+ - "↲": [T: "nuoli alas ja kärki vasemmalle"] # 0x21b2 (en: 'downwards arrow with tip leftwards', google: 'alaspäin nuoli vasemmalla kärkillä')
+ - "↳": [T: "nuoli alas ja kärki oikealle"] # 0x21b3 (en: 'downwards arrow with tip rightwards', google: 'alaspäin nuoli kärjen oikealla puolella')
+ - "↴": [T: "nuoli oikealle ja kulma alas"] # 0x21b4 (en: 'rightwards arrow with corner downwards', google: 'oikealla nuolella nurkkaan alaspäin')
+ - "↵": [T: "nuoli alas ja kulma oikealle"] # 0x21b5 (en: 'downwards arrow with corner leftwards', google: 'alaspäin nuoli vasemmalla kulmassa')
+ - "↶": [T: "yläpuoliympyränuoli vastapäivään"] # 0x21b6 (en: 'anticlockwise top semicircle arrow', google: 'vastapäivään puolipyöriin nuoli')
+ - "↷": [T: "yläpuoliympyränuoli myötäpäivään"] # 0x21b7 (en: 'clockwise top semicircle arrow', google: 'myötäpäivään puolipyöriin nuoli')
+ - "↸": [T: "nuoli ylävasemmalle pitkään viivaan"] # 0x21b8 (en: 'north west arrow to long bar', google: 'luoteis -nuoli pitkään baariin')
+ - "↹": [T: "nuoli oikealle ja vasemmalle palkkiin"] # 0x21b9 (en: 'leftwards arrow to bar over rightwards arrow to bar', google: 'vasen nuoli baariin oikeanpuoleisen nuolen yli baariin')
+ - "↺": [T: "vastapäiväinen avoimen ympyrän nuoli"] # 0x21ba (en: 'anticlockwise open circle arrow', google: 'vastapäivään avoin ympyrä nuoli')
+ - "↻": [T: "myötäpäiväinen avoimen ympyrän nuoli"] # 0x21bb (en: 'clockwise open circle arrow', google: 'myötäpäivään avoin ympyrä nuoli')
+ - "↼": [T: "puolinuoli vasemmalle väkä ylös"] # 0x21bc (en: 'left harpoon up', google: 'vasen harppuon ylös')
+ - "↽": [T: "puolinuoli vasemmalle väkä alas"] # 0x21bd (en: 'left harpoon down', google: 'vasen harppuon alas')
+ - "↾": [T: "puolinuoli ylös väkä oikealle"] # 0x21be (en: 'up harpoon right', google: 'up harpoon oikeassa')
+ - "↿": [T: "puolinuoli ylös väkä vasemmalle"] # 0x21bf (en: 'up harpoon left', google: 'up harpoon vasemmalle')
+ - "⇀": [T: "puolinuoli oikealle väkä ylös"] # 0x21c0 (en: 'right harpoon up', google: 'oikea harppuun')
+ - "⇁": [T: "puolinuoli oikealle väkä alas"] # 0x21c1 (en: 'right harpoon down', google: 'oikea harppuuna alas')
+ - "⇂": [T: "puolinuoli alas väkä oikealle"] # 0x21c2 (en: 'down harpoon right', google: 'alas harppuon oikealla')
+ - "⇃": [T: "puolinuoli alas väkä vasemmalle"] # 0x21c3 (en: 'down harpoon left', google: 'alas harppuun vasemmalle')
+ - "⇄": [T: "oikealle ja vasemmalle osoittavien nuolien pari"] # 0x21c4 (en: 'rightwards arrow over leftwards arrow', google: 'oikealla nuolella vasemmanpuoleisen nuolen yli')
+ - "⇅": [T: "ylös ja alas osoittavien nuolien pari"] # 0x21c5 (en: 'upwards arrow leftwards of downwards arrow', google: 'ylöspäin nuoli vasemmalle alaspäin nuolesta')
+ - "⇆": [T: "vasemmalle ja oikealle osoittavien nuolien pari"] # 0x21c6 (en: 'leftwards arrow over rightwards arrow', google: 'vasen nuoli oikealla nuolella')
+ - "⇇": [T: "nuolipari vasemmalle"] # 0x21c7 (en: 'leftwards paired arrows', google: 'vasen parit nuolet')
+ - "⇈": [T: "nuolipari ylös"] # 0x21c8 (en: 'upwards paired arrows', google: 'ylöspäin parilliset nuolet')
+ - "⇉": [T: "nuolipari oikealle"] # 0x21c9 (en: 'rightwards paired arrows', google: 'oikealla puolella nuolet')
+ - "⇊": [T: "nuolipari alas"] # 0x21ca (en: 'downwards paired arrows', google: 'alaspäin parit nuolet')
+ - "⇋": [T: "puolinuolipari vasemmalle ja oikealle"] # 0x21cb (en: 'left harpoon over right harpoon', google: 'vasen harpoon oikean harppuunin yli')
+ - "⇌": [T: "puolinuolipari oikealle ja vasemmalle"] # 0x21cc (en: 'right harpoon over left harpoon', google: 'oikea harppuuna vasemman harppuunin yli')
+ - "⇍": [T: "kaksiviivainen nuoli vasemmalle poikkiviivalla"] # 0x21cd (en: 'leftwards double arrow with stroke', google: 'vasen kaksinkertainen nuoli aivohalvauksella')
+ - "⇎": [T: "kaksiviivainen nuoli vasemmalle ja oikealle poikkiviivalla"] # 0x21ce (en: 'left right double arrow with stroke', google: 'vasen oikea kaksinkertainen nuoli aivohalvauksella')
+ - "⇏": [T: "kaksiviivainen nuoli oikealle poikkiviivalla"] # 0x21cf (en: 'rightwards double arrow with stroke', google: 'oikeasti kaksinkertainen nuoli aivohalvauksella')
+ - "⇐": [T: "vasemmalle osoittava kaksoisnuoli"] # 0x21d0 (en: 'leftwards double arrow', google: 'vasen kaksinkertainen nuoli')
+ - "⇑": [T: "ylös osoittava kaksoisnuoli"] # 0x21d1 (en: 'upwards double arrow', google: 'ylöspäin kaksoisnuoli')
+ - "⇓": [T: "alas osoittava kaksoisnuoli"] # 0x21d3 (en: 'downwards double arrow', google: 'alaspäin kaksinkertainen nuoli')
+ - "⇔": [T: "vasemmalle ja oikealle osoittava kaksoisnuoli"] # 0x21d4 (en: 'left right double arrow', google: 'vasen oikea kaksinkertainen nuoli')
+ - "⇕": [T: "ylös ja alas osoittava kaksoisnuoli"] # 0x21d5 (en: 'up down double arrow', google: 'ylös alas kaksinkertainen nuoli')
+ - "⇖": [T: "luoteeseen osoittava kaksoisnuoli"] # 0x21d6 (en: 'north west double arrow', google: 'luoteisosan kaksinkertainen nuoli')
+ - "⇗": [T: "koilliseen osoittava kaksoisnuoli"] # 0x21d7 (en: 'north east double arrow', google: 'koillis -kaksinkertainen nuoli')
+ - "⇘": [T: "kaakkoon osoittava kaksoisnuoli"] # 0x21d8 (en: 'south east double arrow', google: 'kaakkois -kaksinkertainen nuoli')
+ - "⇙": [T: "luoteeseen osoittava kaksoisnuoli"] # 0x21d9 (en: 'south west double arrow', google: 'lounais -kaksinkertainen nuoli')
+ - "⇚": [T: "kolmiviivainen nuoli vasemmalle"] # 0x21da (en: 'leftwards triple arrow', google: 'vasen kolminkertainen nuoli')
+ - "⇛": [T: "kolmiviivainen nuoli oikealle"] # 0x21db (en: 'rightwards triple arrow', google: 'oikealle kolminkertainen nuoli')
+ - "⇜": [T: "kiemuranuoli vasemmalle"] # 0x21dc (en: 'leftwards squiggle arrow', google: 'vasen nuoli')
+ - "⇝": [T: "kiemuranuoli oikealle"] # 0x21dd (en: 'rightwards squiggle arrow', google: 'oikealla puolella nuoli')
+ - "⇞": [T: "nuoli ylös kaksoispoikkiviivalla"] # 0x21de (en: 'upwards arrow with double stroke', google: 'ylöspäin nuoli kaksinkertaisella iskulla')
+ - "⇟": [T: "nuoli alas kaksoispoikkiviivalla"] # 0x21df (en: 'downwards arrow with double stroke', google: 'alaspäin nuoli kaksinkertaisella iskulla')
+ - "⇠": [T: "katkoviivanuoli vasemmalle"] # 0x21e0 (en: 'leftwards dashed arrow', google: 'vasen katkoviiva nuoli')
+ - "⇡": [T: "katkoviivanuoli ylös"] # 0x21e1 (en: 'upwards dashed arrow', google: 'ylöspäin katkoviiva nuoli')
+ - "⇢": [T: "katkoviivanuoli oikealle"] # 0x21e2 (en: 'rightwards dashed arrow', google: 'oikealla katkoviivalla nuolella')
+ - "⇣": [T: "katkoviivanuoli alas"] # 0x21e3 (en: 'downwards dashed arrow', google: 'alaspäin katkoviiva nuoli')
+ - "⇤": [T: "nuoli vasemmalle viivaan"] # 0x21e4 (en: 'leftwards arrow to bar', google: 'vasen nuoli baariin')
+ - "⇥": [T: "nuoli oikealle viivaan"] # 0x21e5 (en: 'rightwards arrow to bar', google: 'oikein nuoli baariin')
+ - "⇦": [T: "vasemmalle osoittava valkea nuoli"] # 0x21e6 (en: 'leftwards white arrow', google: 'vasen valkoinen nuoli')
+ - "⇧": [T: "ylös osoittava valkea nuoli"] # 0x21e7 (en: 'upwards white arrow', google: 'ylöspäin valkoinen nuoli')
+ - "⇨": [T: "oikealle osoittava valkea nuoli"] # 0x21e8 (en: 'rightwards white arrow', google: 'oikealle valkoinen nuoli')
+ - "⇩": [T: "alas osoittava valkea nuoli"] # 0x21e9 (en: 'downwards white arrow', google: 'alaspäin valkoinen nuoli')
+ - "⇪": [T: "palkista ylös osoittava valkea nuoli"] # 0x21ea (en: 'upwards white arrow from bar', google: 'ylöspäin valkoinen nuoli baarista')
+ - "⇫": [T: "valkoinen nuoli ylös jalustalla"] # 0x21eb (en: 'upwards white arrow on pedestal', google translation)
+ - "⇬": [T: "valkoinen nuoli ylös jalustalla ja vaakasuoralla palkilla"] # 0x21ec (en: 'upwards white arrow on pedestal with horizontal bar', google translation)
+ - "⇭": [T: "valkoinen nuoli ylös jalustalla ja pystysuoralla palkilla"] # 0x21ed (en: 'upwards white arrow on pedestal with vertical bar', google translation)
+ - "⇮": [T: "valkoinen kaksinkertainen nuoli ylös"] # 0x21ee (en: 'upwards white double arrow', google translation)
+ - "⇯": [T: "valkoinen kaksinkertainen nuoli ylös jalustalla"] # 0x21ef (en: 'upwards white double arrow on pedestal', google translation)
+ - "⇰": [T: "valkoinen nuoli oikealle seinästä"] # 0x21f0 (en: 'rightwards white arrow from wall', google translation)
+ - "⇱": [T: "ylävasemmalle osoittava nuoli nurkkaan"] # 0x21f1 (en: 'north west arrow to corner', google translation)
+ - "⇲": [T: "alaoikealle osoittava nuoli nurkkaan"] # 0x21f2 (en: 'south east arrow to corner', google translation)
+ - "⇳": [T: "ylös ja alas osoittava valkoinen nuoli"] # 0x21f3 (en: 'up down white arrow', google translation)
+ - "⇴": [T: "oikea nuoli pienellä ympyrällä"] # 0x21f4 (en: 'right arrow with small circle', google translation)
+ - "⇵": [T: "alas ja ylös osoittavat nuolet"] # 0x21f5 (en: 'downwards arrow leftwards of upwards arrow', google: 'alaspäin nuoli ylöspäin ylöspäin nuolesta')
+ - "⇶": [T: "kolmoisnuoli oikealle"] # 0x21f6 (en: 'three rightwards arrows', google translation)
+ - "⇷": [T: "vasen nuoli pystysuoralla viivalla"] # 0x21f7 (en: 'leftwards arrow with vertical stroke', google translation)
+ - "⇸": [T: "oikea nuoli pystysuoralla viivalla"] # 0x21f8 (en: 'rightwards arrow with vertical stroke', google translation)
+ - "⇹": [T: "vasemmalle ja oikealle osoittava nuoli pystysuoralla viivalla"] # 0x21f9 (en: 'left right arrow with vertical stroke', google translation)
+ - "⇺": [T: "vasen nuoli kaksinkertaisella pystysuoralla viivalla"] # 0x21fa (en: 'leftwards arrow with double vertical stroke', google translation)
+ - "⇻": [T: "oikea nuoli kaksinkertaisella pystysuoralla viivalla"] # 0x21fb (en: 'rightwards arrow with double vertical stroke', google translation)
+ - "⇼": [T: "vasemmalle ja oikealle osoittava nuoli kaksinkertaisella pystysuoralla viivalla"] # 0x21fc (en: 'left right arrow with double vertical stroke', google translation)
+ - "⇽": [T: "vasen avoin nuoli"] # 0x21fd (en: 'leftwards open headed arrow', google: 'vasen auki pää nuoli')
+ - "⇾": [T: "oikea avoin nuoli"] # 0x21fe (en: 'rightwards open headed arrow', google: 'oikea avaa pään nutrow')
+ - "⇿": [T: "oikealle ja vasemmalle osoittava avoin nuoli"] # 0x21ff (en: 'left right open headed arrow', google: 'vasen oikeaa auki nuoli')
+ - "∁": # 0x2201
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: ""] # (google translation)
+ - T: "komplementti" # (en: 'complement of', google: 'täydennys')
+ - "∃": [T: "on olemassa"] # 0x2203 (en: 'there exists')
+ - "∄": [T: "ei ole olemassa"] # 0x2204 (en: 'there does not exist', google: 'ei ole')
+ - "∅": [T: "tyhjä joukko"] # 0x2205 (en: 'empty set', google: 'tyhjä sarja')
+ - "∇": # 0x2207
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: ""] # (google translation)
+ - T: "nabla" # (en: 'gradient of', google: 'gradientti')
+ - "∋": [T: "sisältää alkion"] # 0x220b (en: 'contains the member', google: 'sisältää jäsenen')
+ - "∌": [T: "ei sisällä alkiota"] # 0x220c (en: 'does not contain the member', google: 'ei sisällä jäsentä')
+ - "∍": [T: "sisältää pienen alkion"] # 0x220d (en: 'contains the member', google: 'sisältää jäsenen')
+ - "∎": [T: "todistuksen loppu"] # 0x220e (en: 'end of proof', google: 'todistuksen loppu')
+ - "∏": [T: "tulo"] # 0x220f (en: 'product', google: 'tuote')
+ - "∐": [T: "kotulo"] # 0x2210 (google: 'kopiointi')
+ - "∑": [T: "summa"] # 0x2211 (en: 'sum')
+ - "−": [T: "miinus"] # 0x2212 (en: 'minus')
+ - "∓": [T: "miinus-plus"] # 0x2213 (en: 'minus or plus') # FI: check how the hyphen behaves
+ - "∔": [T: "piste-plus"] # 0x2214 (en: 'dot plus', google: 'dot plus') # FI: check how the hyphen behaves
+ - "∕": [T: "jakoviiva"] # 0x2215 (en: 'divided by', google: 'jaettuna')
+ - "∖": [T: "joukkomiinus"] # 0x2216 (en: 'set minus', google: 'aseta miinus')
+ - "∗": [T: "kertaa"] # 0x2217 (en: 'times', google: 'ajat')
+ - "∙": # 0x2219
+ - test:
+ if: "@data-chem-formula-op"
+ then: [T: "piste"] # (en: 'dot', google translation)
+ else: [T: "kertaa"] # (en: 'times', google: 'ajat')
+
+ - "∛": # 0x221b
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: ""] # (google translation)
+ - T: "kuutiojuuri" # (en: 'cube root of')
+ - "∜": # 0x221c
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: ""] # (google translation)
+ - T: "neljäs juuri" # (en: 'fourth root of')
+ - "∞": [T: "ääretön"] # 0x221e (en: 'infinity')
+ - "∟": [T: "suora kulma"] # 0x221f (en: 'right angle', google: 'oikea kulma')
+ - "∠": [T: "kulma"] # 0x2220 (en: 'angle')
+ - "∡": [T: "mitattu kulma"] # 0x2221 (en: 'measured angle')
+ - "∢": [T: "kaarellinen kulma"] # 0x2222 (en: 'spherical angle', google: 'pallomainen kulma')
+ - "∣": [T: "jakaa"] # 0x2223 (en: 'divides')
+ - "∤": [T: "ei jaa"] # 0x2224 (en: 'does not divide')
+ - "∩": [T: "leikkaus"] # 0x2229 (en: 'intersection', google: 'risteys')
+ - "∫": [T: "integraali"] # 0x222b (en: 'integral', google: 'olennainen')
+ - "∬": [T: "kaksoisintegraali"] # 0x222c (en: 'double integral', google: 'kaksinkertainen integraali')
+ - "∭": [T: "kolmoisintegraali"] # 0x222d (en: 'triple integral', google: 'kolminkertainen integraali')
+ - "∯": [T: "pintaintegraali"] # 0x222f (en: 'surface integral', google: 'pinta -integraali')
+ - "∰": [T: "tilavuusintegraali"] # 0x2230 (en: 'volume integral', google: 'volyymin integraali')
+ - "∱": [T: "integraali myötäpäivään"] # 0x2231 (en: 'clockwise integral', google: 'myötäpäivään olennainen')
+ - "∲": [T: "polkuintegraali myötäpäivään"] # 0x2232 (en: 'clockwise contour integral', google: 'myötäpäivään ääriviivat')
+ - "∳": [T: "polkuintegraali vastapäivään"] # 0x2233 (en: 'anticlockwise contour integral', google: 'vastapäivään ääriviivat')
+ - "∴": [T: "siis"] # 0x2234 (en: 'therefore', google: 'siksi')
+ - "∵": [T: "koska"] # 0x2235 (en: 'because')
+ - "∸": [T: "piste-miinus"] # 0x2238 (en: 'dot minus')
+ - "∹": [T: "ylitys"] # 0x2239 (en: 'has excess compared to', google: 'on ylimääräinen verrattuna')
+ - "∺": # 0x223a
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "geometrisesti verrannollinen" # (en: 'geometrically proportional to', google: 'geometrisesti verrannollinen') # FI: "geometrisesti verranollinen"?
+ - "∻": # 0x223b
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "homoteettinen" # (en: 'homothetic to', google: 'homotetiikka')
+ - "≀": [T: "punostulo"] # 0x2240 (en: 'wreath product', google: 'seppele tuote')
+ - "≁": [T: "ei tilde"] # 0x2241 (en: 'not tilde')
+ - "≂": [T: "miinus-tilde"] # 0x2242 (en: 'minus tilde')
+ - "≃": # 0x2243
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "asymptoottisesti yhtä suuri kuin" # (en: 'asymptotically equal to', google: 'asymptoottisesti yhtä suuri kuin')
+ - "≄": # 0x2244
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: ""] # (en: 'is', google translation)
+ - T: "ei asymptoottisesti yhtäsuuri kuin" # (en: 'not asymptotically equal to', google: 'ei asymptoottisesti yhtä suuri kuin')
+ - "≅": # 0x2245
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "likimäärin yhtä suuri kuin" # (en: 'approximately equal to', google: 'suunnilleen yhtä suuri kuin')
+ - "≆": # 0x2246
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "likimäärin mutta ei yhtä suuri kuin" # (en: 'approximately but not actually equal to', google: 'suunnilleen, mutta ei oikeastaan yhtä suuri kuin')
+ - "≇": # 0x2247
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: ""] # (en: 'is', google translation)
+ - T: "ei likimäärin eikä yhtä suuri kuin" # (en: 'neither approximately nor actually equal to', google: 'ei suunnilleen eikä oikeastaan yhtä suuri kuin')
+ - "≈": # 0x2248
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "likimäärin yhtä suuri kuin" # (en: 'almost equal to', google: 'melkein yhtä suuri kuin')
+ - "≉": # 0x2249
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: ""] # (en: 'is', google translation)
+ - T: "ei likimäärin yhtä suuri kuin" # (en: 'not almost equal to', google: 'ei melkein yhtä suuri kuin')
+ - "≊": # 0x224a
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "lähes tai tasan yhtä suuri kuin" # (en: 'almost equal or equal to', google: 'melkein yhtä suuri tai yhtä suuri kuin')
+ - "≋": [T: "kolmoistilde"] # 0x224b (en: 'triple tilde', google: 'kolminkertainen tilde')
+ - "≌": [T: "kaikki yhtäsuuria kuin"] # 0x224c (en: 'are all equal to', google: 'ovat kaikki yhtä suuret kuin')
+ - "≍": # 0x224d
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "yhtäpitävä" # (en: 'equivalent to', google: 'vastaa')
+ - "≎": # 0x224e
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "geometrisesti yhtäpitävä" # (en: 'geometrically equivalent to', google: 'geometrisesti vastaavat')
+ - "≏": # 0x224f
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: ""] # (google translation)
+ - T: "ero välillä" # (en: 'difference between', google: 'ero välillä')
+ - "≐": [T: "lähestyy raja-arvoa"] # 0x2250 (en: 'approaches the limit')
+ - "≑": # 0x2251
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "geometrisesti yhtä kuin" # (en: 'geometrically equal to', google: 'geometrisesti yhtä suuri kuin')
+ - "≒": # 0x2252
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "likimäärin yhtä suuri kuin tai kohteen kuva" # (google: 'suunnilleen yhtä suuri tai kuva')
+ - "≓": # 0x2253
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is the', google translation)
+ - T: "kohteen kuva tai likimäärin yhtä suuri kuin" # (google: 'kuva tai suunnilleen yhtä suuri kuin')
+ - "≔": [T: "kaksoispiste yhtä suuri kuin"] # 0x2254 (en: 'colon equals', google: 'colol -eaksi')
+ - "≕": [T: "yhtä suuri kuin kaksoispiste"] # 0x2255 (en: 'equals colon', google: 'vastaa kaksoispistettä')
+ - "≖": [T: "ympyrän sisältävä yhtäläisyys"] # 0x2256 (en: 'ring in equal to', google: 'rengas yhtä suuri kuin')
+ - "≗": # 0x2257
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "ympyrä yhtä suuri kuin" # (en: 'approximately equal to', google: 'suunnilleen yhtä suuri kuin')
+ - "≘": [T: "kaari yhtä suuri kuin"] # 0x2258 (en: 'corresponds to', google: 'vastaa')
+ - "≙": [T: "vastaa"] # 0x2259 (en: 'estimates', google: 'arviot')
+ - "≚": # 0x225a
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "samakulmainen kuin" # (en: 'equiangular to', google: 'tasa -arvoinen')
+ - "≛": [T: "tähti yhtä suuri kuin"] # 0x225b (en: 'star equals', google: 'tähti on yhtä suuri kuin')
+ - "≜": [T: "delta yhtä suuri kuin"] # 0x225c (en: 'delta equals', google: 'delta on tasa -arvoinen')
+ - "≝": [T: "määritelmän mukaan yhtä kuin"] # 0x225d (en: 'is defined to be', google: 'on määritelty olevan')
+ - "≞": # 0x225e
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "mitatusti yhtä suuri kuin" # (en: 'measured by', google: 'mitattu')
+ - "≟": [T: "kyseenalaisesti yhtä kuin"] # 0x225f (en: 'has an unknown relationship with', google: 'on tuntematon suhde')
+ - "≢": # 0x2262
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "identtisesti eri kuin" # (en: 'not identical to', google: 'ei identtinen')
+ - "≣": # 0x2263
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "vahvasti ekvivalentti" # (en: 'strictly equivalent to', google: 'tiukasti vastaa')
+ - "≨": # 0x2268
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "pienempi mutta ei yhtä suuri kuin" # (en: 'less than but not equal to', google: 'vähemmän kuin, mutta ei yhtä suuri kuin')
+ - "≩": # 0x2269
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "suurempi mutta ei yhtä suuri kuin" # (en: 'greater than but not equal to', google: 'suurempi kuin, mutta ei yhtä suuri kuin')
+ - "≪": # 0x226a
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "paljon pienempi kuin" # (en: 'much less than', google: 'paljon vähemmän kuin')
+ - "≫": # 0x226b
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "paljon suurempi kuin" # (en: 'much greater than')
+ - "≬": # 0x226c
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "välissä" # (en: 'between', google: 'välillä')
+ - "≭": # 0x226d
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: ""] # (en: 'is', google translation)
+ - T: "ei yhtäpitävä" # (en: 'not equivalent to', google: 'ei vastaa')
+ - "≮": # 0x226e
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: ""] # (en: 'is', google translation)
+ - T: "ei aidosti pienempi kuin" # (en: 'not less than', google: 'ei vähempää kuin')
+ - "≯": # 0x226f
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: ""] # (en: 'is', google translation)
+ - T: "ei aidosti suurempi kuin" # (en: 'not greater than', google: 'enintään')
+ - "≰": # 0x2270
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: ""] # (en: 'is', google translation)
+ - T: "ei pienempi eikä yhtäsuuri kuin" # (en: 'neither less than nor equal to', google: 'ei vähemmän kuin yhtä suuri kuin')
+ - "≱": # 0x2271
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: ""] # (en: 'is', google translation)
+ - T: "ei suurempi eikä yhtäsuuri kuin" # (en: 'neither greater than nor equal to', google: 'ei suurempi kuin yhtä suuri kuin')
+ - "≲": # 0x2272
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "pienempi tai yhtäpitävä" # (en: 'less than or equivalent to', google: 'vähemmän tai vastaavat')
+ - "≳": # 0x2273
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "suurempi tai yhtäpitävä" # (en: 'greater than or equivalent to', google: 'suurempi tai vastaa')
+ - "≴": # 0x2274
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: ""] # (en: 'is', google translation)
+ - T: "ei pienempi eikä yhtäpitävä" # (en: 'neither less than nor equivalent to', google: 'ei vähemmän kuin vastaa')
+ - "≵": # 0x2275
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: ""] # (en: 'is', google translation)
+ - T: "ei suurempi eikä yhtäpitävä" # (en: 'neither greater than nor equivalent to', google: 'ei suurempi kuin vastaava')
+ - "≶": # 0x2276
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "aidosti pienempi tai suurempi kuin" # (en: 'less than or greater than', google: 'vähemmän tai suurempi kuin')
+ - "≷": # 0x2277
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "aidosti suurempi tai pienempi kuin" # (en: 'greater than or less than', google: 'suurempi tai vähemmän kuin')
+ - "≸": # 0x2278
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: ""] # (en: 'is', google translation)
+ - T: "ei aidosti pienempi eikä suurempi kuin" # (en: 'neither less than nor greater than', google: 'ei vähemmän kuin suurempi kuin')
+ - "≹": # 0x2279
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: ""] # (en: 'is', google translation)
+ - T: "ei aidosti suurempi eikä pienempi kuin" # (en: 'neither greater than nor less than', google: 'ei suurempi kuin vähemmän kuin')
+ - "≺": [T: "edeltää"] # 0x227a (en: 'precedes')
+ - "≻": [T: "seuraa"] # 0x227b (en: 'succeeds', google: 'onnistuu')
+ - "≼": [T: "edeltää tai on yhtä kuin"] # 0x227c (en: 'precedes or is equal to', google: 'edeltää tai on yhtä suuri kuin')
+ - "≽": [T: "seuraa tai on yhtä kuin"] # 0x227d (en: 'succeeds or is equal to', google: 'onnistuu tai on yhtä suuri')
+ - "≾": [T: "edeltää tai on yhtäpitävä"] # 0x227e (en: 'precedes or is equivalent to', google: 'edeltää tai vastaa')
+ - "≿": [T: "seuraa tai on yhtäpitävä"] # 0x227f (en: 'succeeds or is equivalent to', google: 'onnistuu tai vastaa')
+ - "⊀": [T: "ei edellä"] # 0x2280 (en: 'does not precede', google: 'ei edeltä')
+ - "⊁": [T: "ei seuraa"] # 0x2281 (en: 'does not succeed', google: 'ei onnistu')
+ - "⊈": # 0x2288
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: ""] # (en: 'is', google translation)
+ - T: "ei osajoukko eikä yhtä kuin" # (en: 'neither a subset of nor equal to', google: 'ei alajoukko eikä yhtä suuri kuin')
+ - "⊉": # 0x2289
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: ""] # (en: 'is', google translation)
+ - T: "ei sisällä osajoukkoa eikä yhtä kuin" # (en: 'neither a superset of nor equal to', google: 'ei ylenmääräinen eikä yhtä suuri kuin')
+ - "⊊": [T: "on aito osajoukko"] # 0x228a (en: 'subset of with not equal to', google: 'osajoukko, joka ei ole yhtä suuri kuin')
+ - "⊋": [T: "sisältää aidon osajoukon"] # 0x228b (en: 'superset of with not equal to', google: 'superset of with ei ole yhtä suuri kuin')
+ - "⊌": [T: "monijoukko"] # 0x228c (en: 'multiset', google: 'multiset')
+ - "⊍": [T: "monijoukkojen kerto"] # 0x228d (en: 'multiset multiplication', google: 'multiset -kertolasku')
+ - "⊎": [T: "monijoukkojen unioni"] # 0x228e (en: 'multiset union', google: 'multiset union')
+ - "⊏": [T: "kulmikas relaatio"] # 0x228f (en: 'square image of', google: 'neliökuva')
+ - "⊐": [T: "käänteinen kulmikas relaatio"] # 0x2290 (en: 'square original of', google: 'neliön alkuperäinen')
+ - "⊑": [T: "kulmikas relaatio tai yhtä kuin"] # 0x2291 (en: 'square image of or equal to', google: 'neliökuva tai yhtä suuri kuin')
+ - "⊒": [T: "käänteinen kulmikas relaatio tai yhtä suuri kuin"] # 0x2292 (en: 'square original of or equal to', google: 'neliön alkuperäinen tai yhtä suuri kuin')
+ - "⊓": [T: "kulmikas kupu"] # 0x2293 (en: 'square cap', google: 'neliö -isot')
+ - "⊔": [T: "kulmikas malja"] # 0x2294 (en: 'square cup', google: 'square cup')
+ - "⊕": [T: "ympyröity plus"] # 0x2295 (en: 'circled plus')
+ - "⊖": [T: "ympyröity miinus"] # 0x2296 (en: 'circled minus')
+ - "⊗": [T: "ympyröity kertaa"] # 0x2297 (en: 'circled times', google: 'ympyräajat')
+ - "⊘": [T: "ympyröity jakoviiva"] # 0x2298 (en: 'circled slash', google: 'ympyräviiva')
+ - "⊙": [T: "ympyröity piste"] # 0x2299 (en: 'circled dot operator', google: 'ympyräpisteoperaattori')
+ - "⊚": [T: "ympyröity pallo"] # 0x229a (en: 'circled ring', google: 'ympyrä rengas')
+ - "⊛": [T: "ympyröity tähti"] # 0x229b (en: 'circled asterisk', google: 'ympyrä tähdellä')
+ - "⊜": [T: "ympyröity yhtä kuin"] # 0x229c (en: 'circled equals', google: 'ympyröity tasa -arvoinen')
+ - "⊝": [T: "ympyröity viiva"] # 0x229d (en: 'circled dash')
+ - "⊞": [T: "neliöity plus"] # 0x229e (en: 'squared plus', google: 'squared plus')
+ - "⊟": [T: "neliöity miinus"] # 0x229f (en: 'squared minus', google: 'neliö miinus')
+ - "⊠": [T: "neliöity kertaa"] # 0x22a0 (en: 'squared times', google: 'neliöajat')
+ - "⊡": [T: "neliöity piste"] # 0x22a1 (en: 'squared dot operator', google: 'squared dot -operaattori')
+ - "⊢": [T: "oikealle osoittava nupi"] # 0x22a2 (en: 'proves', google: 'todistaa')
+ - "⊣": [T: "vasemmalle osoittava nupi"] # 0x22a3 (en: 'does not yield', google: 'ei tuota')
+ - "⊤": [T: "alas osoittava nupi"] # 0x22a4 (google: 'ylhäältä')
+ - "⊥": # 0x22a5
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "ylös osoittava nupi" # (google: 'pohja')
+ - "⊦": [T: "assertio"] # 0x22a6 (en: 'reduces to', google: 'vähentää')
+ - "⊧": [T: "toteuttaa mallina"] # 0x22a7 (en: 'models', google: 'malleja')
+ - "⊨": # 0x22a8
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "tosi" # (en: 'true', google: 'totta')
+ - "⊩": [T: "pakottaa"] # 0x22a9 (en: 'forces', google: 'voimat')
+ - "⊪": [T: "kolmoispystyviiva ja oikeanpuoleinen kääntöportti"] # 0x22aa (en: 'triple vertical bar right turnstile', google: 'kolminkertainen pystysuora palkki oikean kääntölaite')
+ - "⊫": [T: "kaksoispystyviiva ja oikeanpuoleinen kaksoiskääntöportti"] # 0x22ab (en: 'double vertical bar double right turnstile', google: 'kaksois pystysuora palkki kaksinkertainen oikea käänne')
+ - "⊬": [T: "ei todista"] # 0x22ac (en: 'does not prove', google: 'ei todista')
+ - "⊭": # 0x22ad
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "epätosi" # (en: 'not true', google: 'ei totta')
+ - "⊮": [T: "ei pakota"] # 0x22ae (en: 'does not force', google: 'ei pakota')
+ - "⊯": [T: "ei kaksoispystyviiva ja oikeanpuolenen kaksoiskääntöportti"] # 0x22af (en: 'negated double vertical bar double right turnstile', google: 'kielteinen kaksinkertainen pystysuora palkki kaksinkertainen oikea käänne')
+ - "⊰": [T: "edeltää relaatiossa"] # 0x22b0 (en: 'precedes under relation', google: 'edeltää suhteessa')
+ - "⊱": [T: "seuraa relaatiossa"] # 0x22b1 (en: 'succeeds under relation', google: 'onnistuu suhteessa')
+ - "⊲": # 0x22b2
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "normaali aliryhmä" # (en: 'a normal subgroup of', google: 'normaali alaryhmä')
+ - "⊳": [T: "sisältää normaalin aliryhmän"] # 0x22b3 (en: 'contains as a normal subgroup', google: 'sisältää normaalina alaryhmänä')
+ - "⊴": # 0x22b4
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "normaali aliryhmä tai yhtä kuin" # (en: 'a normal subgroup of or equal to', google: 'normaali alaryhmä tai yhtä suuri')
+ - "⊵": [T: "sisältää normaalin aliryhmän tai on yhtä kuin"] # 0x22b5 (en: 'contains as a normal subgroup or equal to', google: 'sisältää normaalina alaryhmänä tai yhtä suuri kuin')
+ - "⊶": # 0x22b6
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "alkukuva" # (en: 'the original of', google: 'alkuperäinen')
+ - "⊷": # 0x22b7
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "kuva" # (en: 'an image of', google: 'kuva')
+ - "⊸": [T: "monikuvaus"] # 0x22b8
+ - "⊹": [T: "Hermiten konjugaattimatriisi"] # 0x22b9 (en: 'hermitian conjugate matrix', google: 'hermitian konjugaattimatriisi')
+ - "⊺": [T: "interkalaatio"] # 0x22ba (google: 'interkalaatti')
+ - "⊻": [T: "joko tai"] # 0x22bb
+ - "⊼": [T: "ja ei"] # 0x22bc
+ - "⊽": [T: "tai ei"] # 0x22bd (google: 'ei myöskään')
+ - "⊾": [T: "suora kulma kaarella"] # 0x22be (en: 'right angle with arc', google: 'suorakulma kaarilla')
+ - "⊿": [T: "oikeanpuoleinen kolmio"] # 0x22bf (en: 'right triangle')
+ - "⋀": [T: "monikkokonjuktio"] # 0x22c0 (en: 'logical and', google: 'looginen ja')
+ - "⋁": [T: "monikkodisjunktio"] # 0x22c1 (en: 'logical or', google: 'looginen tai')
+ - "⋂": [T: "monikkoleikkaus"] # 0x22c2 (en: 'intersection', google: 'risteys')
+ - "⋃": [T: "monikkounioni"] # 0x22c3 (en: 'union', google: 'liitto')
+ - "⋄": [T: "timantti"] # 0x22c4 (en: 'diamond operator', google: 'timanttioperaattori')
+ - "⋅": # 0x22c5
+ - test:
+ if: "@data-chem-formula-op"
+ then: [T: "piste"] # (en: 'dot', google translation)
+ else: [T: "kertaa"] # (en: 'times', google: 'ajat')
+
+ - "⋆": [T: "kertaa"] # 0x22c6 (en: 'times', google: 'ajat')
+ - "⋇": [T: "jako kertaa"] # 0x22c7 (en: 'division times', google: 'jako -ajat')
+ - "⋈": [T: "rusetti"] # 0x22c8 (en: 'bowtie', google: 'rusetti')
+ - "⋉": # 0x22c9
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "vasemmanpuoleinen normaalitekijäinen puolisuora tulo" # (en: 'the left normal factor semidirect product of', google: 'vasen normaali tekijä semidirect -tuote')
+ - "⋊": # 0x22ca
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "oikeanpuoleinen normaalitekijäinen puolisuora tulo" # (en: 'the right normal factor semidirect product of', google: 'oikea normaali tekijä semidirect -tuote')
+ - "⋋": # 0x22cb
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "vasemmanpuoleinen puolisuora tulo" # (en: 'the left semidirect product of', google: 'vasen puolisirektin tuote')
+ - "⋌": # 0x22cc
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "oikeanpuoleinen puolisuora tulo" # (en: 'the right semidirect product of', google: 'oikea semidirect -tuote')
+ - "⋍": [T: "käänteinen tilde yhtäsuuruus"] # 0x22cd (en: 'reversed tilde equals', google: 'käänteinen tilde on tasa -arvoinen')
+ - "⋎": [T: "kaareva looginen tai"] # 0x22ce (en: 'curly logical or', google: 'kihara looginen tai')
+ - "⋏": [T: "kaareva looginen ja"] # 0x22cf (en: 'curly logical and', google: 'curly looginen ja')
+ - "⋐": # 0x22d0
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "kaksoisosajoukko" # (en: 'a double subset of', google: 'kaksinkertainen osajoukko')
+ - "⋑": # 0x22d1
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "kaksoisylijoukko" # (en: 'a double superset of', google: 'kaksinkertainen superset')
+ - "⋒": # 0x22d2
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: ""] # (google translation)
+ - T: "kaksoisleikkaus" # (en: 'double intersection of', google: 'kaksinkertainen risteys')
+ - "⋓": # 0x22d3
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: ""] # (google translation)
+ - T: "kaksoisunioni" # (en: 'double union of', google: 'kaksinkertainen liitto')
+ - "⋔": # 0x22d4
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: ""] # (google translation)
+ - T: "hanko" # (en: 'proper intersection of', google: 'oikea risteys')
+ - "⋕": # 0x22d5
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "yhtäsuuri ja yhdensuuntainen" # (en: 'equal to and parallel to', google: 'yhtä suuri kuin sen kanssa ja yhdensuuntainen')
+ - "⋖": [T: "piste pienempi kuin"] # 0x22d6 (en: 'less than with dot', google: 'vähemmän kuin pisteellä')
+ - "⋗": [T: "piste suurempi kuin"] # 0x22d7 (en: 'greater than with dot', google: 'suurempi kuin pisteellä')
+ - "⋘": # 0x22d8
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "hyvin paljon pienempi kuin" # (en: 'very much less than', google: 'hyvin vähemmän kuin')
+ - "⋙": # 0x22d9
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "hyvin paljon suurempi kuin" # (en: 'very much greater than', google: 'erittäin suurempi kuin')
+ - "⋚": # 0x22da
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "pienempi, yhtäsuuri tai suurempi kuin" # (en: 'less than equal to or greater than', google: 'vähemmän kuin yhtä suuri tai suurempi kuin')
+ - "⋛": # 0x22db
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "suurempi, yhtäsuuri tai pienempi kuin" # (en: 'greater than equal to or less than', google: 'suurempi kuin yhtä suuri tai vähemmän kuin')
+ - "⋜": # 0x22dc
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "yhtäsuuri tai pienempi kuin" # (en: 'equal to or less than', google: 'yhtä suuri tai vähemmän kuin')
+ - "⋝": # 0x22dd
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "yhtäsuuri tai suurempi kuin" # (en: 'equal to or greater than', google: 'yhtä suuri tai suurempi kuin')
+ - "⋞": # 0x22de
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "yhtä kuin tai edeltää" # (en: 'equal to or precedes', google: 'yhtä suuri tai edeltää')
+ - "⋟": # 0x22df
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "yhtä kuin tai seuraa" # (en: 'equal to or succeeds', google: 'yhtä suuri tai onnistuu')
+ - "⋠": [T: "ei edellä eikä yhtä kuin"] # 0x22e0 (en: 'does not precede nor is equal to', google: 'ei edeltä eikä ole yhtä suuri kuin')
+ - "⋡": [T: "ei seuraa eikä yhtä kuin"] # 0x22e1 (en: 'does not succeed nor is equal to', google: 'ei onnistu eikä ole yhtä suuri kuin')
+ - "⋢": [T: "ei kulmikas relaatio tai yhtä suuri kuin"] # 0x22e2 (en: 'not square image of or equal to', google: 'ei neliökuva tai yhtä suuri kuin')
+ - "⋣": [T: "ei käänteinen kulmikas relaatio tai yhtä suuri kuin"] # 0x22e3 (en: 'not square original of or equal to', google: 'ei neliömäinen alkuperäinen tai yhtä suuri kuin')
+ - "⋤": [T: "kulmikas relaatio ja ei yhtä suuri kuin"] # 0x22e4 (en: 'square image of or not equal to', google: 'neliökuva tai ei ole yhtä suuri kuin')
+ - "⋥": [T: "kulmikas käänteinen relaatio ja ei yhtä suuri kuin"] # 0x22e5 (en: 'square original of or not equal to', google: 'neliön alkuperäinen tai ei ole yhtä suuri kuin')
+ - "⋦": # 0x22e6
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "pienempi kuin mutta ei ekvivalentti" # (en: 'less than but not equivalent to', google: 'vähemmän kuin, mutta ei vastaava')
+ - "⋧": # 0x22e7
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "suurempi kuin mutta ei ekvivalentti" # (en: 'greater than but not equivalent to', google: 'suurempi kuin mutta ei vastaa')
+ - "⋨": [T: "edeltää mutta ei ole ekvivalentti"] # 0x22e8 (en: 'precedes but is not equivalent to', google: 'edeltää, mutta ei vastaa')
+ - "⋩": [T: "seuraa mutta ei ole ekvivalentti"] # 0x22e9 (en: 'succeeds but is not equivalent to', google: 'onnistuu, mutta ei vastaa')
+ - "⋪": # 0x22ea
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: ""] # (en: 'is', google translation)
+ - T: "ei ole normaali aliryhmä" # (en: 'not a normal subgroup of', google: 'ei normaali alaryhmä')
+ - "⋫": [T: "ei sisällä normaalia aliryhmää"] # 0x22eb (en: 'does not contain as a normal subgroup', google: 'ei sisällä normaalia alaryhmää')
+ - "⋬": # 0x22ec
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: ""] # (en: 'is', google translation)
+ - T: "ei ole normaali aliryhmä tai yhtä kuin" # (en: 'not a normal subgroup of nor is equal to', google: 'ei normaali alaryhmä, joka ei ole yhtä suuri')
+ - "⋭": [T: "ei sisällä normaalina aliryhmänä tai ole yhtä kuin"] # 0x22ed (en: 'does not contain as a normal subgroup nor is equal to', google: 'ei sisällä normaalia alaryhmää eikä ole yhtä suuri kuin')
+ - "⋮": [T: "pystyellipsi"] # 0x22ee (en: 'vertical ellipsis', google: 'pystysuora ellipsis') # FI: context? used in matrices?
+ - "⋯": [T: "piste piste piste"] # 0x22ef (en: 'dot dot dot', google: 'dot dot dot')
+ - "⋰": [T: "nouseva ellipsi"] # 0x22f0 (en: 'upwards diagonal ellipsis', google: 'ylöspäin diagonaalinen ellipsi') # FI: context? used in matrices?
+ - "⋱": [T: "laskeva ellipsi"] # 0x22f1 (en: 'diagonal ellipsis', google: 'diagonaalinen ellipsis') # FI: context? used in matrices?
+ - "⋲": [T: "poikkiviivainen kuulumismerkki"] # 0x22f2 (en: 'element of with long horizontal stroke', google: 'elementti pitkällä vaakasuoralla iskulla')
+ - "⋳": [T: "kuulumismerkki pystyviivaan päättyvällä poikkiviivalla"] # 0x22f3 (en: 'element of with vertical bar at end of horizontal stroke', google: 'elementti pystysuoralla tankolla vaakasuoran iskun lopussa')
+ - "⋴": [T: "pieni kuulumismerkki pystyviivaan päättyvällä poikkiviivalla"] # 0x22f4 (en: 'element of with vertical bar at end of horizontal stroke', google: 'elementti pystysuoralla tankolla vaakasuoran iskun lopussa')
+ - "⋵": [T: "kuuluu joukkoon pisteellä"] # 0x22f5 (en: 'element of with dot above', google: 'elementti yllä olevalla pisteellä')
+ - "⋶": [T: "kuuluu joukkoon yläviivalla"] # 0x22f6 (en: 'element of with overbar', google: 'elementti ylikuormituksella')
+ - "⋷": [T: "pieni kuuluu joukkoon yläviivalla"] # 0x22f7 (en: 'element of with overbar', google: 'elementti ylikuormituksella')
+ - "⋸": [T: "kuuluu joukkoon alaviivalla"] # 0x22f8 (en: 'element of with underbar', google: 'elementti alakerroksella')
+ - "⋹": [T: "kuuluu joukkoon kaksoispoikkiviivalla"] # 0x22f9 (en: 'element of with two horizontal strokes', google: 'elementti kahdella vaakasuuntaisella iskulla')
+ - "⋺": [T: "käänteinen kuuluu joukkoon poikkiviivalla"] # 0x22fa (en: 'contains with long horizontal stroke', google: 'sisältää pitkällä vaakasuoralla iskulla')
+ - "⋻": [T: "käänteinen kuuluu joukkoon pystyviivaan päättyvällä poikkiviivalla"] # 0x22fb (en: 'contains with vertical bar at end of horizontal stroke', google: 'sisältää pystysuoran palkin vaakasuoran iskun lopussa')
+ - "⋼": [T: "pieni käänteinen kuuluu joukkoon pystyviivaan päättyvällä poikkiviivalla"] # 0x22fc (en: 'contains with vertical bar at end of horizontal stroke', google: 'sisältää pystysuoran palkin vaakasuoran iskun lopussa')
+ - "⋽": [T: "sisältää tai on yhtä suuri kuin"] # 0x22fd (en: 'contains with overbar', google: 'sisältää ylikuormituksen kanssa')
+ - "⋾": [T: "pieni sisältää tai on yhtä suuri kuin"] # 0x22fe (en: 'contains with overbar', google: 'sisältää ylikuormituksen kanssa')
+ - "⋿": [T: "Z-notaation laukkuun kuulumisen merkki"] # 0x22ff (google: 'z -merkintälaukun jäsenyys')
+ - "⌀": [T: "halkaisija"] # 0x2300 (en: 'diameter')
+ - "⌁": [T: "sähkönuoli"] # 0x2301 (en: 'electric arrow', google translation)
+ - "⌂": [T: "talo"] # 0x2302 (en: 'house')
+ - "⌃": [T: "nuolenpää ylös"] # 0x2303 (en: 'up arrowhead', google translation)
+ - "⌄": [T: "nuolenpää alas"] # 0x2304 (en: 'down arrowhead', google translation)
+ - "⌅": [T: "projektio"] # 0x2305 (en: 'projective', google: 'projektiivinen')
+ - "⌆": [T: "perspektiivi"] # 0x2306 (en: 'perspective', google: 'näkökulma')
+ - "⌇": [T: "aaltoviiva"] # 0x2307 (en: 'wavy line', google translation)
+ - "⌈": [T: "vasen katto"] # 0x2308 (en: 'left ceiling')
+ - "⌉": [T: "oikea katto"] # 0x2309 (en: 'right ceiling')
+ - "⌊": [T: "vasen lattia"] # 0x230a (en: 'left floor')
+ - "⌋": [T: "oikea lattia"] # 0x230b (en: 'right floor', google: 'oikea kerros')
+ - "⌌": [T: "oikea alanurkkarajaus"] # 0x230c (en: 'bottom right crop', google: 'oikea alareuna')
+ - "⌍": [T: "vasen alanurkkarajaus"] # 0x230d (en: 'bottom left crop', google: 'vasen alakulma')
+ - "⌎": [T: "oikea ylänurkkarajaus"] # 0x230e (en: 'top right crop', google: 'oikea yläosa')
+ - "⌏": [T: "vasen ylänurkkarajaus"] # 0x230f (en: 'top left crop', google: 'vasen yläosa sato')
+ - "⌐": [T: "käännetty negaatio"] # 0x2310 (en: 'reversed not sign', google: 'kääntynyt ei allekirjoitettu')
+ - "⌑": [T: "tyynysymboli"] # 0x2311 (google translation)
+ - "⌒": [T: "yläkaari"] # 0x2312 (en: 'arc', google: 'kaari')
+ - "⌓": [T: "segmentti"] # 0x2313 (en: 'segment')
+ - "⌔": [T: "sektori"] # 0x2314 (en: 'sector', google translation)
+ - "⌕": [T: "suurennuslasi"] # 0x2315 (google: 'puhelintallistin')
+ - "⌖": [T: "tähtäin"] # 0x2316 (en: 'position indicator crosshairs', google: 'aseman ilmaisimen ristikkäit')
+ - "⌗": [T: "risuaita"] # 0x2317 (en: 'viewdata square', google translation)
+ - "⌘": [T: "hannunvaakuna"] # 0x2318 (en: 'place of interest sign', google: 'kiinnostuksen kohteena oleva merkki')
+ - "⌙": [T: "kääntynyt negaatio"] # 0x2319 (en: 'turned not sign', google translation)
+ - "⌚": [T: "kello"] # 0x231a (en: 'watch', google: 'katsella')
+ - "⌛": [T: "tiimalasi"] # 0x231b (en: 'hourglass', google translation)
+ - "⌜": [T: "vasen ylänurkka"] # 0x231c (en: 'top left corner', google: 'vasen yläkulma')
+ - "⌝": [T: "oikea ylänurkka"] # 0x231d (en: 'top right corner', google: 'oikea yläkulma')
+ - "⌞": [T: "vasen alanurkka"] # 0x231e (en: 'bottom left corner', google: 'vasen alakulma')
+ - "⌟": [T: "oikea alanurkka"] # 0x231f (en: 'bottom right corner', google: 'oikea alakulma')
+ - "⌠": [T: "integraalin yläpuoli"] # 0x2320 (en: 'top half integral', google: 'top -puoliksi olennainen')
+ - "⌡": [T: "integraalin alapuoli"] # 0x2321 (en: 'bottom half integral', google: 'pohjapuoliskon integraali')
+ - "⌢": [T: "yläkaari"] # 0x2322 (en: 'frown', google: 'kulma')
+ - "⌣": [T: "alakaari"] # 0x2323 (en: 'smile', google: 'hymy')
+ - "⌤": [T: "nuolenpää ylös kahden vaakasuoran palkin välissä"] # 0x2324 (en: 'up arrowhead between two horizontal bars', google translation)
+ - "⌥": [T: "option"] # 0x2325 (en: 'option key', google translation)
+ - "⌦": [T: "poista oikealle"] # 0x2326 (en: 'erase to the right', google translation)
+ - "⌧": [T: "suorakulmiossa oleva rasti"] # 0x2327 (en: 'x in a rectangle box', google translation)
+ - "⌨": [T: "näppäimistö"] # 0x2328 (en: 'keyboard', google translation)
+ - "〈": [T: "vasen kulmasulku"] # 0x2329 (en: 'left pointing angle bracket', google: 'vasen osoituskulmakiinnike')
+ - "〉": [T: "oikea kulmasulku"] # 0x232a (en: 'right pointing angle bracket', google: 'oikea osoituskulmakiinnike')
+ - "⌫": [T: "poista vasemmalle"] # 0x232b (en: 'erase to the left', google translation)
+ - "⌬": [T: "bentseenirengas"] # 0x232c (en: 'benzene ring', google translation)
+ - "⌭": [T: "sylinterisyys"] # 0x232d (google: 'sylinteryys')
+ - "⌮": [T: "profiilin ympäri"] # 0x232e (en: "all around profile" google: 'ympäri profiilia') # FI: translation unclear
+ - "⌯": [T: "symmetria"] # 0x232f (en: 'symmetry', google translation)
+ - "⌰": [T: "toleranssin yhteissumma"] # 0x2330 (en: 'total runout', google translation) # FI: meaning bit unclear, placeholder for correct
+ - "⌱": [T: "alkudimensio"] # 0x2331 (en: 'dimension origin', google translation) # FI: translation unclear
+ - "⌲": [T: "kartiovähentyminen"] # 0x2332 (en: 'conical taper', google translation) # FI: translation unclear
+ - "⌳": [T: "kaltevuus"] # 0x2333 (en: 'slope', google translation)
+ - "⌴": [T: "tasoupotin"] # 0x2334 (en: 'counterbore', google translation)
+ - "⌵": [T: "kärkiupotin"] # 0x2335 (en: 'countersink', google translation)
+ - "⍰": [T: "kysymysmerkki laatikossa"] # 0x2370 (en: 'unknown box', google: 'tuntematon laatikko')
+ - "⎕": [T: "laatikko"] # 0x2395 (en: 'box', google translation)
+ - "⏞": [T: "yläaaltosulku"] # 0x23DE (en: 'top brace', google: 'ylä ahdin')
+ - "⏟": [T: "ala-aaltosulku"] # 0x23DF (en: 'bottom brace', google: 'pohja ahdin')
+ - "①-⑨": # 0x2460 - 0x2469
+ - T: "ympyröity" # (en: 'circled', google: 'ympyröi')
+ - SPELL: "translate('.', '①②③④⑤⑥⑦⑧⑨', '123456789')"
+ - "⑩": [T: "ympyröity kymmenen"] # 0x2469 (en: 'circled ten', google translation)
+ - "⑪": [T: "ympyröity yksitoista"] # 0x246a (en: 'circled eleven', google translation)
+ - "⑫": [T: "ympyröity kaksitoista"] # 0x246b (en: 'circled twelve', google translation)
+ - "⑬": [T: "ympyröity kolmetoista"] # 0x246c (en: 'circled thirteen', google translation)
+ - "⑭": [T: "ympyröity neljätoista"] # 0x246d (en: 'circled fourteen', google translation)
+ - "⑮": [T: "ympyröity viisitoista"] # 0x246e (en: 'circled fifteen', google translation)
+ - "⑯": [T: "ympyröity kuusitoista"] # 0x246f (en: 'circled sixteen', google translation)
+ - "⑰": [T: "ympyröity seitsemäntoista"] # 0x2470 (en: 'circled seventeen', google translation)
+ - "⑱": [T: "ympyröity kahdeksantoista"] # 0x2471 (en: 'circled eighteen', google translation)
+ - "⑳": [T: "ympyröity kaksikymmentä"] # 0x2473 (en: 'circled twenty', google translation)
+ - "⑴-⑼": # 0x2474 - 0x247d
+ - T: "suluissa" # (en: 'parenthesized', google translation)
+ - SPELL: "translate('.', '⑴⑵⑶⑷⑸⑹⑺⑻⑼', '123456789')"
+ - "⑽": [T: "suluissa kymmenen"] # 0x247d (en: 'parenthesized ten', google translation)
+ - "⑾": [T: "suluissa yksitoista"] # 0x247e (en: 'parenthesized eleven', google translation)
+ - "⑿": [T: "suluissa kaksitoista"] # 0x247f (en: 'parenthesized twelve', google translation)
+ - "⒀": [T: "suluissa kolmetoista"] # 0x2480 (en: 'parenthesized thirteen', google translation)
+ - "⒁": [T: "suluissa neljätoista"] # 0x2481 (en: 'parenthesized fourteen', google translation)
+ - "⒂": [T: "suluissa viisitoista"] # 0x2482 (en: 'parenthesized fifteen', google translation)
+ - "⒃": [T: "suluissa kuusitoista"] # 0x2483 (en: 'parenthesized sixteen', google translation)
+ - "⒄": [T: "suluissa seitsemäntoista"] # 0x2484 (en: 'parenthesized seventeen', google translation)
+ - "⒅": [T: "suluissa kahdeksantoista"] # 0x2485 (en: 'parenthesized eighteen', google translation)
+ - "⒆": [T: "suluissa yhdeksäntoista"] # 0x2486 (en: 'parenthesized nineteen', google translation)
+ - "⒇": [T: "suluissa kaksikymmentä"] # 0x2487 (en: 'parenthesized twenty', google translation)
+ - "⒈-⒐": # 0x2488 - 0x2491 # FI: should these be ordinals?
+ - SPELL: "translate('.', '⒈⒉⒊⒋⒌⒍⒎⒏⒐', '123456789')"
+ - T: "pisteellä" # (en: 'with period', google translation)
+ - "⒑": [T: "kymmenen pisteellä"] # 0x2491 (en: 'ten with period', google translation)
+ - "⒒": [T: "yksitoista pisteellä"] # 0x2492 (en: 'eleven with period', google translation)
+ - "⒓": [T: "kaksitoista pisteellä"] # 0x2493 (en: 'twelve with period', google translation)
+ - "⒔": [T: "kolmetoista pisteellä"] # 0x2494 (en: 'thirteen with period', google translation)
+ - "⒕": [T: "neljätoista pisteellä"] # 0x2495 (en: 'fourteen with period', google translation)
+ - "⒖": [T: "viisitoista pisteellä"] # 0x2496 (en: 'fifteen with period', google translation)
+ - "⒗": [T: "kuusitoista pisteellä"] # 0x2497 (en: 'sixteen with period', google translation)
+ - "⒘": [T: "seitsemäntoista pisteellä"] # 0x2498 (en: 'seventeen with period', google translation)
+ - "⒙": [T: "kahdeksantoista pisteellä"] # 0x2499 (en: 'eighteen with period', google translation)
+ - "⒚": [T: "yhdeksäntoista pisteellä"] # 0x249a (en: 'nineteen with period', google translation)
+ - "⒛": [T: "kaksikymmentä pisteellä"] # 0x249b (en: 'twenty with period', google translation)
+ - "⒜-⒵": # 0x249c - 0x24b5
+ - T: "suluissa" # (en: 'parenthesized', google translation)
+ - SPELL: "translate('.', '⒜⒝⒞⒟⒠⒡⒢⒣⒤⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "Ⓐ-Ⓩ":
+ - T: "ympyröity" # (en: 'circled', google translation)
+ - SPELL: "translate('.', 'ⒶⒷⒸⒹⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉⓊⓋⓌⓍⓎⓏ', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "🅐-🅩": # 0x1f150 - 0x1f169
+ - T: "musta ympyröity" # (en: 'black circled', google translation)
+ - SPELL: "translate('.', '🅐🅑🅒🅓🅔🅕🅖🅗🅘🅙🅚🅛🅜🅝🅞🅟🅠🅡🅢🅣🅤🅥🅦🅧🅨🅩', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "ⓐ-ⓩ": # 0x24d0 - 0x24e9
+ - T: "ympyröity" # (en: 'circled', google translation)
+ - SPELL: "translate('.', 'ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ', 'abcdefghijklmnopqrstuvwxyz')"
+ - "⓪": [T: "ympyröity nolla"] # 0x24ea (en: 'circled zero', google translation)
+ - "⓫": [T: "musta ympyröity yksitoista"] # 0x24eb (en: 'black circled eleven', google translation)
+ - "⓬": [T: "musta ympyröity kaksitoista"] # 0x24ec (en: 'black circled twelve', google translation)
+ - "⓭": [T: "musta ympyröity kolmetoista"] # 0x24ed (en: 'black circled thirteen', google translation)
+ - "⓮": [T: "musta ympyröity neljätoista"] # 0x24ee (en: 'black circled fourteen', google translation)
+ - "⓯": [T: "musta ympyröity viisitoista"] # 0x24ef (en: 'black circled fifteen', google translation)
+ - "⓰": [T: "musta ympyröity kuusitoista"] # 0x24f0 (en: 'black circled sixteen', google translation)
+ - "⓱": [T: "musta ympyröity seitsemäntoista"] # 0x24f1 (en: 'black circled seventeen', google translation)
+ - "⓲": [T: "musta ympyröity kahdeksantoista"] # 0x24f2 (en: 'black circled eighteen', google translation)
+ - "⓳": [T: "musta ympyröity yhdeksäntoista"] # 0x24f3 (en: 'black circled nineteen', google translation)
+ - "⓴": [T: "musta ympyröity kaksikymmentä"] # 0x24f4 (en: 'black circled twenty', google translation)
+ - "⓵-⓽": # 0x24f5 - 0x24fe
+ - T: "kaksinkertaisesti ympyröity" # (en: 'double circled', google translation)
+ - SPELL: "translate('.', '⓵⓶⓷⓸⓹⓺⓻⓼⓽', '123456789')"
+ - "⓾": [T: "kaksinkertaisesti ympyröity kymmenen"] # 0x24fe (en: 'double circled ten', google translation)
+ - "⓿": [T: "musta ympyröity nolla"] # 0x24ff (en: 'black circled zero', google translation)
+ - "■": [T: "musta neliö"] # 0x25a0 (en: 'black square')
+ - "□": [T: "valkoinen neliö"] # 0x25a1 (en: 'white square')
+ - "▢": [T: "pyöreäkulmainen valkoinen neliö"] # 0x25a2 (en: 'white square with rounded corners', google translation)
+ - "▣": [T: "mustan neliön sisältävä valkoinen neliö"] # 0x25a3 (en: 'white square containing small black square', google translation)
+ - "▤": [T: "neliö vaakasuoralla värityksellä"] # 0x25a4 (en: 'square with horizontal fill', google translation)
+ - "▥": [T: "neliö pystysuoralla värityksellä"] # 0x25a5 (en: 'square with vertical fill', google translation)
+ - "▦": [T: "neliö ruudukkovärityksellä"] # 0x25a6 (en: 'square with orthogonal crosshatch fill', google translation)
+ - "▧": [T: "neliö värityksellä ylävasemmalta alaoikelle"] # 0x25a7 (en: 'square with upper left to lower right fill', google translation)
+ - "▨": [T: "neliö värityksellä yläoikealta alavasemmalle"] # 0x25a8 (en: 'square with upper right to lower left fill', google translation)
+ - "▩": [T: "neliö diagonaalisella ristikkovärityksellä"] # 0x25a9 (en: 'square with diagonal crosshatch fill', google translation)
+ - "▪": [T: "pieni musta neliö"] # 0x25aa (en: 'black small square', google: 'musta pieni neliö')
+ - "▫": [T: "pieni valkoinen neliö"] # 0x25ab (en: 'white small square', google: 'valkoinen pieni neliö')
+ - "▬": [T: "musta suorakaide"] # 0x25ac (en: 'black rectangle', google translation)
+ - "▭": [T: "valkoinen suorakaide"] # 0x25ad (en: 'white rectangle', google: 'valkoinen suorakulmio')
+ - "▮": [T: "musta pysty suorakaide"] # 0x25ae (en: 'black vertical rectangle', google: 'musta pystysuora suorakulmio')
+ - "▯": [T: "valkoinen pysty suorakaide"] # 0x25af (en: 'white vertical rectangle', google: 'valkoinen pystysuora suorakulmio')
+ - "▰": [T: "musta suunnikas"] # 0x25b0 (en: 'black parallelogram', google translation)
+ - "▱": [T: "valkoinen suunnikas"] # 0x25b1 (en: 'white parallelogram', google: 'valkoinen rinnakkainen ohjelma')
+ - "▲": [T: "musta ylös osoittava kolmio"] # 0x25b2 (en: 'black up pointing triangle', google: 'musta ylöspäin osoittava kolmio')
+ - "△": [T: "valkoinen ylös osoittava kolmio"] # 0x25b3 (en: 'white up pointing triangle', google: 'valkoinen osoitus kolmio')
+ - "▴": [T: "pieni musta ylös osoittava kolmio"] # 0x25b4 (en: 'black up pointing small triangle', google: 'musta ylös osoittaen pientä kolmiota')
+ - "▵": [T: "pieni valkoinen ylös osoittava kolmio"] # 0x25b5 (en: 'white up pointing small triangle', google: 'valkoinen osoittaen pientä kolmiota')
+ - "▶": [T: "musta oikealle osoittava kolmio"] # 0x25b6 (en: 'black right pointing triangle', google: 'musta oikea osoitus kolmio')
+ - "▷": [T: "valkoinen oikealle osoittava kolmio"] # 0x25b7 (en: 'white right pointing triangle', google: 'valkoinen oikea osoitus kolmio')
+ - "▸": [T: "pieni musta oikealle osoittava kolmio"] # 0x25b8 (en: 'black right pointing small triangle', google: 'musta oikea osoittaen pieni kolmio')
+ - "▹": [T: "pieni valkoinen oikealle osoittava kolmio"] # 0x25b9 (en: 'white right pointing small triangle', google: 'valkoinen oikea osoittaen pieni kolmio')
+ - "►": [T: "musta oikea osoitin"] # 0x25ba (en: 'black right pointing pointer', google translation)
+ - "▻": [T: "valkoinen oikea osoitin"] # 0x25bb (en: 'white right pointing pointer', google translation)
+ - "▼": [T: "musta alas osoittava kolmio"] # 0x25bc (en: 'black down pointing triangle', google: 'musta alaspäin osoittava kolmio')
+ - "▽": [T: "valkoinen alas osoittava kolmio"] # 0x25bd (en: 'white down pointing triangle', google: 'valkoinen alaspäin osoittava kolmio')
+ - "▾": [T: "pieni musta alas osoittava kolmio"] # 0x25be (en: 'black down pointing small triangle', google: 'musta alaspäin osoittaen pieni kolmio')
+ - "▿": [T: "pieni valkoinen alas osoittava kolmio"] # 0x25bf (en: 'white down pointing small triangle', google: 'valkoinen alas osoittaen pieni kolmio')
+ - "◀": [T: "musta vasemmalle osoittava kolmio"] # 0x25c0 (en: 'black left pointing triangle', google: 'musta vasen osoitus kolmio')
+ - "◁": [T: "valkoinen vasemmalle osoittava kolmio"] # 0x25c1 (en: 'white left pointing triangle', google: 'valkoinen vasen osoitus kolmio')
+ - "◂": [T: "pieni musta vasemmalle osoittava kolmio"] # 0x25c2 (en: 'black left pointing small triangle', google: 'musta vasen osoittaa pieni kolmio')
+ - "◃": [T: "pieni valkoinen vasemmalle osoittava kolmio"] # 0x25c3 (en: 'white left pointing small triangle', google: 'valkoinen vasen osoitus pieni kolmio')
+ - "◄": [T: "musta vasemmalle osoittava osoitin"] # 0x25c4 (en: 'black left pointing pointer', google: 'musta vasen osoitin')
+ - "◅": [T: "valkoinen vasemmalle osoittava osoitin"] # 0x25c5 (en: 'white left pointing pointer', google: 'valkoinen vasen osoitin')
+ - "◆": [T: "musta timantti"] # 0x25c6 (en: 'black diamond', google: 'musta timantti')
+ - "◇": [T: "valkoinen timantti"] # 0x25c7 (en: 'white diamond', google: 'valkoinen timantti')
+ - "◈": [T: "valkoinen timantti jonka sisällä musta timantti"] # 0x25c8 (en: 'white diamond containing black small diamond', google: 'valkoinen timantti, joka sisältää mustan pienen timantin')
+ - "◉": [T: "valkoinen ympyrä jonka sisällä musta ympyrä"] # 0x25c9 (en: 'fisheye', google: 'kalake')
+ - "◊": [T: "vinoneliö"] # 0x25ca (en: 'lozenge', google: 'pastilli')
+ - "○": [T: "valkoinen ympyrä"] # 0x25cb (en: 'white circle')
+ - "◌": [T: "pisteympyrä"] # 0x25cc (en: 'dotted circle', google: 'pisteympyrä')
+ - "◍": [T: "ympyrä ja pystysuora viivoitus"] # 0x25cd (en: 'circle with vertical fill', google: 'ympyrä pystysuoralla täyttöä')
+ - "◎": [T: "kaksi sisäkkäistä ympyrää"] # 0x25ce (en: 'bullseye', google: 'bullseye')
+ - "●": [T: "musta ympyrä"] # 0x25cf (en: 'black circle')
+ - "◐": [T: "ympyrä vasen puoli musta"] # 0x25d0 (en: 'circle with left half black', google: 'ympyrä vasemmalla puoliksi mustalla')
+ - "◑": [T: "ympyrä oikea puoli musta"] # 0x25d1 (en: 'circle with right half black', google: 'ympyrä oikealla puoliksi mustalla')
+ - "◒": [T: "ympyrä alapuoli musta"] # 0x25d2 (en: 'circle with lower half black', google: 'ympyrä, jossa on alaosa musta')
+ - "◓": [T: "ympyrä yläpuoli musta"] # 0x25d3 (en: 'circle with upper half black', google: 'ympyrä yläpuoliskolla mustalla')
+ - "◔": [T: "ympyrä yläoikea neljännes musta"] # 0x25d4 (en: 'circle with upper right quadrant black', google: 'ympyrä oikealla yläkulmalla kvadrantti musta')
+ - "◕": [T: "ympyrä ylävasen neljännes mustaamatta"] # 0x25d5 (en: 'circle with all but upper left quadrant black', google: 'ympyrä kaikilla paitsi vasemmalla yläosalla mustaa')
+ - "◖": [T: "musta vasen puoliympyrä"] # 0x25d6 (en: 'left half black circle', google: 'vasen puoli musta ympyrä')
+ - "◗": [T: "musta oikea puoliympyrä"] # 0x25d7 (en: 'right half black circle', google: 'oikea puoli musta ympyrä')
+ - "◘": [T: "luetelmapallon negatiivi"] # 0x25d8 (en: 'inverse bullet', google: 'käänteinen luoti')
+ - "◙": [T: "valkoisen ympyrän negatiivi"] # 0x25d9 (en: 'inverse white circle', google: 'käänteinen valkoinen ympyrä')
+ - "◚": [T: "valkoisen ympyrän negatiivin yläpuoli"] # 0x25da (en: 'upper half inverse white circle', google: 'yläosa käänteinen valkoinen ympyrä')
+ - "◛": [T: "valkoisen ympyrän negatiivin alapuoli"] # 0x25db (en: 'lower half inverse white circle', google: 'alempi puoli käänteinen valkoinen ympyrä')
+ - "◜": [T: "ympyrän kaaren vasen yläneljännes"] # 0x25dc (en: 'upper left quadrant circular arc', google: 'vasen yläosa kvadrantti pyöreä kaari')
+ - "◝": [T: "ympyrän kaaren oikea yläneljännes"] # 0x25dd (en: 'upper right quadrant circular arc', google: 'oikea yläosa kvadrantti pyöreä kaari')
+ - "◞": [T: "ympyrän kaaren oikea alaneljännes"] # 0x25de (en: 'lower right quadrant circular arc', google: 'oikea alaosa neljänneksen pyöreä kaari')
+ - "◟": [T: "ympyrän kaaren vasen alaneljännes"] # 0x25df (en: 'lower left quadrant circular arc', google: 'vasen alakulmainen kvadrantti pyöreä kaari')
+ - "◠": [T: "ympyrän kaaren yläpuolikas"] # 0x25e0 (en: 'upper half circle', google: 'yläosa ympyrä')
+ - "◡": [T: "ympyrän kaaren alapuolikas"] # 0x25e1 (en: 'lower half circle', google: 'alempi puoli ympyrä')
+ - "◢": [T: "musta oikea alakolmio"] # 0x25e2 (en: 'black lower right triangle', google: 'musta alaosa oikea kolmio')
+ - "◣": [T: "musta vasen alakolmio"] # 0x25e3 (en: 'black lower left triangle', google: 'musta vasen alaosa kolmio')
+ - "◤": [T: "musta vasen yläkolmio"] # 0x25e4 (en: 'black upper left triangle', google: 'musta vasen yläosa kolmio')
+ - "◥": [T: "musta oikea yläkolmio"] # 0x25e5 (en: 'black upper right triangle', google: 'musta oikea yläosa kolmio')
+ - "◦": [T: "valkoinen pallo"] # 0x25e6 (en: 'composition', google: 'sävellys')
+ - "◧": [T: "neliö vasen puoli musta"] # 0x25e7 (en: 'square with left half black', google: 'neliö vasemmalla puoliksi mustalla')
+ - "◨": [T: "neliö oikea puoli musta"] # 0x25e8 (en: 'square with right half black', google: 'neliö oikealla puoliksi mustalla')
+ - "◩": [T: "neliö vasen ylädiagonaali musta"] # 0x25e9 (en: 'square with upper left half black', google: 'neliö vasemmalla yläosa mustalla')
+ - "◪": [T: "neliö oikea aladiagonaali musta"] # 0x25ea (en: 'square with lower right half black', google: 'neliö oikealla alaosa mustalla')
+ - "◫": [T: "valkoinen neliö pystysuoralla poikkiviivalla"] # 0x25eb (en: 'white square with bisecting line', google: 'valkoinen neliö puolustamisviivalla')
+ - "◬": [T: "valkoinen ylös osoittava kolmio pisteellä"] # 0x25ec (en: 'white up pointing triangle with dot', google: 'valkoinen osoittava kolmio pisteellä')
+ - "◭": [T: "valkoinen ylös osoittava kolmio, vasen puoli musta"] # 0x25ed (en: 'up pointing triangle with left half black', google: 'ylöspäin osoittaen kolmio vasemmalla puoliksi mustalla')
+ - "◮": [T: "valkoinen ylös osoittava kolmio, oikea puoli musta"] # 0x25ee (en: 'up pointing triangle with right half black', google: 'ylös osoittaen kolmio oikealla puoliksi mustalla')
+ - "◯": [T: "valkoinen ympyrä"] # 0x25ef (en: 'large circle', google: 'suuri ympyrä')
+ - "◰": [T: "valkoinen neliö josta on erotettu ylävasen neljännes"] # 0x25f0 (en: 'white square with upper left quadrant', google translation)
+ - "◱": [T: "valkoinen neliö josta on erotettu alavasen neljännes"] # 0x25f1 (en: 'white square with lower left quadrant', google translation)
+ - "◲": [T: "valkoinen neliö josta on erotettu alaoikea neljännes"] # 0x25f2 (en: 'white square with lower right quadrant', google translation)
+ - "◳": [T: "valkoinen neliö josta on erotettu yläoikea neljännes"] # 0x25f3 (en: 'white square with upper right quadrant', google translation)
+ - "◴": [T: "valkoinen ympyrä josta on erotettu ylävasen neljännes"] # 0x25f4 (en: 'white circle with upper left quadrant', google translation)
+ - "◵": [T: "valkoinen ympyrä josta on erotettu alavasen neljännes"] # 0x25f5 (en: 'white circle with lower left quadrant', google translation)
+ - "◶": [T: "valkoinen ympyrä josta on erotettu alaoikea neljännes"] # 0x25f6 (en: 'white circle with lower right quadrant', google translation)
+ - "◷": [T: "valkoinen ympyrä josta on erotettu yläoikea neljännes"] # 0x25f7 (en: 'white circle with upper right quadrant', google translation)
+ - "◸": [T: "ylävasen kolmio"] # 0x25f8 (en: 'upper left triangle', google: 'vasen yläosa kolmio')
+ - "◹": [T: "yläoikea kolmio"] # 0x25f9 (en: 'upper right triangle', google: 'oikea yläosa kolmio')
+ - "◺": [T: "alavasen kolmio"] # 0x25fa (en: 'lower left triangle', google: 'vasen alaosa kolmio')
+ - "◻": [T: "keskikokoinen valkoinen neliö"] # 0x25fb (en: 'white medium square', google: 'valkoinen keskipitkä neliö')
+ - "◼": [T: "keskikokoinen musta neliö"] # 0x25fc (en: 'black medium square', google: 'musta keskipitkä neliö')
+ - "◽": [T: "pienehkö valkoinen neliö"] # 0x25fd (en: 'white medium small square', google: 'valkoinen keskipitkä pieni neliö')
+ - "◾": [T: "pienehkö musta neliö"] # 0x25fe (en: 'black medium small square', google: 'musta keskipitkä pieni neliö')
+ - "◿": [T: "alaoikea kolmio"] # 0x25ff (en: 'lower right triangle', google: 'oikea alaosa kolmio')
+ - "♠": [T: "musta pata"] # 0x2660 (en: 'black spade suit', google: 'musta lapio puku')
+ - "♡": [T: "valkoinen hertta"] # 0x2661 (en: 'white heart suit', google: 'valkoinen sydänpuku')
+ - "♢": [T: "valkoinen ruutu"] # 0x2662 (en: 'white diamond suit', google: 'valkoinen timanttipuku')
+ - "♣": [T: "musta risti"] # 0x2663 (en: 'black club suit', google: 'mustakerhopuku')
+ - "♤": [T: "valkoinen pata"] # 0x2664 (en: 'white spade suit', google: 'valkoinen lapiopuku')
+ - "♥": [T: "musta hertta"] # 0x2665 (en: 'black heart suit', google: 'musta sydänpuku')
+ - "♦": [T: "musta ruutu"] # 0x2666 (en: 'black diamond suit', google: 'musta timanttipuku')
+ - "♧": [T: "valkoinen risti"] # 0x2667 (en: 'white club suit', google: 'valkoinen klubipuku')
+ - "❨": [T: "keskikokoinen vasen sulkukoriste"] # 0x2768 (en: 'medium left parentheses ornament', google translation)
+ - "❩": [T: "keskikokoinen oikea sulkukoriste"] # 0x2769 (en: 'medium right parentheses ornament', google translation)
+ - "❪": [T: "keskikokoinen litistetty vasen sulkukoriste"] # 0x276a (en: 'medium flattened left parentheses ornament', google translation)
+ - "❫": [T: "keskikokoinen litistetty oikea sulkukoriste"] # 0x276b (en: 'medium flattened right parentheses ornament', google translation)
+ - "❬": [T: "keskikokoinen vasen kulmasulkukoriste"] # 0x276c (en: 'medium left-pointing angle bracket ornament', google translation)
+ - "❭": [T: "keskikokoinen oikea kulmasulkukoriste"] # 0x276d (en: 'medium right-pointing angle bracket ornament', google translation)
+ - "❮": [T: "raskas vasen kulmalainausmerkkikoriste"] # 0x276e (en: 'heavy left-pointing angle quotation mark ornament', google translation)
+ - "❯": [T: "raskas oikea kulmalainausmerkkikoriste"] # 0x276f (en: 'heavy right-pointing angle quotation mark ornament', google translation)
+ - "❰": [T: "raskas vasen kulmasulkukoriste"] # 0x2770 (en: 'heavy left-pointing angle bracket ornament', google translation)
+ - "❱": [T: "raskas oikea kulmasulkukoriste"] # 0x2771 (en: 'heavy right-pointing angle bracket ornament', google translation)
+ - "❲": [T: "kevyt vasen kilpikonnankuorisulkukoriste"] # 0x2772 (en: 'light left tortoise shell bracket ornament', google translation)
+ - "❳": [T: "kevyt oikea kilpikonnankuorisulkukoriste"] # 0x2773 (en: 'light right tortoise shell bracket ornament', google translation)
+ - "❴": [T: "keskikokoinen vasen aaltosulkukoriste"] # 0x2774 (en: 'medium left brace ornament', google translation)
+ - "❵": [T: "keskikokoinen oikea aaltosulkukoriste"] # 0x2775 (en: 'medium right brace ornament', google translation)
+ - "❶": [T: "musta ympyröity yksi"] # 0x2776 (en: 'black circled one', google translation)
+ - "❷": [T: "musta ympyröity kaksi"] # 0x2777 (en: 'black circled two', google translation)
+ - "❸": [T: "musta ympyröity kolme"] # 0x2778 (en: 'black circled three', google translation)
+ - "❹": [T: "musta ympyröity neljä"] # 0x2779 (en: 'black circled four', google translation)
+ - "❺": [T: "musta ympyröity viisi"] # 0x277a (en: 'black circled five', google translation)
+ - "❻": [T: "musta ympyröity kuusi"] # 0x277b (en: 'black circled six', google translation)
+ - "❼": [T: "musta ympyröity seitsemän"] # 0x277c (en: 'black circled seven', google translation)
+ - "❽": [T: "musta ympyröity kahdeksan"] # 0x277d (en: 'black circled eight', google translation)
+ - "❾": [T: "musta ympyröity yhdeksän"] # 0x277e (en: 'black circled nine', google translation)
+ - "❿": [T: "musta ympyröity kymmenen"] # 0x277f (en: 'black circled ten', google translation)
+ - "➀": [T: "ympyröity sans serif yksi"] # 0x2780 (en: 'circled sans serif one', google translation)
+ - "➁": [T: "ympyröity sans serif kaksi"] # 0x2781 (en: 'circled sans serif two', google translation)
+ - "➂": [T: "ympyröity sans serif kolme"] # 0x2782 (en: 'circled sans serif three', google translation)
+ - "➃": [T: "ympyröity sans serif neljä"] # 0x2783 (en: 'circled sans serif four', google translation)
+ - "➄": [T: "ympyröity sans serif viisi"] # 0x2784 (en: 'circled sans serif five', google translation)
+ - "➅": [T: "ympyröity sans serif kuusi"] # 0x2785 (en: 'circled sans serif six', google translation)
+ - "➆": [T: "ympyröity sans serif seitsemän"] # 0x2786 (en: 'circled sans serif seven', google translation)
+ - "➇": [T: "ympyröity sans serif kahdeksan"] # 0x2787 (en: 'circled sans serif eight', google translation)
+ - "➈": [T: "ympyröity sans serif yhdeksän"] # 0x2788 (en: 'circled sans serif nine', google translation)
+ - "➉": [T: "ympyröity sans serif kymmenen"] # 0x2789 (en: 'circled sans serif ten', google translation)
+ - "➊": [T: "musta ympyröity sans serif yksi"] # 0x278a (en: 'black circled sans serif one', google translation)
+ - "➋": [T: "musta ympyröity sans serif kaksi"] # 0x278b (en: 'black circled sans serif two', google translation)
+ - "➌": [T: "musta ympyröity sans serif kolme"] # 0x278c (en: 'black circled sans serif three', google translation)
+ - "➍": [T: "musta ympyröity sans serif neljä"] # 0x278d (en: 'black circled sans serif four', google translation)
+ - "➎": [T: "musta ympyröity sans serif viisi"] # 0x278e (en: 'black circled sans serif five', google translation)
+ - "➏": [T: "musta ympyröity sans serif kuusi"] # 0x278f (en: 'black circled sans serif six', google translation)
+ - "➐": [T: "musta ympyröity sans serif seitsemän"] # 0x2790 (en: 'black circled sans serif seven', google translation)
+ - "➑": [T: "musta ympyröity sans serif kahdeksan"] # 0x2791 (en: 'black circled sans serif eight', google translation)
+ - "➒": [T: "musta ympyröity sans serif yhdeksän"] # 0x2792 (en: 'black circled sans serif nine', google translation)
+ - "➓": [T: "musta ympyröity sans serif kymmenen"] # 0x2793 (en: 'black circled sans serif ten', google translation)
+ - "➔": [T: "raskas leveäpäinen oikea nuoli"] # 0x2794 (en: 'heavy wide-headed rightwards arrow', google translation)
+ - "➕": [T: "raskas plusmerkki"] # 0x2795 (en: 'heavy plus sign', google translation)
+ - "➖": [T: "raskas miinusmerkki"] # 0x2796 (en: 'heavy minus sign', google translation)
+ - "➗": [T: "raskas jakomerkki"] # 0x2797 (en: 'heavy division sign', google translation)
+ - "➘": [T: "raskas alaoikea nuoli"] # 0x2798 (en: 'heavy south east arrow', google translation)
+ - "➙": [T: "raskas oikea nuoli"] # 0x2799 (en: 'heavy rightwards arrow', google translation)
+ - "➚": [T: "raskas yläoikea nuoli"] # 0x279a (en: 'heavy north east arrow', google translation)
+ - "➛": [T: "laatimispiste oikealle nuoli"] # 0x279b (en: 'drafting point rightwards arrow', google translation)
+ - "➜": [T: "raskas pyöristetty oikea nuoli"] # 0x279c (en: 'heavy round-tipped rightwards arrow', google translation)
+ - "➝": [T: "kolmionpäinen oikea nuoli"] # 0x279d (en: 'triangle-headed rightwards arrow', google translation)
+ - "➞": [T: "raskas kolmiopäinen oikea nuoli"] # 0x279e (en: 'heavy triangle-headed rightwards arrow', google translation)
+ - "➟": [T: "kolmiopäinen oikea nuoli katkoviivalla"] # 0x279f (en: 'dashed triangle-headed rightwards arrow', google translation)
+ - "➠": [T: "raskas kolmiopäinen oikea nuoli katkoviivalla"] # 0x27a0 (en: 'heavy dashed triangle-headed rightwards arrow', google translation)
+ - "➡": [T: "oikealle osoittava musta nuoli"] # 0x27a1 (en: 'black rightwards arrow', google translation)
+ - "➢": [T: "yläpuolelta valkea oikealle osoittava nuolenpää"] # 0x27a2 (en: 'three d top lighted rightwards arrow', google translation)
+ - "➣": [T: "alapuolelta valkea oikealle osoittava nuolenpää"] # 0x27a3 (en: 'three d bottom lighted rightwards arrow', google translation)
+ - "➤": [T: "musta oikea nuolenpää"] # 0x27a4 (en: 'black rightwards arrowhead', google translation)
+ - "➥": [T: "raskas musta kaareva alas ja oikealle osoittava nuoli"] # 0x27a5 (en: 'heavy black curved downwards and rightwards arrow', google translation)
+ - "➦": [T: "raskas musta kaareva ylös ja oikealle osoittava nuoli"] # 0x27a6 (en: 'heavy black curved upwards and rightwards arrow', google translation)
+ - "➧": [T: "raskas musta lyhyt oikea nuoli"] # 0x27a7 (en: 'squat black rightwards arrow', google translation)
+ - "➨": [T: "raskas terävä musta oikea nuoli"] # 0x27a8 (en: 'heavy concave-pointed black rightwards arrow', google translation)
+ - "➩": [T: "oikea oikealle varjostettu valkoinen nuoli"] # 0x27a9 (en: 'right-shaded white rightwards arrow', google translation)
+ - "➪": [T: "oikea vasemmalle varjostettu valkoinen nuoli"] # 0x27aa (en: 'left-shaded white rightwards arrow', google translation)
+ - "➫": [T: "taaksepäin kallistettu varjostettu valkoinen oikealle osoittava nuoli"] # 0x27ab (en: 'back-tilted shadowed white rightwards arrow', google translation)
+ - "➬": [T: "eteenpäin kallistettu varjostettu valkoinen oikealle osoittava nuoli"] # 0x27ac (en: 'front-tilted shadowed white rightwards arrow', google translation)
+ - "➭": [T: "raskas oikea alhaalta varjostettu valkoinen nuoli"] # 0x27ad (en: 'heavy lower right-shadowed white rightwards arrow', google translation)
+ - "➮": [T: "raskas oikea ylhäältä varjostettu valkoinen nuoli"] # 0x27ae (en: 'heavy upper right-shadowed white rightwards arrow', google translation)
+ - "➯": [T: "raskas oikea alhaalta varjostettu valkoinen nuoli lovella"] # 0x27af (en: 'notched lower right-shadowed white rightwards arrow', google translation)
+ - "➱": [T: "raskas oikea ylhäältä varjostettu valkoinen nuoli lovella"] # 0x27b1 (en: 'notched upper right-shadowed white rightwards arrow', google translation)
+ - "➲": [T: "ympyröity raskas oikea valkoinen nuoli"] # 0x27b2 (en: 'circled heavy white rightwards arrow', google translation)
+ - "➳": [T: "oikea nuoli valkoisilla höyhenillä"] # 0x27b3 (en: 'white-feathered rightwards arrow', google translation)
+ - "➴": [T: "alaoikea nuoli mustilla höyhenillä"] # 0x27b4 (en: 'black-feathered south east arrow', google translation)
+ - "➵": [T: "oikea nuoli mustilla höyhenillä"] # 0x27b5 (en: 'black-feathered rightwards arrow', google translation)
+ - "➶": [T: "yläoikea nuoli mustilla höyhenillä"] # 0x27b6 (en: 'black-feathered north east arrow', google translation)
+ - "➷": [T: "raskas alaoikea nuoli mustilla höyhenillä"] # 0x27b7 (en: 'heavy black-feathered south east arrow', google translation)
+ - "➸": [T: "raskas oikea nuoli mustilla höyhenillä"] # 0x27b8 (en: 'heavy black-feathered rightwards arrow', google translation)
+ - "➹": [T: "raskas yläoikea nuoli mustilla höyhenillä"] # 0x27b9 (en: 'heavy black-feathered north east arrow', google translation)
+ - "➺": [T: "oikea nuoli kyynelpiikillä"] # 0x27ba (en: 'teradrop-barbed rightwards arrow', google translation)
+ - "➻": [T: "raskas nuoli kyynelpiikillä"] # 0x27bb (en: 'heavy teardrop-shanked rightwards arrow', google translation)
+ - "➼": [T: "oikea nuoli kiilalla"] # 0x27bc (en: 'wedge-tailed rightwards arrow', google translation)
+ - "➽": [T: "raskas oikea nuoli kiilalla"] # 0x27bd (en: 'heavy wedge-tailed rightwards arrow', google translation)
+ - "➾": [T: "oikea ääriviivanuoli"] # 0x27be (en: 'open-outlined rightwards arrow', google translation)
+ - "⟀": [T: "kolmiulotteinen kulma"] # 0x27c0 (en: 'three dimensional angle')
+ - "⟁": [T: "kaksi valkoista kolmiota sisäkkäin"] # 0x27c1 (en: 'white triangle containing small white triangle', google: 'valkoinen kolmio, joka sisältää pientä valkoista kolmiota')
+ - "⟂": # 0x27c2
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "kohtisuora" # (en: 'perpendicular to', google: 'kohtisuorassa')
+ - "⟃": # 0x27c3
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "avoin osajoukko" # (en: 'an open subset of')
+ - "⟄": # 0x27c4
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "avoin yläjoukko" # (en: 'an open superset of', google: 'avoin superset')
+ - "⟅": [T: "vasen s-muotoinen laukkuerottaja"] # 0x27c5 (google: 'vasen s-muotoinen laukku')
+ - "⟆": [T: "oikea s-muotoinen laukkuerottaja"] # 0x27c6 (google: 'oikea s-muotoinen laukku')
+ - "⟇": [T: "tai pisteellä"] # 0x27c7 (en: 'or with dot inside', google: 'tai pisteellä sisällä')
+ - "⟈": [T: "kenoviiva osajoukko"] # 0x27c8 (en: 'reverse solidus preceding subset', google: 'käänteinen solidus edeltävä alajoukko')
+ - "⟉": [T: "ylijoukko vinoviiva"] # 0x27c9 (en: 'superset preceding solidus', google: 'superset edeltävä solidus')
+ - "⟊": [T: "pystyviiva vaakasuoralla poikkiviivalla"] # 0x27ca (en: 'vertical bar with horizontal stroke', google: 'pystysuora palkki vaakasuuntaisella iskulla')
+ - "⟋": [T: "matemaattinen nouseva diagonaali"] # 0x27cb (en: 'mathematical rising diagonal', google translation)
+ - "⟌": [T: "jakokulma"] # 0x27cc (en: 'long division', google: 'jakolaskutoimitus')
+ - "⟍": [T: "matemaattinen laskeva diagonaali"] # 0x27cd (en: 'mathematical falling diagonal', google translation)
+ - "⟎": [T: "looginen ja neliössä"] # 0x27ce (en: 'squared logical and', google translation)
+ - "⟏": [T: "looginen tai neliössä"] # 0x27cf (en: 'squared logical or', google translation)
+ - "⟐": [T: "valkoinen timantti keskitetyllä pisteellä"] # 0x27d0 (en: 'white diamond with centered dot', google translation)
+ - "⟑": [T: "ja pisteellä"] # 0x27d1 (en: 'and with dot', google: 'ja pisteellä')
+ - "⟒": [T: "ylös aukeava kuuluu joukkoon"] # 0x27d2 (en: 'element of opening upwards', google: 'elementti avaamisesta ylöspäin')
+ - "⟓": [T: "oikea alakulma pisteellä"] # 0x27d3 (en: 'lower right corner with dot', google: 'oikea alakulma pisteellä')
+ - "⟔": [T: "vasen alakulma pisteellä"] # 0x27d4 (en: 'upper left corner with dot', google: 'vasen yläkulma pisteellä')
+ - "⟕": [T: "vasen ulkoinen liitos"] # 0x27d5 (google: 'vasen ulkoinen liittyminen')
+ - "⟖": [T: "oikea ulkoinen liitos"] # 0x27d6 (google: 'oikea ulkoinen liittyminen')
+ - "⟗": [T: "täysi ulkoinen liitos"] # 0x27d7 (google: 'täysi ulkoinen liittyminen')
+ - "⟘": [T: "suuri nupi ylöspäin"] # 0x27d8 (google: 'suuri ylöspäin')
+ - "⟙": [T: "suuri nupi alaspäin"] # 0x27d9 (google: 'suuri alaspäin')
+ - "⟚": [T: "tuplaportti vasemmalle ja oikealle"] # 0x27da (google: 'vasen ja oikea kaksoiskivi')
+ - "⟛": [T: "vasen ja oikea nupi"] # 0x27db (google: 'vasen ja oikea tarttuva')
+ - "⟜": [T: "vasen monikuvaus"] # 0x27dc (google: 'vasen multimep') # FI: meaning unclear
+ - "⟝": [T: "pitkä oikea nupi"] # 0x27dd (google: 'pitkä oikea tarttuva')
+ - "⟞": [T: "pitkä vasen nupi"] # 0x27de (google: 'pitkä vasen tarttuva')
+ - "⟟": [T: "nupi ylös ympyrällä"] # 0x27df (en: 'up tack with circle above', google: 'yllä oleva ympyrä')
+ - "⟠": [T: "vinoneliö vaakaviivalla"] # 0x27e0 (google: 'lozenge jaettuna vaakasuunnassa')
+ - "⟡": [T: "valkoinen terävä timantti"] # 0x27e1 (google: 'valkoinen koverapuolinen timantti')
+ - "⟢": [T: "valkoinen terävä timantti vasemmanpuoleisella nupilla"] # 0x27e2 (en: 'white concave sided diamond with leftwards tick', google: 'valkoinen koverapuolinen timantti vasemmalla rastilla')
+ - "⟣": [T: "valkoinen terävä timantti oikeanpuoleisella nupilla"] # 0x27e3 (en: 'white concave sided diamond with rightwards tick', google: 'valkoinen koverapuolinen timantti oikealla puolella')
+ - "⟤": [T: "valkoinen neliö vasemmanpuoleisella nupilla"] # 0x27e4 (en: 'white square with leftwards tick', google: 'valkoinen neliö vasemmalla rastilla')
+ - "⟥": [T: "valkoinen neliö oikeanpuoleisella nupilla"] # 0x27e5 (en: 'white square with rightwards tick', google: 'valkoinen neliö oikealla puolella')
+ - "⟦": [T: "valkoinen vasen hakasulku"] # 0x27e6 (en: 'left white square bracket', google: 'vasen valkoinen neliömäki')
+ - "⟧": [T: "valkoinen oikea hakasulku"] # 0x27e7 (en: 'right white square bracket', google: 'oikea valkoinen neliömäki')
+ - "⟨": [T: "vasen kulmasulku"] # 0x27e8 (en: 'left angle bracket', google: 'vasemman kulman kiinnike')
+ - "⟩": [T: "oikea kulmasulku"] # 0x27e9 (en: 'right angle bracket', google: 'suoren kulman kiinnike')
+ - "⟪": [T: "vasen kaksoiskulmasulku"] # 0x27ea (en: 'left double angle bracket', google: 'vasen kaksoiskulma kiinnike')
+ - "⟫": [T: "oikea kaksoiskulmasulku"] # 0x27eb (en: 'right double angle bracket', google: 'oikea kaksoiskulma kiinnike')
+ - "⟬": [T: "vasen valkoinen kilpikonnankuorisulku"] # 0x27ec (google: 'vasen valkoinen kilpikonnakuoren kiinnike')
+ - "⟭": [T: "oikea valkoinen kilpikonnankuorisulku"] # 0x27ed (google: 'oikea valkoinen kilpikonnakuoren kiinnike')
+ - "⟮": [T: "vasen litistetty sulku"] # 0x27ee (google: 'vasen litistetty sulkuteesi')
+ - "⟯": [T: "oikea litistetty sulku"] # 0x27ef (google: 'oikea litistetty sulkuteesi')
+ - "⟰": [T: "nelinkertainen nuoli ylös"] # 0x27f0 (en: 'upwards quadruple arrow', google translation)
+ - "⟱": [T: "nelinkertainen nuoli alas"] # 0x27f1 (en: 'downwards quadruple arrow', google translation)
+ - "⟲": [T: "avoin ympyränuoli vastapäivään"] # 0x27f2 (en: 'anticlockwise gapped circle arrow', google translation)
+ - "⟳": [T: "avoin ympyränuoli myötäpäivään"] # 0x27f3 (en: 'clockwise gapped circle arrow', google translation)
+ - "⟴": [T: "oikea nuoli ympyröidyllä plus-merkillä"] # 0x27f4 (en: 'right arrow with circled plus', google translation)
+ - "⟵": [T: "pitkä nuoli vasemmalle"] # 0x27f5 (en: 'long leftwards arrow', google: 'pitkä vasen nuoli')
+ - "⟶": [T: "pitkä nuoli oikealle"] # 0x27f6 (en: 'long rightwards arrow', google: 'pitkä oikea nuoli')
+ - "⟷": [T: "pitkä nuoli vasemmalle ja oikealle"] # 0x27f7 (en: 'long left right arrow', google: 'pitkä vasen oikea nuoli')
+ - "⟸": [T: "pitkä kaksoisnuoli vasemmalle"] # 0x27f8 (en: 'long leftwards double arrow', google: 'pitkä vasen kaksinkertainen nuoli')
+ - "⟹": [T: "pitkä kaksoisnuoli oikealle"] # 0x27f9 (en: 'long rightwards double arrow', google: 'pitkä oikea kaksinkertainen nuoli')
+ - "⟺": [T: "pitkä kaksoisnuoli vasemmalle ja oikealle"] # 0x27fa (en: 'long left right double arrow', google: 'pitkä vasen oikea kaksinkertainen nuoli')
+ - "⟻": [T: "pitkä vasen nuoli pystyviivasta"] # 0x27fb (en: 'long leftwards arrow from bar', google translation)
+ - "⟼": [T: "pitkä oikea nuoli pystyviivasta"] # 0x27fc (en: 'long rightwards arrow from bar', google: 'pitkä oikea nuoli baarista')
+ - "⟽": [T: "pitkä vasen kaksinkertainen nuoli pystyviivasta"] # 0x27fd (en: 'long leftwards double arrow from bar', google translation)
+ - "⟾": [T: "pitkä oikea kaksinkertainen nuoli pystyviivasta"] # 0x27fe (en: 'long rightwards double arrow from bar', google translation)
+ - "⟿": [T: "pitkä kiemuranuoli oikealle"] # 0x27ff (en: 'long rightwards squiggle arrow', google: 'pitkä oikeassa nuoli')
+ - "⤀": [T: "oikea kaksipäinen nuoli pystysuoralla viivalla"] # 0x2900 (en: 'rightwards two headed arrow with vertical stroke', google translation)
+ - "⤁": [T: "oikea kaksipäinen nuoli kaksinkertaisella pystysuoralla viivalla"] # 0x2901 (en: 'rightwards two headed arrow with double vertical stroke', google translation)
+ - "⤂": [T: "vasen kaksinkertainen nuoli pystysuoralla viivalla"] # 0x2902 (en: 'leftwards double arrow with vertical stroke', google translation)
+ - "⤃": [T: "oikea kaksinkertainen nuoli pystysuoralla viivalla"] # 0x2903 (en: 'rightwards double arrow with vertical stroke', google translation)
+ - "⤄": [T: "vasemmalle ja oikealle osoittava kaksinkertainen nuoli pystysuoralla viivalla"] # 0x2904 (en: 'left right double arrow with vertical stroke', google translation)
+ - "⤅": [T: "oikea kaksipäinen nuoli pystyviivasta"] # 0x2905 (google: 'oikealle kaksi päätä nuoli baarista')
+ - "⤆": [T: "vasen kaksinkertainen nuoli pystyviivasta"] # 0x2906 (en: 'leftwards double arrow from bar', google translation)
+ - "⤇": [T: "oikea kaksinkertainen nuoli pystyviivasta"] # 0x2907 (en: 'rightwards double arrow from bar', google translation)
+ - "⤈": [T: "alaspäin osoittava nuoli vaakaviivalla"] # 0x2908 (en: 'downwards arrow with horizontal stroke', google translation)
+ - "⤉": [T: "ylöspäin osoittava nuoli vaakaviivalla"] # 0x2909 (en: 'upwards arrow with horizontal stroke', google translation)
+ - "⤊": [T: "ylöspäin osoittava kolminkertainen nuoli"] # 0x290a (en: 'upwards triple arrow', google translation)
+ - "⤋": [T: "alaspäin osoittava kolminkertainen nuoli"] # 0x290b (en: 'downwards triple arrow', google translation)
+ - "⤌": [T: "vasen kaksoiskatkoviivannuoli"] # 0x290c (google: 'vasen kaksinkertainen viiva nuoli')
+ - "⤍": [T: "oikea kaksoiskatkoviivanuoli"] # 0x290d (google: 'oikealla puolella kaksoisnauhaa')
+ - "⤎": [T: "vasen kolmoiskatkoviivanuoli"] # 0x290e (google: 'vasen kolminkertainen viiva nuoli')
+ - "⤏": [T: "oikea kolmoiskatkoviivanuoli"] # 0x290f (google: 'oikealle kolminkertainen dash -nuoli')
+ - "⤐": [T: "oikea kaksipäinen katkoviivanuoli pyrstöllä"] # 0x2910 (google: 'oikealle kaksi päätä kolminkertainen viiva nuoli')
+ - "⤑": [T: "oikea pisteviivanuoli"] # 0x2911 (en: 'rightwards arrow with dotted stem', google: 'oikealla nuolella katkoviivalla')
+ - "⤒": [T: "nuoli ylös vaakaviivaan"] # 0x2912 (google: 'nuoli ylöspäin baariin')
+ - "⤓": [T: "nuoli alas vaakaviivaan"] # 0x2913 (google: 'alaspäin nuoli baariin')
+ - "⤔": [T: "oikea nuoli pystyviivalla ja pyrstöllä"] # 0x2914 (en: 'rightwards arrow with tail and vertical stroke', google translation)
+ - "⤕": [T: "oikea nuoli kaksoispystyviivalla ja pyrstöllä"] # 0x2915 (en: 'rightwards arrow with tail and double vertical stroke', google translation)
+ - "⤖": [T: "oikea kaksipäinen nuoli pyrstöllä"] # 0x2916 (en: 'rightwards two headed arrow with tail', google: 'oikealle kaksi päätä nuoli hännän kanssa')
+ - "⤗": [T: "oikea kaksipäinen nuoli pystyviivalla ja pyrstöllä"] # 0x2917 (en: 'rightwards two headed arrow with tail with vertical stroke', google translation)
+ - "⤘": [T: "oikea kaksipäinen nuoli kaksoispystyviivalla ja pyrstöllä"] # 0x2918 (en: 'rightwards two headed arrow with tail with double vertical stroke', google translation)
+ - "⤙": [T: "vasemmanpuoleisen nuolen häntä"] # 0x2919 (google: 'vasen nuoli häntä')
+ - "⤚": [T: "oikeanpuoleisen nuolen häntä"] # 0x291a (en: 'rightwards arrow tail', google translation)
+ - "⤛": [T: "vasemmanpuoleisen nuolen tuplahäntä"] # 0x291b (google: 'vasen kaksinkertainen nuoli häntä')
+ - "⤜": [T: "oikeanpuoleisen nuolen tuplahäntä"] # 0x291c (google: 'oikealla kaksoisnuoli')
+ - "⤝": [T: "vasen nuoli väritettyyn timanttiin"] # 0x291d (google: 'vasen nuoli täytetylle timantille')
+ - "⤞": [T: "oikea nuoli väritettyyn timanttiin"] # 0x291e (google: 'oikealla nuolella täytetylle timantille')
+ - "⤟": [T: "vasen nuoli pystyviivasta väritettyyn timanttiin"] # 0x291f (google: 'vasen nuoli baarista täytetylle timantille')
+ - "⤠": [T: "oikea nuoli pystyviivasta väritettyyn timanttiin"] # 0x2920 (google: 'suoraan nuoli baarista täytetylle timantille')
+ - "⤡": [T: "ylävasemmalle ja alaoikealle osoittava nuoli"] # 0x2921 (en: 'north west and south east arrow', google translation)
+ - "⤢": [T: "yläoikealle ja alavasemmalle osoittava nuoli"] # 0x2922 (en: 'north east and south west arrow', google translation)
+ - "⤣": [T: "ylävasen nuoli koukulla"] # 0x2923 (en: 'north west arrow with hook', google: 'luoteis -nuoli koukulla')
+ - "⤤": [T: "yläoikea nuoli koukulla"] # 0x2924 (en: 'north east arrow with hook', google: 'koillis -nuoli koukulla')
+ - "⤥": [T: "alaoikea nuoli koukulla"] # 0x2925 (en: 'south east arrow with hook', google: 'kaakkois -nuoli koukulla')
+ - "⤦": [T: "alavasen nuoli koukulla"] # 0x2926 (en: 'south west arrow with hook', google: 'lounais -nuoli koukulla')
+ - "⤧": [T: "nuoli yläoikealle ja nuoli ylävasemmalle"] # 0x2927 (google: 'luoteis arrow ja koillis -nuoli')
+ - "⤨": [T: "nuoli yläoikealle ja nuoli alaoikealle"] # 0x2928 (google: 'koillis -nuoli ja kaakkois -nuoli')
+ - "⤩": [T: "nuoli alaoikealle ja nuoli alavasemmalle"] # 0x2929 (google: 'kaakkois arrow ja south west arrow')
+ - "⤪": [T: "nuoli alavasemmalle ja nuoli ylävasemmalle"] # 0x292a (google: 'south west arrow ja north west arrow')
+ - "⤫": [T: "nouseva diagonaali laskevan diagonaalin päällä"] # 0x292b (en: 'rising diagonal crossing falling diagonal', google translation)
+ - "⤬": [T: "laskeva diagonaali nousevan diagonaalin päällä"] # 0x292c (en: 'falling diagonal crossing rising diagonal', google translation)
+ - "⤭": [T: "alaoikealle osoittava nuoli yläoikealle osoittavan nuolen päällä"] # 0x292d (en: 'south east arrow crossing north east arrow', google translation)
+ - "⤮": [T: "yläoikealle osoittava nuoli alaoikealle osoittavan nuolen päällä"] # 0x292e (en: 'north east arrow crossing south east arrow', google translation)
+ - "⤯": [T: "laskeva diagonaali yläoikealle osoittavan nuolen päällä"] # 0x292f (en: 'falling diagonal crossing north east arrow', google translation)
+ - "⤰": [T: "nouseva diagonaali alaoikealle osoittavan nuolen päällä"] # 0x2930 (en: 'rising diagonal crossing south east arrow', google translation)
+ - "⤱": [T: "yläoikealle osoittava nuoli ylävasemmalle osoittavan nuolen päällä"] # 0x2931 (en: 'north east arrow crossing north west arrow', google translation)
+ - "⤲": [T: "ylävasemmalle osoittava nuoli yläoikealle osoittavan nuolen päällä"] # 0x2932 (en: 'north west arrow crossing north east arrow', google translation)
+ - "⤳": [T: "aaltonuoli oikealle"] # 0x2933 (en: 'wave arrow pointing directly right', google: 'aalto nuoli osoittaa suoraan oikealle')
+ - "⤴": [T: "ylöspäin kaartuva oikea nuoli"] # 0x2934 (en: 'arrow pointing rightwards then curving upwards', google translation)
+ - "⤵": [T: "alaspäin kaartuva oikea nuoli"] # 0x2935 (google: 'nuoli osoittaa oikealle ja kaareutuu alaspäin')
+ - "⤶": [T: "vasemmalle kaartuva alavasemmalle osoittava nuoli"] # 0x2936 (google: 'nuoli osoittaa alaspäin ja kaareutuu vasemmalle')
+ - "⤷": [T: "oikealle kaartuva alaoikealle osoittava nuoli"] # 0x2937 (google: 'nuoli osoittaa alaspäin ja kaareutuu oikealle')
+ - "⤸": [T: "oikeanpuoleinen kaarinuoli myötäpäivään"] # 0x2938 (en: 'right side arc clockwise arrow', google: 'oikea sivukaari myötäpäivään nuoli')
+ - "⤹": [T: "vasemmanpuoleinen kaarinuoli vastapäivään"] # 0x2939 (en: 'left side arc anticlockwise arrow', google: 'vasen sivukaari vastapäivään')
+ - "⤺": [T: "yläkaarinuoli vastapäivään"] # 0x293a (en: 'top arc anticlockwise arrow', google translation)
+ - "⤻": [T: "alakaarinuoli vastapäivään"] # 0x293b (en: 'bottom arc anticlockwise arrow', google translation)
+ - "⤼": [T: "yläkaarinuoli myötäpäivään miinus-merkillä"] # 0x293c (en: 'top arc clockwise arrow with minus', google: 'yläkaari myötäpäivään nuoli miinus')
+ - "⤽": [T: "yläkaarinuoli vastapäivään plus-merkillä"] # 0x293d (en: 'top arc anticlockwise arrow with plus', google: 'yläkaari vastapäivään nuoli plus')
+ - "⤾": [T: "alaoikea kaarinuoli myötäpäivään"] # 0x293e (en: 'lower right semicircular clockwise arrow', google translation)
+ - "⤿": [T: "alavasen kaarinuoli vastapäivään"] # 0x293f (en: 'lower left semicircular anticlockwise arrow', google translation)
+ - "⥀": [T: "suljettu ympyränuoli vastapäivään"] # 0x2940 (en: 'anticlockwise closed circle arrow', google translation)
+ - "⥁": [T: "suljettu ympyränuoli myötäpäivään"] # 0x2941 (en: 'clockwise closed circle arrow', google translation)
+ - "⥂": [T: "oikea nuoli lyhyen vasemman nuolen yläpuolella"] # 0x2942 (en: 'rightwards arrow above short leftwards arrow', google translation)
+ - "⥃": [T: "vasen nuoli lyhyen oikean nuolen yläpuolella"] # 0x2943 (en: 'leftwards arrow above short rightwards arrow', google translation)
+ - "⥄": [T: "lyhyt oikea nuoli vasemman nuolen yläpuolella"] # 0x2944 (en: 'short rightwards arrow above leftwards arrow', google translation)
+ - "⥅": [T: "oikea nuoli ja plus-merkki alapuolella"] # 0x2945 (en: 'rightwards arrow with plus below', google: 'oikealla nuolella, jonka alla on plus')
+ - "⥆": [T: "vasen nuoli ja plus-merkki alanpuolella"] # 0x2946 (en: 'leftwards arrow with plus below', google translation)
+ - "⥇": [T: "oikea nuoli x:n läpi"] # 0x2947 (en: 'rightwards arrow through x', google translation)
+ - "⥈": [T: "oikealle ja vasemmalle osoittava nuoli ympyrän läpi"] # 0x2948 (google: 'vasen oikea nuoli ympyrän läpi')
+ - "⥉": [T: "ylöspäin osoittava kaksipäinen nuoli ympyrästä"] # 0x2949 (google: 'ylöspäin kaksi pääistä nuolta ympyrästä')
+ - "⥊": [T: "oikealle ja vasemmalle osoittava puolinuoli oikealla yläpiikillä ja vasemmalla alapiikillä"] # 0x294a (google: 'vasen barb ylös oikealle barb down harpoon')
+ - "⥋": [T: "oikealle ja vasemmalle osoittava puolinuoli oikealla alapiikillä ja vasemmalle yläpiikillä"] # 0x294b (google: 'vasen barb alas oikealla barb up harpoon')
+ - "⥌": [T: "ylös ja alas osoittava puolinuoli oikealla yläpiikillä ja vasemmalla alapiikillä"] # 0x294c (en: 'up barb right down barb left harpoon', google translation)
+ - "⥍": [T: "ylös ja alas osoittava puolinuoli vasemmalla yläpiikillä ja oikealla alapiikillä"] # 0x294d (en: 'up barb left down barb right harpoon', google translation)
+ - "⥎": [T: "oikealle ja vasemmalle osoittava puolinuoli, piikit yläpuolella"] # 0x294e (en: 'left barb up right barb up harpoon', google: 'vasen barb ylös oikealle barb up harpoon')
+ - "⥏": [T: "ylös ja alas osoittava puolinuoli, piikit oikealla"] # 0x294f (en: 'up barb right down barb right harpoon', google: 'ylös barb oikealla barbilla oikealla harpoonilla')
+ - "⥐": [T: "oikealle ja vasemmalle osoittava puolinuoli, piikit alapuolella"] # 0x2950 (en: 'left barb down right barb down harpoon', google: 'vasen barb alas oikealla barb down harpoon')
+ - "⥑": [T: "ylös ja alas osoittava puolinuoli, piikit vasemmalla"] # 0x2951 (en: 'up barb left down barb left harpoon', google: 'ylös barb vasemmalle barb vasen harpooni')
+ - "⥒": [T: "vasemmalle osoittava puolinuoli pystyviivaan, piikki yläpuolella"] # 0x2952 (en: 'leftwards harpoon with barb up to bar', google: 'vasen harppuuna barbin kanssa baariin')
+ - "⥓": [T: "oikealle osoittava puolinuoli pystyviivaan, piikki yläpuolella"] # 0x2953 (en: 'rightwards harpoon with barb up to bar', google: 'oikea harpoon barbin kanssa baariin')
+ - "⥔": [T: "ylös osoittava puolinuoli vaakaviivaan, piikki oikealla"] # 0x2954 (en: 'upwards harpoon with barb right to bar', google: 'ylöspäin harppuun barbin oikealla baarilla')
+ - "⥕": [T: "alas osoittava puolinuoli vaakaviivaan, piikki oikealla"] # 0x2955 (en: 'downwards harpoon with barb right to bar', google: 'downward harpoon barbin oikealla baarilla')
+ - "⥖": [T: "vasemmalle osoittava puolinuoli pystyviivaan, piikki alapuolella"] # 0x2956 (en: 'leftwards harpoon with barb down to bar', google: 'vasen harppuuna barbin kanssa baariin')
+ - "⥗": [T: "oikealle osoittava puolinuoli pystyviivaan, piikki alapuolella"] # 0x2957 (en: 'rightwards harpoon with barb down to bar', google: 'oikea harpoon barbin kanssa baariin')
+ - "⥘": [T: "ylös osoittava puolinuoli vaakaviivaan, piikki vasemmalla"] # 0x2958 (en: 'upwards harpoon with barb left to bar', google: 'ylös harppuon barbin kanssa vasemmalle baariin')
+ - "⥙": [T: "alas osoittava puolinuoli vaakaviivaan, piikki vasemmalla"] # 0x2959 (en: 'downwards harpoon with barb left to bar', google: 'downward harpoon barbin kanssa vasemmalle baariin')
+ - "⥚": [T: "vasemmalle osoittava puolinuoli vaakaviivasta, piikki yläpuolella"] # 0x295a (en: 'leftwards harpoon with barb up from bar', google: 'vasen harppuuna barb ylös baarista')
+ - "⥛": [T: "oikealle osoittava puolinuoli vaakaviivasta, piikki yläpuolella"] # 0x295b (en: 'rightwards harpoon with barb up from bar', google: 'oikealla harppuuna barbin kanssa baarista')
+ - "⥜": [T: "ylöspäin osoittava puolinuoli vaakaviivasta, piikki oikealla"] # 0x295c (en: 'upwards harpoon with barb right from bar', google: 'ylöspäin harppuun barbin kanssa heti baarista')
+ - "⥝": [T: "alaspäin osoittava puolinuoli vaakaviivasta, piikki oikealla"] # 0x295d (en: 'downwards harpoon with barb right from bar', google: 'downward harpoon barbin kanssa heti baarista')
+ - "⥞": [T: "vasemmalle osoittava puolinuoli vaakaviivasta, piikki alapuolella"] # 0x295e (en: 'leftwards harpoon with barb down from bar', google: 'vasen harppuuna barbin kanssa baarista')
+ - "⥟": [T: "oikealle osoittava puolinuoli vaakaviivasta, piikki alapuolella"] # 0x295f (en: 'rightwards harpoon with barb down from bar', google: 'oikea harpoon barbin kanssa baarista')
+ - "⥠": [T: "ylöspäin osoittava puolinuoli vaakaviivasta, piikki vasemmalla"] # 0x2960 (en: 'upwards harpoon with barb left from bar', google: 'ylös harppuun barbin vasemmalla baarista')
+ - "⥡": [T: "alaspäin osoittava puolinuoli vaakaviivasta, piikki vasemmalla"] # 0x2961 (en: 'downwards harpoon with barb left from bar', google: 'downward harpoon barbin vasemmalla baarista')
+ - "⥢": [T: "vasemmalle osoittava puolinuolipari"] # 0x2962 (en: 'leftwards harpoon with barb up above leftwards harpoon with barb down', google: 'vasen harppuuna barb ylös vasemmanpuoleisen harpoonin yläpuolella barb down')
+ - "⥣": [T: "ylöspäin osoittava puolinuolipari"] # 0x2963 (en: 'upwards harpoon with barb left beside upwards harpoon with barb right', google: 'yläpuolella harppuunia vasemmalla vasemmalla harpoon vieressä barbilla oikealla')
+ - "⥤": [T: "oikealle osoittava puolinuolipari"] # 0x2964 (en: 'rightwards harpoon with barb up above rightwards harpoon with barb down', google: 'oikealla harpoonilla barb ylös oikeanpuoleisen harpoonin yläpuolella barb down')
+ - "⥥": [T: "alaspäin osoittava puolinuolipari"] # 0x2965 (en: 'downwards harpoon with barb left beside downwards harpoon with barb right', google: 'downwards harpoon vasemmalla vasemmalla harppuunan vieressä barbilla oikealla')
+ - "⥦": [T: "vasen puolinuoli piikki ylös ja alapuolella oikea puolinuoli piikki ylös"] # 0x2966 (en: 'leftwards harpoon with barb up above rightwards harpoon with barb up', google: 'vasen harppuuna barb ylös oikeanpuoleisen harpoonin yläpuolella barb up')
+ - "⥧": [T: "vasen puolinuoli piikki alas ja alapuolella oikea puolinuoli piikki ylös"] # 0x2967 (en: 'leftwards harpoon with barb down above rightwards harpoon with barb down', google: 'vasen harppuuna barb alas oikeanpuoleisen harpoonin yläpuolella barb down')
+ - "⥨": [T: "oikea puolinuoli piikki ylös ja alapuolella vasen puolinuoli piikki ylös"] # 0x2968 (en: 'rightwards harpoon with barb up above leftwards harpoon with barb up', google: 'oikealla harpounalla barb ylös vasemmanpuoleisen harpoonin yläpuolella barb up')
+ - "⥩": [T: "oikea puolinuoli piikki alas ja alapuolella vasen puolinuoli piikki alas"] # 0x2969 (en: 'rightwards harpoon with barb down above leftwards harpoon with barb down', google: 'oikealla harpounalla barbin kanssa vasemmanpuoleisen harpoonin yläpuolella barb down')
+ - "⥪": [T: "vasen puolinuoli piikki ylös vaakaviivan yläpuolella"] # 0x296a (en: 'leftwards harpoon with barb up above long dash', google: 'vasen harppuuna barb ylös pitkän viivan yläpuolella')
+ - "⥫": [T: "vasen puolinuoli piikki alas vaakaviivan alapuolella"] # 0x296b (en: 'leftwards harpoon with barb down below long dash', google: 'vasen harppuuna barbin alapuolella pitkän viivan alapuolella')
+ - "⥬": [T: "oikea puolinuoli piikki ylös vaakaviivan yläpuolella"] # 0x296c (en: 'rightwards harpoon with barb up above long dash', google: 'oikealla harppuunilla barb up long dashin yläpuolella')
+ - "⥭": [T: "oikea puolinuoli piikki alas vaakaviivan alapuolella"] # 0x296d (en: 'rightwards harpoon with barb down below long dash', google: 'oikealla harppuuna barbin alapuolella pitkän viivan alapuolella')
+ - "⥮": [T: "ylös ja alas osoittava puolinuolipari"] # 0x296e (en: 'upwards harpoon with barb left beside downwards harpoon with barb right', google: 'ylös harppuunaa vasemmalla vasemmalla harpoonin vieressä barbilla oikealla')
+ - "⥯": [T: "alas ja ylös osoittava puolinuolipari"] # 0x296f (en: 'downwards harpoon with barb left beside upwards harpoon with barb right', google: 'downwards harpoon vasemmalla vasemmalla harppuunin vieressä barbilla oikealla')
+ - "⥰": [T: "oikea tuplanuoli pyöristetyllä yläpuolella"] # 0x2970 (en: 'right double arrow with rounded head', google: 'oikea kaksinkertainen nuoli pyöristetyllä pään kanssa')
+ - "⥱": [T: "yhtä suuri kuin oikean nuolen yläpuolella"] # 0x2971 (google: 'vastaa oikeanpuoleista nuolta')
+ - "⥲": [T: "tilde oikean nuolen yläpuolella"] # 0x2972 (google: 'tilde -operaattori oikeanpuoleisen nuolen yläpuolella')
+ - "⥳": [T: "vasen nuoli tilden yläpuolella"] # 0x2973 (en: 'leftwards arrow above tilde operator', google: 'vasen nuoli tilde -operaattorin yläpuolella')
+ - "⥴": [T: "oikea nuoli tilden yläpuolella"] # 0x2974 (en: 'rightwards arrow above tilde operator', google: 'oikealla nuolella tilde -operaattorin yläpuolella')
+ - "⥵": [T: "oikea nuoli melkein yhtä suuri kuin yläpuolella"] # 0x2975 (google: 'oikea nuoli yläpuolelle melkein yhtä suuri kuin')
+ - "⥶": [T: "pienempi kuin vasemman nuolen yläpuolella"] # 0x2976 (google: 'alle kuin vasemmanpuoleinen nuoli')
+ - "⥷": [T: "vasen nuoli pienempi kuin päällä"] # 0x2977 (en: 'leftwards arrow through less than', google translation)
+ - "⥸": [T: "suurempi kuin oikean nuolen yläpuolella"] # 0x2978 (google: 'suurempi kuin oikeanpuoleinen nuoli')
+ - "⥹": [T: "osajoukko oikean nuolen yläpuolella"] # 0x2979 (google: 'oikeanpuoleinen nuolen yläpuolella')
+ - "⥺": [T: "vasen nuoli osajoukon päällä"] # 0x297a (en: 'leftwards arrow through subset', google translation)
+ - "⥻": [T: "ylijoukko vasemman nuolen yläpuolella"] # 0x297b (google: 'superset vasemmanpuoleisen nuolen yläpuolella')
+ - "⥼": [T: "vasen kalanpyrstö"] # 0x297c (google: 'vasen kala häntä')
+ - "⥽": [T: "oikea kalanpyrstö"] # 0x297d (google: 'oikea kala häntä')
+ - "⥾": [T: "ylöspäin osoittava kalanpyrstö"] # 0x297e (en: 'up fish tail', google: 'ylös kalanhäntä')
+ - "⥿": [T: "alaspäin osoittava kalanpyrstö"] # 0x297f (google: 'alas kalan hännä')
+ - "⦀": [T: "kolminkertainen pystysuora palkki"] # 0x2980 (en: 'triple vertical bar delimiter', google translation)
+ - "⦁": [T: "Z-notaatio piste"] # 0x2981 (en: 'z notation spot', google translation)
+ - "⦂": [T: "Z-notaatio kaksoispiste"] # 0x2982 (en: 'z notation type colon', google translation)
+ - "⦃": [T: "vasen valkoinen aaltosulku"] # 0x2983 (en: 'left white brace', google translation)
+ - "⦄": [T: "oikea valkoinen aaltosulku"] # 0x2984 (en: 'right white brace', google translation)
+ - "⦅": [T: "vasen valkoinen kaarisulku"] # 0x2985 (en: 'left white parenthesis', google: 'vasen valkoinen sulkuteesi')
+ - "⦆": [T: "oikea valkoinen kaarisulku"] # 0x2986 (en: 'right white parenthesis', google: 'oikea valkoinen sulkuteesi')
+ - "⦇": [T: "Z-notaatio vasen kuva sulku"] # 0x2987 (en: 'z notation left image bracket', google translation)
+ - "⦈": [T: "Z-notaatio oikea kuva sulku"] # 0x2988 (en: 'z notation right image bracket', google translation)
+ - "⦉": [T: "Z-notaatio vasen sitova sulku"] # 0x2989 (google: 'z -merkintä jätti sitovan kiinnikkeen')
+ - "⦊": [T: "Z-notaatio oikea sitova sulku"] # 0x298a (google: 'z -merkintä oikea sitova kiinnike')
+ - "⦋": [T: "vasen hakasulku alaviivalla"] # 0x298b (en: 'left square bracket with underbar', google: 'vasen neliökiinnike alapalkin kanssa')
+ - "⦌": [T: "oikea hakasulku alaviivalla"] # 0x298c (en: 'right square bracket with underbar', google: 'oikea neliökiinnike alapalkin kanssa')
+ - "⦍": [T: "vasen hakasulku viivalla ylänurkassa"] # 0x298d (en: 'left square bracket with tick in top corner', google: 'vasen neliö kiinnike, punkki yläkulmassa')
+ - "⦎": [T: "oikea hakasulku viivalla alanurkassa"] # 0x298e (en: 'right square bracket with tick in bottom corner', google: 'oikea neliökiinnike, jossa punkki alakulmassa')
+ - "⦏": [T: "vasen hakasulku viivalla alanurkassa"] # 0x298f (en: 'left square bracket with tick in bottom corner', google: 'vasen neliö kiinnike, punkki alakulmassa')
+ - "⦐": [T: "oikea hakasulku viivalla ylänurkassa"] # 0x2990 (en: 'right square bracket with tick in top corner', google: 'oikea neliö kiinnike, punkki yläkulmassa')
+ - "⦑": [T: "vasen kulmasulku pisteellä"] # 0x2991 (en: 'left angle bracket with dot', google: 'vasemman kulman kiinnike pisteellä')
+ - "⦒": [T: "oikea kulmasulku pisteellä"] # 0x2992 (en: 'right angle bracket with dot', google: 'suoren kulman kiinnike pisteellä')
+ - "⦓": [T: "vasen kaari pienempi kuin sulku"] # 0x2993 (google: 'vasen kaari vähemmän kuin kiinnike')
+ - "⦔": [T: "oikea kaari suurempi kuin sulku"] # 0x2994 (google: 'oikea kaari suurempi kuin kiinnike')
+ - "⦕": [T: "vasen kaksoiskaari suurempi kuin sulku"] # 0x2995 (google: 'kaksinkertainen vasen kaari on suurempi kuin kiinnike')
+ - "⦖": [T: "oikea kaksoiskaari pienempi kuin sulku"] # 0x2996 (google: 'kaksinkertainen oikea kaari vähemmän kuin kiinnike')
+ - "⦗": [T: "vasen musta kilpikonnankuorisulku"] # 0x2997 (en: 'left black tortoise shell bracket', google translation)
+ - "⦘": [T: "oikea musta kilpikonnakuorisulku"] # 0x2998 (en: 'right black tortoise shell bracket', google translation)
+ - "⦙": [T: "pistetty aita"] # 0x2999 (en: 'dotted fence', google translation)
+ - "⦚": [T: "pystysuora siksak-viiva"] # 0x299a (google: 'pystysuora siksak -linja')
+ - "⦛": [T: "vasemmalle avautuva mitattu kulma"] # 0x299b (en: 'measured angle opening left', google translation)
+ - "⦜": [T: "neliöllä merkitty suora kulma"] # 0x299c (en: 'right angle variant with square', google translation)
+ - "⦝": [T: "kaarella merkitty suora kulma"] # 0x299d (en: 'measured right angle with dot', google: 'mitattu oikea kulma pisteellä')
+ - "⦞": [T: "kulma, jonka sisällä on s"] # 0x299e (en: 'angle with s inside', google translation)
+ - "⦟": [T: "terävä kulma"] # 0x299f (en: 'acute angle', google translation)
+ - "⦠": [T: "vasemmalle avautuva pallomainen kulma"] # 0x29a0 (en: 'spherical angle opening left', google translation)
+ - "⦡": [T: "ylös avautuva pallomainen kulma"] # 0x29a1 (en: 'spherical angle opening up', google translation)
+ - "⦢": [T: "käännetty kulma"] # 0x29a2 (en: 'turned angle', google translation)
+ - "⦣": [T: "käänteinen kulma"] # 0x29a3 (en: 'reversed angle', google translation)
+ - "⦤": [T: "kulma alaviivalla"] # 0x29a4 (en: 'angle with underbar', google: 'kulma alapalkin kanssa')
+ - "⦥": [T: "käännetty kulma alaviivalla"] # 0x29a5 (en: 'reversed angle with underbar', google: 'käännetty kulma alapalkin kanssa')
+ - "⦦": [T: "ylöspäin avautuva viisto kulma"] # 0x29a6 (google: 'vino kulma avautuu')
+ - "⦧": [T: "alaspäin avautuva viisto kulma"] # 0x29a7 (google: 'vino kulma avautuu')
+ - "⦨": [T: "mitattu kulma, jossa yläoikealle osoittava nuoli"] # 0x29a8 (en: 'measured angle with open arm ending in arrow pointing up and to the right', google: 'mitattu kulma, kun avoin käsivarsi päättyy nuoleen osoittaen ylös ja oikealle')
+ - "⦩": [T: "mitattu kulma, jossa ylävasemmalle osoittava nuoli"] # 0x29a9 (en: 'measured angle with open arm ending in arrow pointing up and to the left', google: 'mitattu kulma, jonka avoin käsivarsi päättyy nuoleen osoittaen ylös ja vasemmalle')
+ - "⦪": [T: "mitattu kulma, jossa alaoikealle osoittava nuoli"] # 0x29aa (en: 'measured angle with open arm ending in arrow pointing down and to the right', google: 'mitattu kulma, kun avoin käsivarsi päättyy nuolessa alaspäin ja oikealle')
+ - "⦫": [T: "mitattu kulma, jossa alavasemmalle osoittava nuoli"] # 0x29ab (en: 'measured angle with open arm ending in arrow pointing down and to the left', google: 'mitattu kulma, kun avoin käsivarsi päättyy nuolessa alaspäin ja vasemmalle')
+ - "⦬": [T: "mitattu kulma, jossa oikealle ja ylös osoittava nuoli"] # 0x29ac (en: 'measured angle with open arm ending in arrow pointing right and up', google: 'mitattu kulma, kun avoin käsivarsi päättyy nuoleen osoittaen oikealle ja ylöspäin')
+ - "⦭": [T: "mitattu kulma, jossa vasemmalle ja ylös osoittava nuoli"] # 0x29ad (en: 'measured angle with open arm ending in arrow pointing left and up', google: 'mitattu kulma, jonka avoin käsivarsi päättyy nuoleen osoittaen vasemmalle ja ylöspäin')
+ - "⦮": [T: "mitattu kulma, jossa oikealle ja alas osoittava nuoli"] # 0x29ae (en: 'measured angle with open arm ending in arrow pointing right and down', google: 'mitattu kulma, kun avoin käsivarsi päättyy nuoleen osoittaen oikealle ja alas')
+ - "⦯": [T: "mitattu kulma, jossa vasemmalle ja alas osoittava nuoli"] # 0x29af (en: 'measured angle with open arm ending in arrow pointing left and down', google: 'mitattu kulma, jonka nuolessa päättyy avoimeen käsivarteen, osoittaen vasemmalle ja alas')
+ - "⦰": [T: "käännetty tyhjä joukko"] # 0x29b0 (google: 'kääntynyt tyhjä sarja')
+ - "⦱": [T: "tyhjä joukko yläviivalla"] # 0x29b1 (en: 'empty set with overbar', google: 'tyhjä sarja ylikuormituksella')
+ - "⦲": [T: "tyhjä joukko ja pieni ympyrä yläpuolella"] # 0x29b2 (en: 'empty set with small circle above', google: 'tyhjä sarja, jossa on pieni ympyrä yllä')
+ - "⦳": [T: "tyhjä joukko ja oikea nuoli yläpuolella"] # 0x29b3 (en: 'empty set with right arrow above', google: 'tyhjä sarja oikealla nuolella yllä')
+ - "⦴": [T: "tyhjä joukko ja vasen nuoli yläpuolella"] # 0x29b4 (en: 'empty set with left arrow above', google: 'tyhjä sarja vasemmalla nuolella yllä')
+ - "⦵": [T: "vaakaviivallinen ympyrä"] # 0x29b5 (en: 'circle with horizontal bar', google: 'ympyrä vaakasuuntaisella palkilla')
+ - "⦶": [T: "ympyröity pystyviiva"] # 0x29b6 (google: 'ympyrä pystysuora palkki')
+ - "⦷": [T: "ympyröidyt samansuuntaiset pystyviivat"] # 0x29b7 (google: 'ympyröi rinnakkain')
+ - "⦸": [T: "ympyröity kenoviiva"] # 0x29b8 (en: 'circled reverse solidus', google translation)
+ - "⦹": [T: "ympyröity kohtisuoruusmerkki"] # 0x29b9 (google: 'ympyräsi kohtisuorassa')
+ - "⦺": [T: "ympyrä, joka on jaettu vaakaviivalla ja yläpuolisko on jaettu pystyviivalla"] # 0x29ba (en: 'circled divided by horizontal bar and top half divided by vertical bar', google translation)
+ - "⦻": [T: "ympyrä ja x päällekkäin"] # 0x29bb (en: 'circle with superimposed x', google: 'ympyrä päällekkäin x')
+ - "⦼": [T: "ympyröity vastapäivään käännetty jakomerkki"] # 0x29bc (en: 'circled anticlockwise rotated division sign', google: 'ympyröity vastapäivään kierretty jakomerkki')
+ - "⦽": [T: "nuoli ympyrän läpi"] # 0x29bd (en: 'up arrow through circle', google translation)
+ - "⦾": [T: "ympyröity valkoinen pieni ympyrä"] # 0x29be (google: 'ympyrävalkoinen luoti')
+ - "⦿": [T: "ympyröity pieni ympyrä"] # 0x29bf (google: 'ympyrä luoti')
+ - "⧀": [T: "ympyröity pienempi kuin"] # 0x29c0 (google: 'ympyräsi vähemmän kuin')
+ - "⧁": [T: "ympyröity suurempi kuin"] # 0x29c1 (google: 'ympyräsi suurempi kuin')
+ - "⧂": [T: "ympyrä ja pieni ympyrä oikealla"] # 0x29c2 (en: 'circle with small circle to the right', google: 'ympyrä pienellä ympyrällä oikealla')
+ - "⧃": [T: "ympyrä ja kaksi vaakaviivaa oikealla"] # 0x29c3 (en: 'circle with two horizontal strokes to the right', google: 'ympyrä kahdella vaakasuuntaisella iskulla oikealle')
+ - "⧄": [T: "neliöity kasvava diagonaalinen viiva"] # 0x29c4 (google: 'neliö nousevat diagonaaliset viiva')
+ - "⧅": [T: "neliöity laskeva diagonaalinen viiva"] # 0x29c5 (google: 'neliö putoava diagonaalinen viiva')
+ - "⧆": [T: "neliö tähdellä"] # 0x29c6 (en: 'squared asterisk', google translation)
+ - "⧇": [T: "neliöity pieni ympyrä"] # 0x29c7 (en: 'squared small circle', google translation)
+ - "⧈": [T: "neliöity pieni neliö"] # 0x29c8 (en: 'squared square', google translation)
+ - "⧉": [T: "kaksi limittäistä neliötä"] # 0x29c9 (google: 'kaksi liittyi neliötä')
+ - "⧊": [T: "kolmio ja piste yläpuolella"] # 0x29ca (en: 'triangle with dot above', google translation)
+ - "⧋": [T: "kolmio ja vaakaviiva alapuolella"] # 0x29cb (en: 'triangle with underbar', google translation)
+ - "⧌": [T: "s kolmiossa"] # 0x29cc (en: 's in triangle', google translation)
+ - "⧍": [T: "kolmio, jonka pohjassa serif"] # 0x29cd (en: 'triangle with serifs at bottom', google: 'kolmio alaosassa')
+ - "⧎": [T: "oikea kolmio vasemman kolmion yläpuolella"] # 0x29ce (google: 'oikea kolmio vasemman kolmion yläpuolella')
+ - "⧏": [T: "vasen kolmio pystyviivan vieressä"] # 0x29cf (en: 'left triangle beside vertical bar', google: 'vasen kolmio pystysuoran palkin vieressä')
+ - "⧐": [T: "pystyviiva oikean kolmion vieressä"] # 0x29d0 (en: 'vertical bar beside right triangle', google: 'pystysuora palkki oikean kolmion vieressä')
+ - "⧑": [T: "rusetti, jonka vasen puoli musta"] # 0x29d1 (en: 'bowtie with left half black', google translation)
+ - "⧒": [T: "rusetti, jonka oikea puoli musta"] # 0x29d2 (en: 'bowtie with right half black', google translation)
+ - "⧓": [T: "musta rusetti"] # 0x29d3 (en: 'black bowtie', google translation)
+ - "⧔": [T: "puolirusetti, jonka vasen puoli musta"] # 0x29d4 (en: 'times with left half black', google translation)
+ - "⧕": [T: "puolirusetti, jonka oikea puoli musta"] # 0x29d5 (en: 'times with right half black', google translation)
+ - "⧖": [T: "valkoinen tiimalasi"] # 0x29d6 (en: 'white hourglass', google translation)
+ - "⧗": [T: "musta tiimalasi"] # 0x29d7 (en: 'black hourglass', google translation)
+ - "⧘": [T: "vasen kiemurteleva viiva"] # 0x29d8 (en: 'left wiggly fence', google translation)
+ - "⧙": [T: "oikea kiemurteleva viiva"] # 0x29d9 (en: 'right wiggly fence', google translation)
+ - "⧚": [T: "vasen kaksinkertainen kiemurteleva viiva"] # 0x29da (en: 'left double wiggly fence', google: 'vasen kaksinkertainen aita')
+ - "⧛": [T: "oikea kaksinkertainen kiemurteleva viiva"] # 0x29db (en: 'right double wiggly fence', google: 'oikea kaksinkertainen aita')
+ - "⧜": [T: "epätäydellinen äärettömyys"] # 0x29dc (google: 'epätäydellinen äärettömyys')
+ - "⧝": [T: "yhdistetty äärettömyys"] # 0x29dd (en: 'tie over infinity', google translation)
+ - "⧞": [T: "äärettömyys negatoitu pystyviivalla"] # 0x29de (en: 'infinity negated with vertical bar', google: 'äärettömyys kielsi pystysuoralla palkilla')
+ - "⧟": [T: "kaksipäinen monikuvaus"] # 0x29df (en: 'double-ended multimap', google translation) # FI: "multimap", "monikuvaus" translation questionable
+ - "⧠": [T: "neliö korostetuilla ääreviivoilla"] # 0x29e0 (en: 'square with contoured outline', google translation)
+ - "⧡": [T: "kasvaa suhteessa"] # 0x29e1 (en: 'increases as', google translation)
+ - "⧢": [T: "sekoitetulo"] # 0x29e2 (en: 'shuffle product', google translation)
+ - "⧣": [T: "on yhtä suuri kuin kahdella vinolla yliviivalla"] # 0x29e3 (google: 'vastaa merkkiä ja viistot rinnakkain')
+ - "⧤": [T: "on yhtä suuri kuin kahdella vinolla yliviivalla ja tilde yläpuolella"] # 0x29e4 (en: 'equals sign and slanted parallel with tilde above', google: 'vastaa merkkiä ja viistot yhdensuuntaisen kanssa tilden kanssa yllä')
+ - "⧥": [T: "identtinen kuin kahdella vinolla yliviivalla"] # 0x29e5 (en: 'identical to and slanted parallel', google: 'identtinen ja vino rinnakkain')
+ - "⧦": [T: "tautologisesti ekvivalentti"] # 0x29e6 (google translation)
+ - "⧧": [T: "termodynaaminen"] # 0x29e7 (en: 'thermodynamic', google translation)
+ - "⧨": [T: "alaspäin osoittava kolmio ja vasen puoli musta"] # 0x29e8 (en: 'down pointing triangle with left half black', google translation)
+ - "⧩": [T: "alaspäin osoittava kolmio ja oikea puoli musta"] # 0x29e9 (en: 'down pointing triangle with right half black', google translation)
+ - "⧪": [T: "musta timantti alas osoittavalla nuolella"] # 0x29ea (en: 'black diamond with down arrow', google translation)
+ - "⧫": [T: "musta vinoneliö"] # 0x29eb (en: 'black lozenge', google: 'musta lozenge')
+ - "⧬": [T: "valkoinen ympyrä alaspäin osoittavalla nuolella"] # 0x29ec (en: 'white circle with down arrow', google translation)
+ - "⧭": [T: "musta ympyrä alaspäin osoittavalla nuolella"] # 0x29ed (en: 'black circle with down arrow', google translation)
+ - "⧮": [T: "valkoinen neliö virheviivoilla"] # 0x29ee (en: 'error-barred white square', google translation)
+ - "⧯": [T: "musta neliö virheviivoilla"] # 0x29ef (en: 'error-barred black square', google translation)
+ - "⧰": [T: "valkoinen timantti virheviivoilla"] # 0x29f0 (en: 'error-barred white diamond', google translation)
+ - "⧱": [T: "musta timantti virheviivoilla"] # 0x29f1 (en: 'error-barred black diamond', google translation)
+ - "⧲": [T: "valkoinen ympyrä virheviivoilla"] # 0x29f2 (en: 'error-barred white circle', google translation)
+ - "⧳": [T: "musta ympyrä virheviivoilla"] # 0x29f3 (en: 'error-barred black circle', google translation)
+ - "⧴": [T: "viivästetty sääntö"] # 0x29f4 (en: 'rule-delayed', google: 'sääntöviitettu')
+ - "⧵": [T: "kenoviiva"] # 0x29f5 (en: 'reverse solidus operator', google translation)
+ - "⧶": [T: "vinoviiva yläviivalla"] # 0x29f6 (en: 'solidus with overbar', google: 'solidus ylikuormituksen kanssa')
+ - "⧷": [T: "kenoviiva poikkiviivalla"] # 0x29f7 (en: 'reverse solidus with horizontal stroke', google translation)
+ - "⧸": [T: "iso vinoviiva"] # 0x29f8 (google translation)
+ - "⧹": [T: "iso kenoviiva"] # 0x29f9 (en: 'big reverse solidus', google translation)
+ - "⧺": [T: "kaksinkertainen plus"] # 0x29fa (en: 'double plus', google translation)
+ - "⧻": [T: "kolminkertainen plus"] # 0x29fb (google translation)
+ - "⧼": [T: "vasemmalle osoittava kaareva kulmahakasulku"] # 0x29fc (en: 'left pointing curved angle bracket', google translation)
+ - "⧽": [T: "oikealle osoittava kaareva kulmahakasulku"] # 0x29fd (en: 'right pointing curved angle bracket', google translation)
+ - "⧾": [T: "tiny"] # 0x29fe (en: 'tiny', google translation)
+ - "⧿": [T: "miny"] # 0x29ff (google translation)
+ - "⨀": [T: "monikollinen ympyrässä oleva kertopiste"] # 0x2a00 (en: 'circled dot operator', google translation)
+ - "⨁": [T: "monikollinen ympyrässä oleva plus"] # 0x2a01 (en: 'circled plus operator', google translation)
+ - "⨂": [T: "monikollinen ympyrässä oleva kertomerkki"] # 0x2a02 (en: 'circled times operator', google translation)
+ - "⨃": [T: "pisteellinen monikkounioni"] # 0x2a03 (en: 'union operator with dot', google translation)
+ - "⨄": [T: "monijoukkojen monikkounioni"] # 0x2a04 (en: 'union operator with plus', google translation)
+ - "⨅": [T: "kulmikas leikkauksen merkki"] # 0x2a05 (en: 'square intersection operator', google translation)
+ - "⨆": [T: "kulmikas unionin merkki"] # 0x2a06 (en: 'square union operator', google translation)
+ - "⨇": [T: "kaksi loogista ja-operaattoria"] # 0x2a07 (en: 'two logical and operator', google translation)
+ - "⨈": [T: "kaksi loogista tai-operaattoria"] # 0x2a08 (en: 'two logical or operator', google translation)
+ - "⨉": [T: "kertaa-operaattori"] # 0x2a09 (en: 'times operator', google translation)
+ - "⨊": [T: "modulo kaksi summaa"] # 0x2a0a (en: 'modulo two sum', google translation)
+ - "⨋": [T: "summa integraalilla"] # 0x2a0b (en: 'summation with integral', google translation)
+ - "⨌": [T: "nelinkertainen integraali"] # 0x2a0c (google: 'neljänneksen kiinteä operaattori')
+ - "⨍": [T: "pääarvointegraali"] # 0x2a0d (google: 'äärellinen osa integraali')
+ - "⨎": [T: "integraali kaksinkertaisella poikkiviivalla"] # 0x2a0e (en: 'integral with double stroke', google translation)
+ - "⨏": [T: "integraalikeskiarvo viistolla vaakaviivalla"] # 0x2a0f (en: 'integral average with slash', google translation)
+ - "⨐": [T: "kiertofunktio"] # 0x2a10 (google: 'kiertotoiminto')
+ - "⨑": [T: "integraali vastapäivään"] # 0x2a11 (google: 'vastapäivään integraatio')
+ - "⨒": [T: "viivaintegraali neliskulmaisella polulla navan ympäri"] # 0x2a12 (en: 'line integration with rectangular path around pole', google: 'line -integraatio suorakaiteen muotoisella polulla navan ympärillä')
+ - "⨓": [T: "viivaintegraali puoliympyräpolulla navan ympäri"] # 0x2a13 (en: 'line integration with semicircular path around pole', google: 'line -integrointi puolipyöreällä polulla navan ympärillä')
+ - "⨔": [T: "viivaintegraali ei sisällä napaa"] # 0x2a14 (google: 'linjan integrointi ei sisällä napaa')
+ - "⨕": [T: "integraali pisteoperaattorin ympärillä"] # 0x2a15 (google: 'integroitu pisteen operaattorin ympärillä')
+ - "⨖": [T: "kvaternionin integraalioperaattori"] # 0x2a16 en: 'quaternion integral operator' google: 'kvaternionin kiinteä operaattori'
+ - "⨗": [T: "integraali ja vasemmalle osoittava nuoli koukulla"] # 0x2a17 (en: 'integral with leftwards arrow with hook', google: 'integraali vasemmanpuoleisella nuolella koukussa')
+ - "⨘": [T: "integraali kertomerkillä"] # 0x2a18 (en: 'integral with times sign', google translation)
+ - "⨙": [T: "integraali leikkauksella"] # 0x2a19 (en: 'integral with intersection', google translation)
+ - "⨚": [T: "integraali unionilla"] # 0x2a1a (en: 'integral with union', google translation)
+ - "⨛": [T: "integraali yläviivalla"] # 0x2a1b (en: 'integral with overbar', google translation)
+ - "⨜": [T: "integraali alaviivalla"] # 0x2a1c (en: 'integral with underbar', google translation)
+ - "⨝": [T: "liitos"] # 0x2a1d (en: 'join', google translation)
+ - "⨞": [T: "suuri vasen kolmio -operaattori"] # 0x2a1e (en: 'large left triangle operator', google translation)
+ - "⨟": [T: "Z-notaatio skeemayhdiste"] # 0x2a1f (en: 'z notation schema composition', google translation)
+ - "⨠": [T: "Z-notaatio skeemapiping"] # 0x2a20 (en: 'z notation schema piping', google translation)
+ - "⨡": [T: "Z-notaatio skeemaprojektio"] # 0x2a21 (en: 'z notation schema projection', google translation)
+ - "⨢": [T: "plus ja ympyrä yläpuolella"] # 0x2a22 (en: 'plus sign with circle above', google: 'plus -merkki yllä olevalla ympyrällä')
+ - "⨣": [T: "plus ja sirkumfleksi yläpuolella"] # 0x2a23 (en: 'plus sign with circumflex accent above', google: 'plus -merkki yllä olevalla ympyrä -aksentilla') # FI: should this be "hat", "hattu"?
+ - "⨤": [T: "plus ja tilde yläpuolella"] # 0x2a24 (en: 'plus sign with tilde above', google: 'plus -merkki yllä olevan tilden kanssa')
+ - "⨥": [T: "plus ja piste alapuolella"] # 0x2a25 (en: 'plus sign with dot below', google: 'plus -merkki alla olevalla pisteellä')
+ - "⨦": [T: "plus ja tilde alapuolella"] # 0x2a26 (en: 'plus sign with tilde below', google: 'plus -merkki alla olevilla tildeillä')
+ - "⨧": [T: "plus alaindeksi kaksi"] # 0x2a27 (en: 'plus sign with subscript two', google: 'plus -merkki alaindeksi kaksi')
+ - "⨨": [T: "plus mustalla kolmiolla"] # 0x2a28 (en: 'plus sign with black triangle', google translation)
+ - "⨩": [T: "miinus ja piste yläpuolella"] # 0x2a29 (en: 'minus sign with comma above', google: 'miinus merkki yllä olevalla pilkulla')
+ - "⨪": [T: "miinus ja piste alapuolella"] # 0x2a2a (en: 'minus sign with dot below', google: 'miinusmerkki alla olevalla pisteellä')
+ - "⨫": [T: "miinus putoavilla pisteillä"] # 0x2a2b (en: 'minus sign with falling dots', google translation)
+ - "⨬": [T: "miinus nousevilla pisteillä"] # 0x2a2c (en: 'minus sign with rising dots', google translation)
+ - "⨭": [T: "plus vasemmalla puoliympyrällä"] # 0x2a2d (google: 'plus kirjaudu vasemmassa puolivälissä')
+ - "⨮": [T: "plus oikealla puoliympyrällä"] # 0x2a2e (google: 'plus kirjaudu oikeaan puoliväliin')
+ - "⨯": [T: "ristitulo"] # 0x2a2f (en: 'cross product', google: 'ristituote')
+ - "⨰": [T: "kertomerkki ja piste yläpuolella"] # 0x2a30 (en: 'multiplication sign with dot above', google: 'kertolaskulla olevan pisteen kanssa')
+ - "⨱": [T: "kertomerkki alaviivalla"] # 0x2a31 (en: 'multiplication sign with underbar', google: 'kertolasku aluskokouksella')
+ - "⨲": [T: "puolisuora tulo, jonka pohja suljettu"] # 0x2a32 (en: 'semidirect product with bottom closed', google translation)
+ - "⨳": [T: "smash tulo"] # 0x2a33 (en: 'smash product' google: 'smash -tuote') # FI: translation unclear
+ - "⨴": [T: "kertomerkki vasemmalla puoliympyrällä"] # 0x2a34 (google: 'kertolaskenta vasemmassa puolivälissä')
+ - "⨵": [T: "kertomerkki oikealla puoliympyrällä"] # 0x2a35 (google: 'kertokultaan oikea puoli ympyrä')
+ - "⨶": [T: "ympyröity kertomerkki sirkumfleksillä"] # 0x2a36 (en: 'circled multiplication sign with circumflex accent', google: 'ympyräkerroin merkki kehäkykyt aksentilla') # FI: should this be with "hat", "hattu"?
+ - "⨷": [T: "kaksoisympyröity kertomerkki"] # 0x2a37 (google: 'kertolaskenta kaksoisympyrässä')
+ - "⨸": [T: "ympyröity jakomerkki"] # 0x2a38 (google: 'ympyrädivisioonan merkki')
+ - "⨹": [T: "plus kolmiossa"] # 0x2a39 (google: 'plus kirjaudu kolmioon')
+ - "⨺": [T: "miinus kolmiossa"] # 0x2a3a (google: 'miinus kirjaudu kolmioon')
+ - "⨻": [T: "kertomerkki kolmiossa"] # 0x2a3b (google: 'kertokultaan kolmiossa')
+ - "⨼": [T: "sisäinen tulo"] # 0x2a3c (google: 'sisätuote')
+ - "⨽": [T: "oikeanpuoleinen sisäinen tulo"] # 0x2a3d (en: 'righthand interior product', google translation)
+ - "⨿": [T: "amalgamaatio tai kotulo"] # 0x2a3f (en: "amalgamation or coproduct", google: 'yhdistäminen tai yhteistyö') # FI: translation unclear
+ - "⩀": [T: "leikkaus pisteellä"] # 0x2a40 (en: 'intersection with dot', google: 'risteys pisteellä')
+ - "⩁": [T: "unioni miinuksella"] # 0x2a41 (en: 'union with minus sign', google translation)
+ - "⩂": [T: "unioni yläviivalla"] # 0x2a42 (en: 'union with overbar', google: 'unioni ylikuormituksen kanssa')
+ - "⩃": [T: "leikkaus yläviivalla"] # 0x2a43 (en: 'intersection with overbar', google: 'risteys ylikuormituksen kanssa')
+ - "⩄": [T: "leikkaus ja looginen ja"] # 0x2a44 (en: 'intersection with logical and', google: 'risteys loogisella ja')
+ - "⩅": [T: "unioni ja looginen tai"] # 0x2a45 (en: 'union with logical or', google: 'union loogisen tai')
+ - "⩆": [T: "unioni leikkauksen yläpuolella"] # 0x2a46 (google: 'unioni risteyksen yläpuolella')
+ - "⩇": [T: "leikkaus unionin yläpuolella"] # 0x2a47 (google: 'risteys liiton yläpuolella')
+ - "⩈": [T: "unioni alaviivalla leikkauksen yläpuolella"] # 0x2a48 (google: 'unioni yläpuolella risteyksen yläpuolella')
+ - "⩉": [T: "leikkaus alaviivalla leikkauksen yläpuolella"] # 0x2a49 (google: 'risteys yläpuolella liiton yläpuolella')
+ - "⩊": [T: "unioni unionin vieressä yhdistettynä"] # 0x2a4a (en: 'union beside and joined with union', google: 'unionin vieressä ja liittyi unioniin')
+ - "⩋": [T: "leikkaus leikkauksen vieressä yhdistettynä"] # 0x2a4b (en: 'intersection beside and joined with intersection', google: 'risteys risteyksen vieressä ja liitetty')
+ - "⩌": [T: "suljettu unioni serifillä"] # 0x2a4c (en: 'closed union with serifs', google: 'suljettu liitto serifien kanssa')
+ - "⩍": [T: "suljettu leikkaus serifillä"] # 0x2a4d (en: 'closed intersection with serifs', google: 'suljettu risteys serifien kanssa')
+ - "⩎": [T: "kaksinkertainen neliöleikkus"] # 0x2a4e (en: 'double square intersection', google translation)
+ - "⩏": [T: "kaksinkertainen neliöunioni"] # 0x2a4f (google translation)
+ - "⩐": [T: "suljettu unioni serifillä ja smash tulo"] # 0x2a50 (en: 'closed union with serifs and smash product', google: 'suljettu liitto serifien ja smash -tuotteen kanssa')
+ - "⩑": [T: "looginen ja yläpisteellä"] # 0x2a51 (en: 'logical and with dot above', google translation)
+ - "⩒": [T: "looginen tai yläpisteellä"] # 0x2a52 (en: 'logical or with dot above', google translation)
+ - "⩓": [T: "kaksinkertainen looginen ja"] # 0x2a53 (google: 'kaksinkertainen looginen ja')
+ - "⩔": [T: "kaksinkertainen looginen tai"] # 0x2a54 (google: 'kaksinkertainen looginen tai')
+ - "⩕": [T: "kaksi limittäistä loogista ja -merkkiä"] # 0x2a55 (google: 'kaksi risteävää loogista ja')
+ - "⩖": [T: "kaksi limittäistä loogista tai -merkkiä"] # 0x2a56 (google: 'kaksi risteävää loogista tai')
+ - "⩗": [T: "vino suuri tai"] # 0x2a57 (google: 'kalteva suuri tai')
+ - "⩘": [T: "vino suuri ja"] # 0x2a58 (google: 'kalteva iso ja')
+ - "⩙": [T: "looginen tai jonka päällä looginen ja"] # 0x2a59 (en: 'logical or overlapping logical and', google translation)
+ - "⩚": [T: "looginen ja pystyviivalla"] # 0x2a5a (en: 'logical and with middle stem', google: 'looginen ja keskimmäisellä varrella')
+ - "⩛": [T: "looginen tai pystyviivalla"] # 0x2a5b (en: 'logical or with middle stem', google: 'looginen tai keskimmäisellä varrella')
+ - "⩜": [T: "looginen ja vaakaviivalla"] # 0x2a5c (en: 'logical and with horizontal dash', google: 'looginen ja vaakasuuntaisella viivalla')
+ - "⩝": [T: "looginen tai vaakaviivalla"] # 0x2a5d (en: 'logical or with horizontal dash', google: 'looginen tai vaakasuuntaisella viivalla')
+ - "⩞": [T: "looginen ja kaksoisyläviivalla"] # 0x2a5e (en: 'logical and with double overbar', google translation)
+ - "⩟": [T: "looginen ja alaviivalla"] # 0x2a5f (en: 'logical and with underbar', google: 'looginen ja alikarjan kanssa')
+ - "⩠": [T: "looginen ja kaksoisalaviivalla"] # 0x2a60 (en: 'logical and with double underbar', google translation)
+ - "⩡": [T: "pieni vee alaviivalla"] # 0x2a61 (en: 'small vee with underbar', google translation)
+ - "⩢": [T: "looginen tai kaksoisyläviivalla"] # 0x2a62 (en: 'logical or with double overbar', google translation)
+ - "⩣": [T: "kaksoisalleviivattu looginen tai"] # 0x2a63 (en: 'logical or with double underbar', google translation)
+ - "⩤": [T: "Z-notaatio määrittelyjoukon vastarajoitus"] # 0x2a64 (en: 'z notation domain antirestriction', google translation) # FI: unclear translation
+ - "⩥": [T: "Z-notaatio kuvajoukon vastarajoitus"] # 0x2a65 (en: 'z notation range antirestriction', google translation) # FI: unclear translation
+ - "⩦": [T: "on yhtä suuri kuin alapisteellä"] # 0x2a66 (en: 'equals sign with dot below', google: 'vastaa alla olevaa pistettä')
+ - "⩧": [T: "identtinen yläpisteellä"] # 0x2a67 (en: 'identical with dot above', google translation)
+ - "⩨": [T: "kolminkertainen vaakasuora viiva kaksinkertaisella pystysuoralla viivalla"] # 0x2a68 (en: 'triple horizontal bar with double vertical stroke', google translation)
+ - "⩩": [T: "kolminkertainen vaakasuora viiva kolminkertaisella pystysuoralla viivalla"] # 0x2a69 (en: 'triple horizontal bar with triple vertical stroke', google translation)
+ - "⩪": [T: "tilde yläpisteellä"] # 0x2a6a (en: 'tilde operator with dot above', google: 'tilde -operaattori, jossa on pisteen yllä')
+ - "⩫": [T: "tilde nousevilla pisteillä"] # 0x2a6b (en: 'tilde operator with rising dots', google translation)
+ - "⩬": [T: "samankaltainen miinus samankaltainen"] # 0x2a6c (en: 'similar minus similar', google translation)
+ - "⩭": [T: "kongruentti yläpisteellä"] # 0x2a6d (en: 'congruent with dot above', google: 'yhteydet yllä olevan dot: n kanssa')
+ - "⩮": [T: "on yhtä suuri kuin tähdellä"] # 0x2a6e (en: 'equals with asterisk', google translation)
+ - "⩯": [T: "on lähes yhtä suuri kuin sirkumfleksillä"] # 0x2a6f (en: 'almost equal to with circumflex accent', google: 'lähes')
+ - "⩰": [T: "on suunnilleen yhtä suuri tai yhtä suuri kuin"] # 0x2a70 (en: 'approximately equal to or equal to', google translation)
+ - "⩱": [T: "on yhtä suuri kuin ja plus alapuolella"] # 0x2a71 (en: 'equals sign above plus sign', google: 'vastaa merkkiä yllä plus merkki')
+ - "⩲": [T: "on yhtä suuri kuin ja plus yläpuolella"] # 0x2a72 (en: 'plus sign above equals sign', google: 'plus -merkki yllä on yhtä suuri merkki')
+ - "⩳": [T: "on yhtä suuri kuin ja tilde alapuolella"] # 0x2a73 (google: 'yhtä suuri kuin merkki tilde -operaattorin yläpuolella')
+ - "⩴": [T: "tuplakaksoispiste on yhtä suuri kuin"] # 0x2a74 (google: 'kaksinkertainen paksusuolen tasainen')
+ - "⩵": [T: "kaksi peräkkäistä on yhtä suuri kuin -merkkiä"] # 0x2a75 (en: 'two consecutive equals signs', google: 'kaksi peräkkäistä vastaa merkkejä')
+ - "⩶": [T: "kolme peräkkäistä on yhtä suuri kuin -merkkiä"] # 0x2a76 (en: 'three consecutive equals signs', google translation)
+ - "⩷": [T: "on yhtä suuri kuin kahdella yläpisteellä ja kahdella alapisteellä"] # 0x2a77 (en: 'equals sign with two dots above and two dots below', google: 'yhtä suuri kuin kaksi pistettä yllä ja kaksi pistettä alla')
+ - "⩸": [T: "on yhtä suuri kuin neljällä yläpisteellä"] # 0x2a78 (en: 'equivalent with four dots above', google: 'vastaa neljällä pisteellä yllä')
+ - "⩹": [T: "pienempi kuin ja ympyrä sisällä"] # 0x2a79 (en: 'less than with circle inside', google: 'vähemmän kuin ympyrällä sisällä')
+ - "⩺": [T: "suurempi kuin ja ympyrä sisällä"] # 0x2a7a (en: 'greater than with circle inside', google: 'suurempi kuin ympyrällä sisällä')
+ - "⩻": [T: "pienempi kuin ja kysymysmerkki yläpuolella"] # 0x2a7b (en: 'less than with question mark above', google: 'vähemmän kuin yllä oleva kysymys')
+ - "⩼": [T: "suurempi kuin ja kysymysmerkki yläpuolella"] # 0x2a7c (en: 'greater than with question mark above', google: 'suurempi kuin yllä oleva kysymys')
+ - "⩽": [T: "pienempi kuin tai vino on yhtä suuri kuin"] # 0x2a7d (google: 'vähemmän kuin vino kuin')
+ - "⩾": [T: "suurempi kuin tai vino on yhtä suuri kuin"] # 0x2a7e (en: 'greater than or slanted equal to', google: 'suurempi kuin vino yhtä suuri kuin')
+ - "⩿": [T: "pienempi kuin tai vino on yhtä suuri kuin ja piste sisällä"] # 0x2a7f (en: 'less than or slanted equal to with dot inside', google: 'vähemmän tai vino yhtä suuri kuin pisteellä')
+ - "⪀": [T: "suurempi kuin tai vino on yhtä suuri kuin ja piste sisällä"] # 0x2a80 (en: 'greater than or slanted equal to with dot inside', google: 'suurempi tai viistot yhtä suuri kuin pisteellä')
+ - "⪁": [T: "pienempi kuin tai vino on yhtä suuri kuin ja piste yläpuolella"] # 0x2a81 (en: 'less than or slanted equal to with dot above', google: 'vähemmän kuin vino yhtä suuri kuin yllä olevalla pisteellä')
+ - "⪂": [T: "suurempi kuin tai vino on yhtä suuri kuin ja piste yläpuolella"] # 0x2a82 (en: 'greater than or slanted equal to with dot above', google: 'suurempi kuin vino kuin yllä olevalla pisteellä')
+ - "⪃": [T: "pienempi kuin tai vino on yhtä suuri kuin ja piste yläoikealla"] # 0x2a83 (en: 'less than or slanted equal to with dot above right', google: 'vähemmän tai viistot yhtä suuri kuin oikean yläpuolella')
+ - "⪄": [T: "suurempi kuin tai vino on yhtä suuri kuin ja piste ylävasemmalla"] # 0x2a84 (en: 'greater than or slanted equal to with dot above left', google: 'suurempi kuin vino kuin vasemman yläpuolella oleva piste')
+ - "⪅": [T: "vähemmän tai likimäärin"] # 0x2a85 (en: 'less than or approximate', google translation)
+ - "⪆": [T: "suurempi tai likimäärin"] # 0x2a86 (en: 'greater than or approximate', google translation)
+ - "⪇": [T: "pienempi kuin ja yksiviivainen ei yhtä suuri kuin"] # 0x2a87 (en: 'less than and single line not equal to', google translation)
+ - "⪈": [T: "suurempi kuin ja yksiviivainen ei yhtä suuri kuin"] # 0x2a88 (en: 'greater than and single line not equal to', google translation)
+ - "⪉": [T: "pienempi kuin mutta ei likimäärin"] # 0x2a89 (en: 'less than and not approximate', google: 'vähemmän kuin ja ei likimääräinen')
+ - "⪊": [T: "suurempi kuin mutta ei likimäärin"] # 0x2a8a (en: 'greater than and not approximate', google: 'suurempi kuin ja ei likimääräinen')
+ - "⪋": [T: "pienempi kuin jonka alapuolella vaakaviiva jonka alapuolella suurempi kuin"] # 0x2a8b (en: 'less than above double line equal above greater than', google translation)
+ - "⪌": [T: "suurempi kuin jonka alapuolella vaakaviiva jonka alapuolella pienempi kuin"] # 0x2a8c (en: 'greater than above double line equal above less than', google translation)
+ - "⪍": [T: "pienempi kuin jonka alapuolella yhtä suuri tai likimäärin yhtä suuri kuin"] # 0x2a8d (google: 'vähemmän kuin samanlainen tai tasainen')
+ - "⪎": [T: "suurempi kuin jonka alapuolella yhtä suuri tai limikäärin yhtä suuri kuin"] # 0x2a8e (google: 'suurempi kuin samanlainen tai tasainen')
+ - "⪏": [T: "pienempi kuin jonka alapuolella likimäärin jonka alapuolella suurempi kuin"] # 0x2a8f (google: 'vähemmän kuin yläpuolella yläpuolella suurempi kuin')
+ - "⪐": [T: "suurempi kuin jonka alapuolella likimäärin jonka alapuolella suurempi kuin"] # 0x2a90 (google: 'suurempi kuin edellä mainitussa yläpuolella')
+ - "⪑": [T: "pienempi kuin suurempi kuin tai yhtä suuri kuin"] # 0x2a91 (en: 'less than above greater than above double line equal', google: 'alle enemmän kuin yli suurempi kuin kaksoisviiva on yhtä suuri')
+ - "⪒": [T: "suurempi kuin pienempi kuin tai yhtä suuri kuin"] # 0x2a92 (en: 'greater than above less than above double line equal', google: 'suurempi kuin yläpuolella vähemmän kuin kaksoisviiva on yhtä suuri')
+ - "⪓": [T: "pienempi kuin tai vino on yhtä suuri kuin suurempi kuin tai vino on yhtä suuri kuin"] # 0x2a93 (google: 'vähemmän kuin yläpuolella viistot ovat yhtä suurempia kuin yläpuolella viistot ovat yhtä suuret')
+ - "⪔": [T: "suurempi kuin tai vino on yhtä suuri kuin pienempi kuin tai vino on yhtä suuri kuin"] # 0x2a94 (google: 'suurempi kuin yläpuolella viistot ovat yhtä suurempia kuin viistojen yläpuolella yhtä suuret')
+ - "⪕": [T: "vino on yhtä suuri kuin tai pienempi kuin"] # 0x2a95 (en: 'slanted equal to or less than', google translation)
+ - "⪖": [T: "vino on yhtä suuri kuin tai suurempi kuin"] # 0x2a96 (en: 'slanted equal to or greater than', google translation)
+ - "⪗": [T: "vino on yhtä suuri kuin tai pienempi kuin ja piste sisällä"] # 0x2a97 (en: 'slanted equal to or less than with dot inside', google: 'viisto yhtä tai vähemmän kuin pisteellä sisällä')
+ - "⪘": [T: "vino on yhtä suuri kuin tai suurempi kuin ja piste sisällä"] # 0x2a98 (en: 'slanted equal to or greater than with dot inside', google: 'viisto yhtä tai suurempi kuin pisteellä sisällä')
+ - "⪙": [T: "on yhtä suuri kuin tai pienempi kuin"] # 0x2a99 (en: 'double line equal to or less than', google: 'kaksoisviiva, joka on yhtä suuri tai vähemmän kuin')
+ - "⪚": [T: "on yhtä suuri kuin tai suurempi kuin"] # 0x2a9a (en: 'double line equal to or greater than', google: 'kaksoisviiva, joka on yhtä suuri tai suurempi')
+ - "⪛": [T: "kaksoisviivainen on yhtä suuri kuin tai pienempi kuin"] # 0x2a9b (en: 'double line slanted equal to or less than', google translation)
+ - "⪜": [T: "kaksoisviivainen on yhtä suuri kuin tai suurempi kuin"] # 0x2a9c (en: 'double line slanted equal to or greater than', google translation)
+ - "⪝": [T: "likimäärin tai pienempi kuin"] # 0x2a9d (en: 'similar or less than', google: 'samanlainen tai vähemmän kuin')
+ - "⪞": [T: "likimäärin tai suurempi kuin"] # 0x2a9e (google: 'samanlainen tai suurempi kuin')
+ - "⪟": [T: "likimäärin jonka alapuolella vähemmän kuin jonka alapuolella on yhtä suuri kuin"] # 0x2a9f (google: 'samanlainen yläpuolella vähemmän kuin yllä oleva merkki')
+ - "⪠": [T: "likimäärin jonka alapuolella suurempi kuin jonka alapuolella on yhtä suuri kuin"] # 0x2aa0 (google: 'samanlainen yläpuolella suurempi kuin yllä oleva merkki')
+ - "⪡": [T: "sisäkkäiset pienempi kuin"] # 0x2aa1 (en: 'double nested less than', google: 'kaksinkertainen sisäkkäin vähemmän kuin')
+ - "⪢": [T: "sisäkkäiset suurempi kuin"] # 0x2aa2 (en: 'double nested greater than', google: 'kaksinkertainen sisäkkäinen suurempi kuin')
+ - "⪣": [T: "kaksi sisälläistä pienempi kuin alaviivalla"] # 0x2aa3 (en: 'double nested less than with underbar', google translation)
+ - "⪤": [T: "pienempi kuin -merkki suurempi kuin -merkin päällä"] # 0x2aa4 (en: 'greater than overlapping less than', google: 'suurempi kuin päällekkäisyys vähemmän kuin')
+ - "⪥": [T: "suurempi kuin pienempi kuin"] # 0x2aa5 (google: 'suurempi kuin vähemmän kuin')
+ - "⪦": [T: "pienempi kuin suljettu käyrällä"] # 0x2aa6 (google: 'vähemmän kuin käyrä suljettu')
+ - "⪧": [T: "suurempi kuin suljettu käyrällä"] # 0x2aa7 (google: 'suurempi kuin käyrä suljettu')
+ - "⪨": [T: "pienempi kuin suljettu käyrällä tai yhtä suuri kuin"] # 0x2aa8 (google: 'vähemmän kuin suljettuna käyrällä viistolla tasavertaisesti')
+ - "⪩": [T: "suurempi kuin suljettu käyrällä tai yhtä suuri kuin"] # 0x2aa9 (google: 'suurempi kuin suljettu kaarulla, joka on viistolla yhtä suuri')
+ - "⪪": [T: "pienempi kuin vaakaviivalla"] # 0x2aaa (google: 'pienempi kuin')
+ - "⪫": [T: "suurempi kuin vaakaviivalla"] # 0x2aab (google: 'suurempi kuin')
+ - "⪬": [T: "pienempi kuin vaakaviivalla tai yhtä suuri kuin"] # 0x2aac (google: 'pienempi tai yhtä suuri kuin')
+ - "⪭": [T: "suurempi kuin vaakaviivalla tai yhtä suuri kuin"] # 0x2aad (google: 'suurempi tai yhtä suuri kuin')
+ - "⪮": [T: "ero välillä"] # 0x2aae (en: 'equals sign with bumpy above', google: 'yhtä suuri kuin kuohuttava yllä') # FI: translation unclear
+ - "⪯": [T: "edeltää jonka alapuolella yksiviivainen yhtä suuri kuin"] # 0x2aaf (google: 'ennen yhden rivin yläpuolella on yhtä suuri kuin merkki')
+ - "⪰": [T: "seuraa jonka alapuolella yksiviivainen yhtä suuri kuin"] # 0x2ab0 (en: 'succeeds above single line equals sign', google translation)
+ - "⪱": [T: "edeltää jonka alapuolella yksiviivainen ei yhtä suuri kuin"] # 0x2ab1 (en: 'precedes above single line not equal to', google translation)
+ - "⪲": [T: "seuraa jonka alapuolella yksiviivainen ei yhtä suuri kuin"] # 0x2ab2 (en: 'succeeds above single line not equal to', google translation)
+ - "⪳": [T: "edeltää jonka alapuolella yhtä suuri kuin"] # 0x2ab3 (en: 'precedes above equals sign', google translation)
+ - "⪴": [T: "seuraa jonka alapuolella yhtä suuri kuin"] # 0x2ab4 (en: 'succeeds above equals sign', google translation)
+ - "⪵": [T: "edeltää mutta ei ole yhtä suuri kuin"] # 0x2ab5 (en: 'precedes above not equal to', google: 'edellä on edellä, joka ei ole yhtä suuri kuin')
+ - "⪶": [T: "seuraa mutta ei ole yhtä suuri kuin"] # 0x2ab6 (en: 'succeeds above not equal to', google: 'onnistuu yläpuolella, ei ole yhtä suuri kuin')
+ - "⪷": [T: "edeltää ja on likimäärin"] # 0x2ab7 (en: 'precedes above almost equal to', google translation)
+ - "⪸": [T: "seuraa ja on likimäärin"] # 0x2ab8 (en: 'succeeds above almost equal to', google translation)
+ - "⪹": [T: "edeltää mutta ei ole likimäärin"] # 0x2ab9 (en: 'precedes above not almost equal to', google translation)
+ - "⪺": [T: "seuraa mutta ei ole likimäärin"] # 0x2aba (en: 'succeeds above not almost equal to', google translation)
+ - "⪻": [T: "kaksinkertainen edeltää"] # 0x2abb (google: 'kaksinkertainen edeltävä')
+ - "⪼": [T: "kaksinkertainen seuraa"] # 0x2abc (google: 'double onnistuu')
+ - "⪽": [T: "osajoukko pisteellä"] # 0x2abd (en: 'subset with dot', google: 'alajoukko pisteellä')
+ - "⪾": [T: "ylijoukko pisteellä"] # 0x2abe (en: 'superset with dot', google: 'superset pisteellä')
+ - "⪿": [T: "osajoukko ja alapuolella plus"] # 0x2abf (en: 'subset with plus sign below', google: 'alajoukko plus -merkki alla')
+ - "⫀": [T: "ylijoukko ja alapuolella plus"] # 0x2ac0 (en: 'superset with plus sign below', google: 'superset alla olevalla merkinnällä')
+ - "⫁": [T: "osajoukko ja alapuolella kertomerkki"] # 0x2ac1 (en: 'subset with multiplication sign below', google: 'alajoukko alla olevalla kertolaskulla')
+ - "⫂": [T: "ylijoukko ja alapuolella kertomerkki"] # 0x2ac2 (en: 'superset with multiplication sign below', google: 'superset alla olevalla kertolaskulla')
+ - "⫃": [T: "osajoukko tai yhtä suuri kuin ja yläpuolella piste"] # 0x2ac3 (en: 'subset of or equal to with dot above', google: 'alajoukko tai yhtä suuri kuin yllä olevalla pisteellä')
+ - "⫄": [T: "ylijoukko tai yhtä suuri kuin ja yläpuolella piste"] # 0x2ac4 (en: 'superset of or equal to with dot above', google: 'superset tai yhtä suuri kuin yllä olevalla pisteellä')
+ - "⫅": [T: "osajoukko tai yhtä suuri kuin"] # 0x2ac5 (en: 'subset of above equals sign', google translation)
+ - "⫆": [T: "ylijoukko tai yhtä suuri kuin"] # 0x2ac6 (en: 'superset of above equals sign', google translation)
+ - "⫇": [T: "likimäärin osajoukko"] # 0x2ac7 (en: 'subset of above tilde operator', google: 'yllä olevan tilde -operaattorin osajoukko')
+ - "⫈": [T: "likimäärin ylijoukko"] # 0x2ac8 (en: 'superset of above tilde operator', google: 'tilde -operaattorin yläpuolella')
+ - "⫉": [T: "osajoukko jonka alapuolella likimäärin yhtä suuri kuin"] # 0x2ac9 (en: 'subset of above almost equal to', google translation)
+ - "⫊": [T: "ylijoukko jonka alapuolella likimäärin yhtä suuri kuin"] # 0x2aca (en: 'superset of above almost equal to', google translation)
+ - "⫋": [T: "osajoukko mutta ei yhtä suuri kuin"] # 0x2acb (en: 'subset above not equal to', google translation)
+ - "⫌": [T: "ylijoukko mutta ei yhtä suuri kuin"] # 0x2acc (en: 'superset of above not equal to', google translation)
+ - "⫍": [T: "laatikko-operaattori jonka vasen puoli avoin"] # 0x2acd (en: 'square left open box operator', google translation) # FI: translation unclear
+ - "⫎": [T: "laatikko-operaattori jonka oikea puoli avoin"] # 0x2ace (en: 'square right open box operator', google translation) # FI: translation unclear
+ - "⫏": [T: "suljettu osajoukko"] # 0x2acf (google: 'suljettu alajoukko')
+ - "⫐": [T: "suljettu ylijoukko"] # 0x2ad0 (google: 'suljettu superset')
+ - "⫑": [T: "suljettu osajoukko tai yhtä suuri kuin"] # 0x2ad1 (google: 'suljettu osajoukko tai yhtä suuri kuin')
+ - "⫒": [T: "suljettu ylijoukko tai yhtä suuri kuin"] # 0x2ad2 (google: 'suljettu superset tai yhtä suuri kuin')
+ - "⫓": [T: "osajoukko ylijoukon yläpuolella"] # 0x2ad3 (en: 'subset above superset', google: 'supersetin yläpuolella')
+ - "⫔": [T: "ylijoukko osajoukon yläpuolella"] # 0x2ad4 (en: 'superset above subset', google: 'superset alajoukon yläpuolella')
+ - "⫕": [T: "osajoukko osajoukon yläpuolella"] # 0x2ad5 (en: 'subset above subset', google: 'alajoukko alajoukossa')
+ - "⫖": [T: "ylijoukko ylijoukon yläpuolella"] # 0x2ad6 (en: 'superset above superset', google: 'superset supersetin yläpuolella')
+ - "⫗": [T: "ylijoukko osajoukon vieressä"] # 0x2ad7 (google: 'superset alajoukon vieressä')
+ - "⫘": [T: "ylijoukko osajoukon vieressä yhdistettynä viivalla"] # 0x2ad8 (en: 'superset beside and joined by dash with subset', google: 'superset vieressä ja liittyi viivalla alajoukkoon')
+ - "⫙": [T: "alaspäin aukeava kuuluu joukkoon"] # 0x2ad9 (google: 'elementti avautumisesta alaspäin')
+ - "⫚": [T: "hanko t-yläosalla"] # 0x2ada (en: 'pitchfork with tee top', google: 'pitchfork tee -top') # FI: translation unclear
+ - "⫛": [T: "poikittainen leikkaus"] # 0x2adb (google: 'poikittainen risteys') # FI: translation unclear
+ - "⫝̸": [T: "haarukka"] # 0x2adc (en: 'forking', google translation) # FI: translation unclear
+ - "⫝": [T: "ei-haarukka"] # 0x2add (en: 'nonforking', google translation) # FI: translation unclear
+ - "⫞": [T: "lyhyt nasta vasemmalle"] # 0x2ade (en: 'short left tack', google translation)
+ - "⫟": [T: "lyhyt nasta alaspäin"] # 0x2adf (en: 'short down tack', google translation)
+ - "⫠": [T: "lyhyt nasta ylöspäin"] # 0x2ae0 (en: 'short up tack', google translation)
+ - "⫡": [T: "kohtisuora ja s"] # 0x2ae1 (en: 'perpendicular with s', google translation)
+ - "⫢": [T: "pystysuora palkki ja kolminkertainen oikea kääntöportti"] # 0x2ae2 (en: 'vertical bar triple right turnstile', google translation)
+ - "⫣": [T: "kaksinkertainen pystysuora viiva ja vasen kääntöportti"] # 0x2ae3 (en: 'double vertical bar left turnstile', google translation)
+ - "⫤": [T: "pystyviiva ja vasemmanpuoleinen kaksoiskääntöportti"] # 0x2ae4 (en: 'vertical bar double left turnstile', google: 'pystysuora palkki kaksinkertainen vasen kääntölaite')
+ - "⫥": [T: "kaksoispystyviiva ja vasemmanpuoleinen kaksoiskääntöportti"] # 0x2ae5 (en: 'double vertical bar double left turnstile', google translation)
+ - "⫦": [T: "pitkä viiva kahden pystyviivan vasemmanpuoleisesta viivasta"] # 0x2ae6 (google: 'pitkä viiva double pystysuoran vasemmalta jäseneltä')
+ - "⫧": [T: "lyhyt nasta alaspäin yläviivalla"] # 0x2ae7 (en: 'short down tack with overbar', google: 'lyhyt alaspäin tarttuva ylikuormitus')
+ - "⫨": [T: "lyhyt nasta ylöspäin alaviivalla"] # 0x2ae8 (en: 'short up tack with underbar', google: 'lyhyt up takki alapalkissa')
+ - "⫩": [T: "lyhyt nasta ylöspäin jonka alapuolella lyhyt nasta alaspäin"] # 0x2ae9 (google: 'lyhyt ylösnopeus lyhyen alaspäin')
+ - "⫪": [T: "kaksinkertainen nasta alaspäin"] # 0x2aea (en: 'double down tack', google translation)
+ - "⫫": [T: "kaksinkertainen nasta ylöspäin"] # 0x2aeb (google: 'kaksinkertainen tarttuva')
+ - "⫬": [T: "kaksoisviiva ei"] # 0x2aec (en: "double stroke not sign" google: 'kaksinkertainen isku ei allekirjoittaa')
+ - "⫭": [T: "käännetty kaksoisviiva ei"] # 0x2aed (en: "reversed double stroke not sign" google: 'käänteinen kaksoishalvaus ei allekirjoittaa')
+ - "⫮": [T: "ei jaa käännetyllä negaatioviivalla"] # 0x2aee (en: 'does not divide with reversed negation slash', google: 'ei jaa käännetyn kielteisen viivan kanssa')
+ - "⫯": [T: "pystyviiva ja ympyrä yläpuolella"] # 0x2aef (en: 'vertical line with circle above', google: 'pystysuora viiva ympyrän kanssa')
+ - "⫰": [T: "pystyviiva ja ympyrä alapuolella"] # 0x2af0 (en: 'vertical line with circle below', google: 'pystysuora viiva, jossa ympyrä alla')
+ - "⫱": [T: "nasta alaspäin ja ympyrä alapuolella"] # 0x2af1 (en: 'down tack with circle below', google: 'alaspäin ympyrä alla')
+ - "⫲": [T: "yhdensuuntainen poikkiviivalla"] # 0x2af2 (en: 'parallel with horizontal stroke', google: 'yhdensuuntainen vaakasuuntaisen iskun kanssa')
+ - "⫳": [T: "yhdensuuntainen tildellä"] # 0x2af3 (en: 'parallel with tilde operator', google: 'rinnakkain tilde -operaattorin kanssa')
+ - "⫴": [T: "kolminkertainen pystysuora viiva binäärirelaatiolla"] # 0x2af4 (en: 'triple vertical bar binary relation', google translation)
+ - "⫵": [T: "kolminkertainen pystysuora viiva poikkiviivalla"] # 0x2af5 (en: 'triple vertical bar with horizontal stroke', google translation)
+ - "⫶": [T: "kolmoispisteoperaattori"] # 0x2af6 (en: 'triple colon operator', google translation)
+ - "⫷": [T: "kolminkertainen sisäkkäinen vähemmän kuin"] # 0x2af7 (en: 'triple nested less than', google translation)
+ - "⫸": [T: "kolminkertainen sisäkkäinen suurempi kuin"] # 0x2af8 (en: 'triple nested greater than', google translation)
+ - "⫹": [T: "pienempi kuin tai vino kaksinkertainen on yhtä suuri kuin"] # 0x2af9 (en: 'double line slanted less than or equal to', google translation)
+ - "⫺": [T: "suurempi kuin tai vino kaksinkertainen on yhtä suuri kuin"] # 0x2afa (en: 'double line slanted greater than or equal to', google translation)
+ - "⫻": [T: "kolminkertainen vinoviiva binäärirelaatiolla"] # 0x2afb (en: 'triple solidus binary relation', google translation)
+ - "⫼": [T: "suuri kolminkertainen pystyviiva"] # 0x2afc (en: 'large triple vertical bar operator', google translation)
+ - "⫽": [T: "kaksoisvinoviiva"] # 0x2afd (en: 'double solidus operator', google translation)
+ - "⫾": [T: "valkoinen pystysuora palkki"] # 0x2afe (en: 'white vertical bar', google translation)
+ - "⫿": [T: "valkoinen pystysuora palkki"] # 0x2aff (en: 'white vertical bar', google translation)
+ - "⬀": [T: "yläoikealle osoittava valkoinen nuoli"] # 0x2b00 (en: 'north east white arrow', google translation)
+ - "⬁": [T: "ylävasemmalle osoittava valkoinen nuoli"] # 0x2b01 (en: 'north west white arrow', google translation)
+ - "⬂": [T: "alaoikealle osoittava valkoinen nuoli"] # 0x2b02 (en: 'south east white arrow', google translation)
+ - "⬃": [T: "alavasemmalle osoittava valkoinen nuoli"] # 0x2b03 (en: 'south west white arrow', google translation)
+ - "⬄": [T: "oikealle ja vasemmalle osoittava valkoinen nuoli"] # 0x2b04 (en: 'left right white arrow', google translation)
+ - "⬅": [T: "vasen musta nuoli"] # 0x2b05 (en: 'leftwards black arrow', google translation)
+ - "⬆": [T: "ylöspäin osoittava musta nuoli"] # 0x2b06 (en: 'upwards black arrow', google translation)
+ - "⬇": [T: "alaspäin osoittava musta nuoli"] # 0x2b07 (en: 'downwards black arrow', google translation)
+ - "⬈": [T: "yläoikealle osoittava musta nuoli"] # 0x2b08 (en: 'north east black arrow', google translation)
+ - "⬉": [T: "ylävasemmalle osoittava musta nuoli"] # 0x2b09 (en: 'north west black arrow', google translation)
+ - "⬊": [T: "alaoikealle osoittava musta nuoli"] # 0x2b0a (en: 'south east black arrow', google translation)
+ - "⬋": [T: "alavasemmalle osoittava musta nuoli"] # 0x2b0b (en: 'south west black arrow', google translation)
+ - "⬌": [T: "vasemmalle ja oikealle osoittava musta nuoli"] # 0x2b0c (en: 'left right black arrow', google translation)
+ - "⬍": [T: "ylös ja alas osoittava musta nuoli"] # 0x2b0d (en: 'up down black arrow', google translation)
+ - "⬎": [T: "oikealle ja alas osoittava nuoli"] # 0x2b0e (en: 'rightwards arrow with tip downwards', google translation)
+ - "⬏": [T: "oikealle ja ylös osoittava nuoli"] # 0x2b0f (en: 'rightwards arrow with tip upwards', google translation)
+ - "⬐": [T: "vasemmalle ja alas osoittava nuoli"] # 0x2b10 (en: 'leftwards arrow with tip downwards', google translation)
+ - "⬑": [T: "vasemmalle ja ylös osoittava nuoli"] # 0x2b11 (en: 'leftwards arrow with tip upwards', google translation)
+ - "⬒": [T: "neliö mustalla yläpuoliskolla"] # 0x2b12 (en: 'square with top half black', google translation)
+ - "⬓": [T: "neliö mustalla alapuoliskolla"] # 0x2b13 (en: 'square with bottom half black', google translation)
+ - "⬔": [T: "neliö jonka oikea diagonaali musta"] # 0x2b14 (en: 'square with upper right diagonal half black', google translation)
+ - "⬕": [T: "neliö jonka vasen diagonaali musta"] # 0x2b15 (en: 'square with lower left diagonal half black', google translation)
+ - "⬖": [T: "timantti jonka vasen puoli musta"] # 0x2b16 (en: 'diamond with left half black', google translation)
+ - "⬗": [T: "timantti jonka oikea puoli musta"] # 0x2b17 (en: 'diamond with right half black', google translation)
+ - "⬘": [T: "timantti mustalla yläpuoliskolla"] # 0x2b18 (en: 'diamond with top half black', google translation)
+ - "⬙": [T: "timantti mustalla alapuoliskolla"] # 0x2b19 (en: 'diamond with bottom half black', google translation)
+ - "⬚": [T: "laatikko"] # 0x2b1a (en: 'box', google translation)
+ - "⬛": [T: "musta iso neliö"] # 0x2b1b (en: 'black large square', google translation)
+ - "⬜": [T: "valkoinen iso neliö"] # 0x2b1c (en: 'white large square', google translation)
+ - "⬝": [T: "musta hyvin pieni neliö"] # 0x2b1d (en: 'black very small square', google translation)
+ - "⬞": [T: "valkoinen hyvin pieni neliö"] # 0x2b1e (en: 'white very small square', google translation)
+ - "⬟": [T: "musta viisikulmio"] # 0x2b1f (en: 'black pentagon', google translation)
+ - "⬠": [T: "valkoinen viisikulmio"] # 0x2b20 (en: 'white pentagon', google translation)
+ - "⬡": [T: "valkoinen kuusikulmio"] # 0x2b21 (en: 'white hexagon', google translation)
+ - "⬢": [T: "musta kuusikulmio"] # 0x2b22 (en: 'black hexagon', google translation)
+ - "⬣": [T: "vaaka musta kuusikulmio"] # 0x2b23 (en: 'horizontal black hexagon', google translation)
+ - "⬤": [T: "musta iso ympyrä"] # 0x2b24 (en: 'black large circle', google translation)
+ - "⬥": [T: "musta keskisuuri timantti"] # 0x2b25 (en: 'black medium diamond', google translation)
+ - "⬦": [T: "valkoinen keskisuuri timantti"] # 0x2b26 (en: 'white medium diamond', google translation)
+ - "⬧": [T: "musta keskipitkä vinoneliö"] # 0x2b27 (en: 'black medium lozenge', google translation)
+ - "⬨": [T: "valkoinen keskisuuri vinoneliö"] # 0x2b28 (en: 'white medium lozenge', google translation)
+ - "⬩": [T: "musta pieni timantti"] # 0x2b29 (en: 'black small diamond', google translation)
+ - "⬪": [T: "musta pieni vinoneliö"] # 0x2b2a (en: 'black small lozenge', google translation)
+ - "⬫": [T: "valkoinen pieni vinoneliö"] # 0x2b2b (en: 'white small lozenge', google translation)
+ - "⬬": [T: "musta vaakasuora ellipsi"] # 0x2b2c (en: 'black horizontal ellipse', google translation)
+ - "⬭": [T: "valkoinen vaakasuora ellipsi"] # 0x2b2d (en: 'white horizontal ellipse', google translation)
+ - "⬮": [T: "musta pystysuora ellipsi"] # 0x2b2e (en: 'black vertical ellipse', google translation)
+ - "⬯": [T: "valkoinen pystysuora ellipsi"] # 0x2b2f (en: 'white vertical ellipse', google translation)
+ - "⬰": [T: "vasen nuoli pienellä ympyrällä"] # 0x2b30 (en: 'left arrow with small circle', google translation)
+ - "⬱": [T: "kolme vasemmanpuoleista nuolta"] # 0x2b31 (en: 'three leftwards arrows', google translation)
+ - "⬲": [T: "vasen nuoli ympyröidulla plus-merkillä"] # 0x2b32 (en: 'left arrow with circled plus', google translation)
+ - "⬳": [T: "pitkä vasen kiemuranuoli"] # 0x2b33 (en: 'long leftwards squiggle arrow', google translation)
+ - "⬴": [T: "vasen kaksipäinen nuoli pystysuoralla viivalla"] # 0x2b34 (en: 'leftwards two headed arrow with vertical stroke', google translation)
+ - "⬵": [T: "vasen kaksipäinen nuoli kaksinkertaisella pystysuoralla viivalla"] # 0x2b35 (en: 'leftwards two headed arrow with double vertical stroke', google translation)
+ - "⬶": [T: "vasen kaksipäinen nuoli pystyviivasta"] # 0x2b36 (en: 'leftwards two headed arrow from bar', google translation)
+ - "⬷": [T: "vasen kaksipäinen kolmoiskatkoviivanuoli"] # 0x2b37 (en: 'leftwards two headed triple dash arrow', google translation)
+ - "⬸": [T: "vasen nuoli katkoviivalla"] # 0x2b38 (en: 'leftwards arrow with dotted stem', google translation)
+ - "⬹": [T: "vasen nuoli hännällä ja pystyviivalla"] # 0x2b39 (en: 'leftwards arrow with tail with vertical stroke', google translation)
+ - "⬺": [T: "vasen nuoli hännällä ja kaksinkertaisella pystyviivalla"] # 0x2b3a (en: 'leftwards arrow with tail with double vertical stroke', google translation)
+ - "⬻": [T: "vasen kaksipäinen nuoli hännällä"] # 0x2b3b (en: 'leftwards two headed arrow with tail', google translation)
+ - "⬼": [T: "vasen kaksipäinen nuoli hännällä ja pystysuoralla viivalla"] # 0x2b3c (en: 'leftwards two headed arrow with tail with vertical stroke', google translation)
+ - "⬽": [T: "vasen kaksipäinen nuoli hännällä ja kaksinkertaisella pystysuoralla viivalla"] # 0x2b3d (en: 'leftwards two headed arrow with tail with double vertical stroke', google translation)
+ - "⬾": [T: "vasen nuoli x:n läpi"] # 0x2b3e (en: 'leftwards arrow through x', google translation)
+ - "⬿": [T: "suoraan vasemmalle osoittava aaltonuoli"] # 0x2b3f (en: 'wave arrow pointing directly left', google translation)
+ - "⭀": [T: "on yhtä suuri kuin vasemman nuolen yläpuolella"] # 0x2b40 (en: 'equals sign above leftwards arrow', google translation)
+ - "⭁": [T: "käännetty tilde vasemman nuolen yläpuolella"] # 0x2b41 (en: 'reverse tilde operator above leftwards arrow', google translation)
+ - "⭂": [T: "likimäärin yhtä suuri kuin vasemman nuolen alapuolella"] # 0x2b42 (en: 'leftwards arrow above reverse almost equal to', google translation)
+ - "⭃": [T: "oikea nuoli suurempi kuin läpi"] # 0x2b43 (en: 'rightwards arrow through greater than', google translation)
+ - "⭄": [T: "oikea nuoli ylijoukon läpi"] # 0x2b44 (en: 'rightwards arrow through superset', google translation)
+ - "⭅": [T: "vasen nelinkertainen nuoli"] # 0x2b45 (en: 'leftwards quadruple arrow', google translation)
+ - "⭆": [T: "oikea nelinkertainen nuoli"] # 0x2b46 (en: 'rightwards quadruple arrow', google translation)
+ - "⭇": [T: "käännetty tilde oikean nuolen yläpuolella"] # 0x2b47 (en: 'reverse tilde operator above rightwards arrow', google translation)
+ - "⭈": [T: "käännetty likimäärin yhtä suuri kuin oikean nuolen alapuolella"] # 0x2b48 (en: 'rightwards arrow above reverse almost equal to', google translation)
+ - "⭉": [T: "tilde vasemman nuolen yläpuolella"] # 0x2b49 (en: 'tilde operator above leftwards arrow', google translation)
+ - "⭊": [T: "likimäärin yhtä suuri kuin vasemman nuolen alapuolella"] # 0x2b4a (en: 'leftwards arrow above almost equal to', google translation)
+ - "⭋": [T: "vasen nuoli käännetyn tilden yläpuolella"] # 0x2b4b (en: 'leftwards arrow above reverse tilde operator', google translation)
+ - "⭌": [T: "oikea nuoli käännetyn tilden yläpuolella"] # 0x2b4c (en: 'rightwards arrow above reverse tilde operator', google translation)
+ - "⭐": [T: "tähti"] # 0x2b50 (google: 'valkoinen keskisuuri tähti')
+ - "⭑": [T: "musta pieni tähti"] # 0x2b51 (google: 'musta pieni tähti')
+ - "⭒": [T: "valkoinen pieni tähti"] # 0x2b52 (google: 'valkoinen pieni tähti')
+ - "⭓": [T: "musta oikealle osoittava viisikulmio"] # 0x2b53 (en: 'black right pointing pentagon', google translation)
+ - "⭔": [T: "valkoinen oikealle osoittava viisikulmio"] # 0x2b54 (en: 'white right pointing pentagon', google translation)
+ - "⭕": [T: "raskas iso ympyrä"] # 0x2b55 (en: 'heavy large circle', google translation)
+ - "⭖": [T: "raskas ovaali jonka sisällä ovaali"] # 0x2b56 (en: 'heavy oval with oval inside', google translation)
+ - "⭗": [T: "raskas ympyrä jonka sisällä ympyrä"] # 0x2b57 (en: 'heavy circle with circle inside', google translation)
+ - "⭘": [T: "raskas ympyrä"] # 0x2b58 (en: 'heavy circle', google translation)
+ - "⭙": [T: "raskas ympyröity saltire"] # 0x2b59 (en: 'heavy circled saltire', google translation)
+ - "⸀": [T: "suoran kulman korvaamismerkki"] # 0x2e00 (en: 'right angle substitution marker', google translation)
+ - "⸁": [T: "suoran kulman korvaamismerkki pisteellä"] # 0x2e01 (en: 'right angle dotted substitution marker', google translation)
+ - "⸂": [T: "vasen korvaus hakasulku"] # 0x2e02 (en: 'left substitution bracket', google translation)
+ - "⸃": [T: "oikea korvaus hakasulku"] # 0x2e03 (en: 'right substitution bracket', google translation)
+ - "⸄": [T: "vasen korvaus hakasulku pisteellä"] # 0x2e04 (en: 'left dotted substitution bracket', google translation)
+ - "⸅": [T: "oikea korvaus hakasulku pisteellä"] # 0x2e05 (en: 'right dotted substitution bracket', google translation)
+ - "⸆": [T: "korotettu interpolointimerkki"] # 0x2e06 (en: 'raised interpolation marker', google translation)
+ - "⸇": [T: "korotettu interpolointimerkki pisteellä"] # 0x2e07 (en: 'raised dotted interpolation marker', google translation)
+ - "⸈": [T: "transposointimerkki pisteellä"] # 0x2e08 (en: 'dotted transposition marker marker', google translation)
+ - "⸉": [T: "vasen transponointi hakasulku"] # 0x2e09 (en: 'left transposition bracket', google translation)
+ - "⸊": [T: "oikea transponointi hakasulku"] # 0x2e0a (en: 'right transposition bracket', google translation)
+ - "⸋": [T: "korotettu neliö"] # 0x2e0b (en: 'raised square', google translation)
+ - "⸌": [T: "vasen korotettu poistosulku"] # 0x2e0c (en: 'left raised omission bracket', google translation)
+ - "⸍": [T: "oikea korotettu poistosulku"] # 0x2e0d (en: 'right raised omission bracket', google translation)
+ - "⸎": [T: "toimituskoronis"] # 0x2e0e (en: 'editorial coronis', google translation)
+ - "⸏": [T: "kappale"] # 0x2e0f (en: 'paragraphos', google translation)
+ - "⸐": [T: "haarukkakappale"] # 0x2e10 (en: 'forked paragraphos', google translation)
+ - "⸑": [T: "käännetty haarukkakappale"] # 0x2e11 (en: 'reversed forked paragraphos', google translation)
+ - "⸒": [T: "hypodiastoli"] # 0x2e12 (en: 'hypodiastole', google translation)
+ - "⸓": [T: "obelos pisteellä"] # 0x2e13 (en: 'dotted obelos', google translation)
+ - "⸔": [T: "ankkuri alaspäin"] # 0x2e14 (en: 'downwards ancora', google translation)
+ - "⸕": [T: "ankkuri ylöspäin"] # 0x2e15 (en: 'upwards ancora', google translation)
+ - "⸖": [T: "oikealle osoittava kulma pisteillä"] # 0x2e16 (en: 'dotted right pointing angle', google translation)
+ - "⸗": [T: "kaksinkertainen vino tavuviiva"] # 0x2e17 (en: 'double oblique hyphen', google translation)
+ - "⸘": [T: "käänteinen huutokysymys"] # 0x2e18 (en: 'inverted interrobang', google translation)
+ - "⸙": [T: "palmun oksa"] # 0x2e19 (en: 'palm branch', google translation)
+ - "⸚": [T: "tavuviiva treemalla"] # 0x2e1a (en: 'hyphen with diaeresis', google translation)
+ - "⸛": [T: "tilde ja rengas yläpuolella"] # 0x2e1b (en: 'tilde with ring above', google translation)
+ - "⸜": [T: "vasen matala parafraasi hakasulku"] # 0x2e1c (en: 'left low paraphrase bracket', google translation)
+ - "⸝": [T: "oikea matala parafraasi hakasulku"] # 0x2e1d (en: 'right low paraphrase bracket', google translation)
+ - "⸞": [T: "tilde ja piste yläpuolella"] # 0x2e1e (en: 'tilde with dot above', google translation)
+ - "⸟": [T: "tilde ja piste alapuolella"] # 0x2e1f (en: 'tilde with dot below', google translation)
+ - "⸠": [T: "vasen pystysuora palkki piikillä"] # 0x2e20 (en: 'left vertical bar with quill', google translation)
+ - "⸡": [T: "oikea pystysuora palkki piikillä"] # 0x2e21 (en: 'right vertical bar with quill', google translation)
+ - "⸢": [T: "ylävasen puolihakasulku"] # 0x2e22 (en: 'top left half bracket', google translation)
+ - "⸣": [T: "yläoikea puolihakasulku"] # 0x2e23 (en: 'top right half bracket', google translation)
+ - "⸤": [T: "alavasen puolihakasulku"] # 0x2e24 (en: 'bottom left half bracket', google translation)
+ - "⸥": [T: "alaoikea puolihakasulku"] # 0x2e25 (en: 'bottom right half bracket', google translation)
+ - "⸦": [T: "vasen sivusuuntainen u-hakasulku"] # 0x2e26 (en: 'left sideways u bracket', google translation)
+ - "⸧": [T: "oikea sivusuuntainen u-hakasulku"] # 0x2e27 (en: 'right sideways u bracket', google translation)
+ - "⸨": [T: "vasen kaksinkertainen sulku"] # 0x2e28 (en: 'left double parentheses', google translation)
+ - "⸩": [T: "oikea kaksinkertainen sulku"] # 0x2e29 (en: 'right double parentheses', google translation)
+ - "⸪": [T: "kaksi pistettä yhden pisteen päällä"] # 0x2e2a (en: 'two dots over one dot punctuation', google translation)
+ - "⸫": [T: "yksi piste kahden pisteen päällä"] # 0x2e2b (en: 'one dot over two dots punctuation', google translation)
+ - "⸬": [T: "neljä pistettä neliön muodossa"] # 0x2e2c (en: 'squared four dot punctuation', google translation)
+ - "⸭": [T: "viisi pistettä"] # 0x2e2d (en: 'five dot mark', google translation)
+ - "⸮": [T: "käännetty kysymysmerkki"] # 0x2e2e (en: 'reversed question mark', google translation)
+ - "ⸯ": [T: "pystysuora tilde"] # 0x2e2f (en: 'vertical tilde', google translation)
+ - "⸰": [T: "rengaspiste"] # 0x2e30 (en: 'ring point', google translation)
+ - "⸱": [T: "sanaerotinpiste"] # 0x2e31 (en: 'word separator middle dot', google translation)
+ - "⸲": [T: "käännetty pilkku"] # 0x2e32 (en: 'turned comma', google translation)
+ - "⸳": [T: "nostettu piste"] # 0x2e33 (en: 'raised dot', google translation)
+ - "⸴": [T: "nostettu pilkku"] # 0x2e34 (en: 'raised comma', google translation)
+ - "⸵": [T: "käännetty puolipiste"] # 0x2e35 (en: 'turned semicolon', google translation)
+ - "⸶": [T: "tikari vasemmalla suojalla"] # 0x2e36 (en: 'dagger with left guard', google translation)
+ - "⸷": [T: "tikari oikealla suojalla"] # 0x2e37 (en: 'dagger with right guard', google translation)
+ - "⸸": [T: "käännetty tikari"] # 0x2e38 (en: 'turned dagger', google translation)
+ - "⸹": [T: "yläpuolimerkki"] # 0x2e39 (en: 'top half section sign', google translation) # FI: translation unclear
+ - "⸺": [T: "kaksoisajatusviiva"] # 0x2e3a (en: 'two em dash', google translation)
+ - "⸻": [T: "kolmoisajatusviiva"] # 0x2e3b (en: 'three em dash', google translation)
+ - "〃": [T: "sama sisältö -merkki"] # 0x3003 (google translation)
+ - "〈": [T: "vasen kulmasulku"] # 0x3008 (en: 'left angle bracket', google translation)
+ - "〉": [T: "oikea kulmasulku"] # 0x3009 (en: 'right angle bracket', google translation)
+ - "《": [T: "vasen kaksoiskulmasulku"] # 0x300a (google: 'vasen kaksoiskulma kiinnike')
+ - "》": [T: "oikea kaksoiskulmasulku"] # 0x300b (google: 'oikea kaksoiskulma kiinnike')
+ - "「": [T: "vasen nurkka hakasulku"] # 0x300c (en: 'left corner bracket', google translation)
+ - "」": [T: "oikea nurkka hakasulku"] # 0x300d (en: 'right corner bracket', google translation)
+ - "『": [T: "vasen valkoinen nurkka hakasulku"] # 0x300e (en: 'left white corner bracket', google translation)
+ - "』": [T: "oikea valkoinen nurkkahakasulku"] # 0x300f (en: 'right white corner bracket', google translation)
+ - "【": [T: "vasen musta linssimäinen hakasulku"] # 0x3010 (en: 'left black lenticular bracket', google translation)
+ - "】": [T: "oikea musta linssimäinen hakasulku"] # 0x3011 (en: 'right black lenticular bracket', google translation)
+ - "〔": [T: "vasen kilpikonnankuori hakasulku"] # 0x3014 (google: 'vasen kilpikonnan kuoren kiinnike')
+ - "〕": [T: "oikea kilpikonnankuori hakasulku"] # 0x3015 (google: 'oikea kilpikonnakuoren kiinnike')
+ - "〖": [T: "vasen valkoinen linssimäinen hakasulku"] # 0x3016 (en: 'left white lenticular bracket', google translation)
+ - "〗": [T: "oikea valkoinen linssimäinen hakasulku"] # 0x3017 (en: 'right white lenticular bracket', google translation)
+ - "〘": [T: "vasen valkoinen kilpikonnakuori hakasulku"] # 0x3018 (en: 'left white tortoise shell bracket', google translation)
+ - "〙": [T: "oikea valkoinen kilpikonnakuori hakasulku"] # 0x3019 (en: 'right white tortoise shell bracket', google translation)
+ - "〚": [T: "vasen valkoinen neliö hakasulku"] # 0x301a (google: 'vasen valkoinen neliömäki')
+ - "〛": [T: "oikea valkoinen neliö hakasulku"] # 0x301b (google: 'oikea valkoinen neliömäki')
+ - "〜": [T: "aaltomainen viiva"] # 0x301c (en: 'wave dash', google translation)
+ - "〰": [T: "aaltoileva viiva"] # 0x3030 (en: 'wavy dash', google: 'aaltoileva viiva')
+ - "㉈": [T: "ympyröity numero kymmenen mustalla neliöllä"] # 0x3248 (en: 'circled number ten on black square', google translation)
+ - "㉉": [T: "ympyröity numero kaksikymmentä mustalla neliöllä"] # 0x3249 (en: 'circled number twenty on black square', google translation)
+ - "㉊": [T: "ympyröity numero kolmekymmentä mustalla neliöllä"] # 0x324a (en: 'circled number thirty on black square', google translation)
+ - "㉋": [T: "ympyröity numero neljäkymmentä mustalla neliöllä"] # 0x324b (en: 'circled number forty on blacks square', google translation)
+ - "㉌": [T: "ympyröity numero viisikymmentä mustalla neliöllä"] # 0x324c (en: 'circled number fifty on black square', google translation)
+ - "㉍": [T: "ympyröity numero kuusikymmentä mustalla neliöllä"] # 0x324d (en: 'circled number sixty on black square', google translation)
+ - "㉎": [T: "ympyröity numero seitsemänkymmentä mustalla neliöllä"] # 0x324e (en: 'circled number seventy on black square', google translation)
+ - "㉏": [T: "ympyröity numero kahdeksankymmentä mustalla neliöllä"] # 0x324f (en: 'circled number eighty on black square', google translation)
+ - "㉑": [T: "ympyröity numero kaksikymmentäyksi"] # 0x3251 (en: 'circled number twenty one', google translation)
+ - "㉒": [T: "ympyröity numero kaksikymmentäkaksi"] # 0x3252 (en: 'circled number twenty two', google translation)
+ - "㉓": [T: "ympyröity numero kaksikymmentäkolme"] # 0x3253 (en: 'circled number twenty three', google translation)
+ - "㉔": [T: "ympyröity numero kaksikymmentäneljä"] # 0x3254 (en: 'circled number twenty four', google translation)
+ - "㉕": [T: "ympyröity numero kaksikymmentäviisi"] # 0x3255 (en: 'circled number twenty five', google translation)
+ - "㉖": [T: "ympyröity numero kaksikymmentäkuusi"] # 0x3256 (en: 'circled number twenty six', google translation)
+ - "㉗": [T: "ympyröity numero kaksikymmentäseitsemän"] # 0x3257 (en: 'circled number twenty seven', google translation)
+ - "㉘": [T: "ympyröity numero kaksikymmentäkahdeksan"] # 0x3258 (en: 'circled number twenty eight', google translation)
+ - "㉙": [T: "ympyröity numero kaksikymmentäyhdeksän"] # 0x3259 (en: 'circled number twenty nine', google translation)
+ - "㉚": [T: "ympyröity numero kolmekymmentä"] # 0x325a (en: 'circled number thirty', google translation)
+ - "㉛": [T: "ympyröity numero kolmekymmentäyksi"] # 0x325b (en: 'circled number thirty one', google translation)
+ - "㉜": [T: "ympyröity numero kolmekymmentäkaksi"] # 0x325c (en: 'circled number thirty two', google translation)
+ - "㉝": [T: "ympyröity numero kolmekymmentäkolme"] # 0x325d (en: 'circled number thirty three', google translation)
+ - "㉞": [T: "ympyröity numero kolmekymmentäneljä"] # 0x325e (en: 'circled number thirty four', google translation)
+ - "㉟": [T: "ympyröity numero kolmekymmentäviisi"] # 0x325f (en: 'circled number thirty five', google translation)
+ - "㊱": [T: "ympyröity numero kolmekymmentäkuusi"] # 0x32b1 (en: 'circled number thirty six', google translation)
+ - "㊲": [T: "ympyröity numero kolmekymmentäseitsemän"] # 0x32b2 (en: 'circled number thirty seven', GPT-5.4 translation)
+ - "㊳": [T: "ympyröity numero kolmekymmentäkahdeksan"] # 0x32b3 (en: 'circled number thirty eight', GPT-5.4 translation)
+ - "㊴": [T: "ympyröity numero kolmekymmentäyhdeksän"] # 0x32b4 (en: 'circled number thirty nine', GPT-5.4 translation)
+ - "㊵": [T: "ympyröity numero neljäkymmentä"] # 0x32b5 (en: 'circled number forty', GPT-5.4 translation)
+ - "㊶": [T: "ympyröity numero neljäkymmentäyksi"] # 0x32b6 (en: 'circled number forty one', GPT-5.4 translation)
+ - "㊷": [T: "ympyröity numero neljäkymmentäkaksi"] # 0x32b7 (en: 'circled number forty two', GPT-5.4 translation)
+ - "㊸": [T: "ympyröity numero neljäkymmentäkolme"] # 0x32b8 (en: 'circled number forty three', GPT-5.4 translation)
+ - "㊹": [T: "ympyröity numero neljäkymmentäneljä"] # 0x32b9 (en: 'circled number forty four', GPT-5.4 translation)
+ - "㊺": [T: "ympyröity numero neljäkymmentäviisi"] # 0x32ba (en: 'circled number forty five', GPT-5.4 translation)
+ - "㊻": [T: "ympyröity numero neljäkymmentäkuusi"] # 0x32bb (en: 'circled number forty six', GPT-5.4 translation)
+ - "㊼": [T: "ympyröity numero neljäkymmentäseitsemän"] # 0x32bc (en: 'circled number forty seven', GPT-5.4 translation)
+ - "㊽": [T: "ympyröity numero neljäkymmentäkahdeksan"] # 0x32bd (en: 'circled number forty eight', GPT-5.4 translation)
+ - "㊾": [T: "ympyröity numero neljäkymmentäyhdeksän"] # 0x32be (en: 'circled number forty nine', GPT-5.4 translation)
+ - "㊿": [T: "ympyröity numero viisikymmentä"] # 0x32bf (en: 'circled number fifty', GPT-5.4 translation)
+ - "㋌": [T: "elohopea"] # 0x32cc (en: 'mercury', google translation)
+ - "㋍": [T: "ergiä"] # 0x32cd (google translation)
+ - "㋎": [T: "elektronivolttia"] # 0x32ce (en: 'electron volts', google translation)
+ - "㋏": [T: "L T D"] # 0x32cf (en: 'limited liability sign', google translation)
+ - "㍱": [T: "hehtopascalia"] # 0x3371 (en: 'hectopascals', google translation)
+ - "㍲": [T: "daltonia"] # 0x3372 (en: 'daltons', google translation)
+ - "㍳": [T: "tähtieteellistä yksikköä"] # 0x3373 (en: 'astronomical units', google translation)
+ - "㍴": [T: "baaria"] # 0x3374 (en: 'bars', google translation)
+ - "㍵": [T: "o V"] # 0x3375 (google translation)
+ - "㍶": [T: "parsekia"] # 0x3376 (google translation)
+ - "㍷": [T: "desimetriä"] # 0x3377 (en: 'decimeters', google translation)
+ - "㍸": [T: "neliödesimetriä"] # 0x3378 (en: 'decimeters squared', google translation)
+ - "㍹": [T: "kuutiodesimetriä"] # 0x3379 (en: 'decimeters cubed', google translation)
+ - "㍺": [T: "I U"] # 0x337a (en: 'instrumental units', google translation)
+ - "㎀": [T: "pikoampeeria"] # 0x3380 (google translation)
+ - "㎁": [T: "nanoampeeria"] # 0x3381 (google translation)
+ - "㎂": [T: "mikroampeeria"] # 0x3382 (en: 'microamps', google translation)
+ - "㎃": [T: "milliampeeria"] # 0x3383 (en: 'milliamps', google translation)
+ - "㎄": [T: "kiloampeeria"] # 0x3384 (google translation)
+ - "㎅": [T: "Kilobittiä"] # 0x3385 (en: 'kilobytes', google translation)
+ - "㎆": [T: "megatavua"] # 0x3386 (en: 'megabytes', google translation)
+ - "㎇": [T: "gigatavua"] # 0x3387 (en: 'gigabytes', google translation)
+ - "㎈": [T: "kaloria"] # 0x3388 (en: 'calories', google translation)
+ - "㎉": [T: "kilokaloria"] # 0x3389 (en: 'kilocalories', google translation)
+ - "㎊": [T: "pifaradayta"] # 0x338a (google translation)
+ - "㎋": [T: "nanofaradayta"] # 0x338b (en: 'nanofarads', google translation)
+ - "㎌": [T: "mikrofaradayta"] # 0x338c (en: 'microfarads', google translation)
+ - "㎍": [T: "mikrogrammaa"] # 0x338d (en: 'micrograms', google translation)
+ - "㎎": [T: "milligrammaa"] # 0x338e (en: 'milligrams', google translation)
+ - "㎏": [T: "kilogrammaa"] # 0x338f (en: 'kilograms', google translation)
+ - "㎐": [T: "hertsiä"] # 0x3390 (google translation)
+ - "㎑": [T: "kilohertsiä"] # 0x3391 (en: 'kilohertz', google translation)
+ - "㎒": [T: "megahertsiä"] # 0x3392 (en: 'megahertz', google translation)
+ - "㎓": [T: "gigahertsiä"] # 0x3393 (en: 'gigahertz', google translation)
+ - "㎔": [T: "terahertsiä"] # 0x3394 (en: 'terahertz', google translation)
+ - "㎕": [T: "mikrolitraa"] # 0x3395 (en: 'microliters', google translation)
+ - "㎖": [T: "millilitraa"] # 0x3396 (en: 'milliliters', google translation)
+ - "㎗": [T: "desilitraa"] # 0x3397 (google translation)
+ - "㎘": [T: "kilolitraa"] # 0x3398 (en: 'kiloliters', google translation)
+ - "㎙": [T: "femtometriä"] # 0x3399 (en: 'femtometers', google translation)
+ - "㎚": [T: "nanometriä"] # 0x339a (en: 'nanometers', google translation)
+ - "㎛": [T: "mikrometriä"] # 0x339b (en: 'micrometers', google translation)
+ - "㎜": [T: "millimetriä"] # 0x339c (en: 'millimeters', google translation)
+ - "㎝": [T: "senttimetriä"] # 0x339d (en: 'centimeters', google translation)
+ - "㎞": [T: "kilometriä"] # 0x339e (en: 'kilometers', google translation)
+ - "㎟": [T: "neliömillimetriä"] # 0x339f (en: 'millimeters squared', google translation)
+ - "㎠": [T: "neliösenttimetriä"] # 0x33a0 (en: 'centimeters squared', google translation)
+ - "㎡": [T: "neliömetriä"] # 0x33a1 (en: 'meters squared', google translation)
+ - "㎢": [T: "neliökilometriä"] # 0x33a2 (en: 'kilometers squared', google translation)
+ - "㎣": [T: "kuutiomillimetriä"] # 0x33a3 (en: 'millimeters cubed', google translation)
+ - "㎤": [T: "kuutiosenttimetriä"] # 0x33a4 (en: 'centimeters cubed', google translation)
+ - "㎥": [T: "kuutiometriä"] # 0x33a5 (en: 'meters cubed', google translation)
+ - "㎦": [T: "kuutiokilometriä"] # 0x33a6 (en: 'kilometers cubed', google translation)
+ - "㎧": [T: "metriä sekunnissa"] # 0x33a7 (en: 'meters per second', google translation)
+ - "㎨": [T: "metriä per neliösekunti"] # 0x33a8 (en: 'meters per second squared', google translation)
+ - "㎩": [T: "pascalia"] # 0x33a9 (google translation)
+ - "㎪": [T: "kilopascalia"] # 0x33aa (google translation)
+ - "㎫": [T: "megapascalia"] # 0x33ab (google translation)
+ - "㎬": [T: "gigapascalia"] # 0x33ac (google translation)
+ - "㎭": [T: "radiaania"] # 0x33ad (en: 'rads', google translation)
+ - "㎮": [T: "radiaania sekunnissa"] # 0x33ae (en: 'rads per second', google translation)
+ - "㎯": [T: "radiaania neliösekunnissa"] # 0x33af (en: 'rads per second squared', google translation)
+ - "㎰": [T: "pikosekuntia"] # 0x33b0 (en: 'picoseconds', google translation)
+ - "㎱": [T: "nanosekuntia"] # 0x33b1 (en: 'nanoseconds', google translation)
+ - "㎲": [T: "mikrosekuntia"] # 0x33b2 (en: 'microseconds', google translation)
+ - "㎳": [T: "millisekuntia"] # 0x33b3 (en: 'milliseconds', google translation)
+ - "㎴": [T: "pikovolttia"] # 0x33b4 (google translation)
+ - "㎵": [T: "nanovolttia"] # 0x33b5 (en: 'nanovolts', google translation)
+ - "㎶": [T: "mikrovolttia"] # 0x33b6 (en: 'microvolts', google translation)
+ - "㎷": [T: "millivolttia"] # 0x33b7 (google translation)
+ - "㎸": [T: "kilovolttia"] # 0x33b8 (en: 'kilovolts', google translation)
+ - "㎹": [T: "megavolttia"] # 0x33b9 (google translation)
+ - "㎺": [T: "pikowattia"] # 0x33ba (google translation)
+ - "㎻": [T: "nanowattia"] # 0x33bb (en: 'nanowatts', google translation)
+ - "㎼": [T: "mikrowattia"] # 0x33bc (en: 'microwatts', google translation)
+ - "㎽": [T: "milliwattia"] # 0x33bd (google translation)
+ - "㎾": [T: "kilowattia"] # 0x33be (en: 'kilowatts', google translation)
+ - "㎿": [T: "megawattia"] # 0x33bf (google translation)
+ - "㏀": [T: "kilo-ohmia"] # 0x33c0 (google translation)
+ - "㏁": [T: "megaohmia"] # 0x33c1 (google translation)
+ - "㏂": [T: "a m"] # 0x33c2 (en: 'attometers', google translation)
+ - "㏃": [T: "becquerelia"] # 0x33c3 (google translation)
+ - "㏄": [T: "kuutiosenttimetriä"] # 0x33c4 (en: 'cubic centimeters', google translation)
+ - "㏅": [T: "candelaa"] # 0x33c5 (google translation)
+ - "㏆": [T: "coulombia kilogrammassa"] # 0x33c6 (en: 'coulombs per kilogram', google translation)
+ - "㏇": [T: "C o piste"] # 0x33c7 (en: 'cardiac output', google translation)
+ - "㏈": [T: "desibeliä"] # 0x33c8 (en: 'decibels', google translation)
+ - "㏉": [T: "grayta"] # 0x33c9 (en: 'grays', google translation)
+ - "㏊": [T: "hehtaaria"] # 0x33ca (en: 'hectares', google translation)
+ - "㏋": [T: "hevosvoimaa"] # 0x33cb (en: 'horsepower', google translation)
+ - "㏌": [T: "tuumaa"] # 0x33cc (en: 'inches', google translation)
+ - "㏍": [T: "kilokelviniä"] # 0x33cd (google translation)
+ - "㏎": [T: "kilometriä"] # 0x33ce (en: 'kilometers', google translation)
+ - "㏏": [T: "solmua"] # 0x33cf (en: 'knots', google translation)
+ - "㏐": [T: "lumenia"] # 0x33d0 (google translation)
+ - "㏑": [T: "luonnollinen logaritmi"] # 0x33d1 (en: 'natural log', google translation)
+ - "㏒": [T: "logaritmi"] # 0x33d2 (en: 'logarithm', google translation)
+ - "㏓": [T: "luxia"] # 0x33d3 (google translation)
+ - "㏔": [T: "millibarnia"] # 0x33d4 (google translation)
+ - "㏕": [T: "milliä"] # 0x33d5 (en: 'mills', google translation)
+ - "㏖": [T: "moolia"] # 0x33d6 (en: 'moles', google translation)
+ - "㏗": [T: "p H"] # 0x33d7 (google translation)
+ - "㏘": [T: "pikometriä"] # 0x33d8 (en: 'picometers', google translation)
+ - "㏙": [T: "miljoonasosaa"] # 0x33d9 (en: 'parts per million', google translation)
+ - "㏚": [T: "petaröntgeniä"] # 0x33da (google translation)
+ - "㏛": [T: "steradiaania"] # 0x33db (en: 'steradians', google translation)
+ - "㏜": [T: "sievertiä"] # 0x33dc (en: 'sieverts', google translation)
+ - "㏝": [T: "weberiä"] # 0x33dd (google translation)
+ - "㏞": [T: "volttia per metri"] # 0x33de (en: 'volts per meter', google translation)
+ - "㏟": [T: "ampeeria per metri"] # 0x33df (en: 'amps per meter', google translation)
+ - "㏿": [T: "gallonaa"] # 0x33ff (en: 'gallons', google translation)
+ - "": [T: "on yhtä suuri kuin ja hattu alapuolella"] # 0xe900 (en: 'equals with hat below', google translation)
+ - "": [T: "on yhtä suuri kuin ja plus yläpuolella"] # 0xe901 (en: 'equals with plus above', google translation)
+ - "": [T: "on yhtä suuri kuin ja plus alapuolella"] # 0xe902 (en: 'equals with plus below', google translation)
+ - "": [T: "tilde ja plus yläpuolella"] # 0xe903 (en: 'tilde with plus above', google translation)
+ - "": [T: "tilde ja plus alapuolella"] # 0xe904 (en: 'tilde with plus below', google translation)
+ - "": [T: "kaksinkertainen on yhtä suuri kuin ja alapuolella suurempi kuin"] # 0xe908 (en: 'equal double over greater than', google translation)
+ - "": [T: "kaksinkertainen on yhtä suuri kuin ja alapuolella pienempi kuin"] # 0xe909 (en: 'equal double over less than', google translation)
+ - "": [T: "sisältää tai on yhtä suuri kuin"] # 0xe90a (en: 'contains or equal to', google translation)
+ - "": [T: "ylijoukko tai yhtä suuri kuin"] # 0xe90b (en: 'superset of or equal to', google translation)
+ - "": [T: "osajoukko tai yhtä suuri kuin"] # 0xe90c (en: 'subset of or equal to', google translation)
+ - "": [T: "on yhtä suuri kuin ja alapuolella pienempi kuin"] # 0xe90d (en: 'equal over less than', google translation)
+ - "": [T: "kuuluu joukkoon tai on yhtä kuin"] # 0xe912 (en: 'element of or equal to', google translation)
+ - "": [T: "yhtä suuri tai suurempi kuin"] # 0xe913 (en: 'equal to or greater than', google translation)
+ - "": [T: "likimäärin ylijoukko"] # 0xe914 (en: 'approximate superset of', google translation)
+ - "": [T: "likimäärin osajoukko"] # 0xe915 (en: 'approximate subset of', google translation)
+ - "": [T: "ylijoukko pisteellä sisältää alirelaationa"] # 0xe916 (en: 'superset of with dot includes as sub relation', google translation) # FI: translation unclear
+ - "": [T: "osajoukko pisteellä sisältyy alirelaationa"] # 0xe917 (en: 'subset of with dot is included in as sub relation', google translation) # FI: translation unclear
+ - "": [T: "on yhtä suuri kuin ja piste alapuolella"] # 0xe918 (en: 'equal with dot below', google translation)
+ - "": [T: "vasen piste jonka alapuolella miinus jonka alapuolella oikea piste"] # 0xe919 (en: 'left dot over minus over right dot', google translation)
+ - "": [T: "oikea piste jonka alapuolella miinus jonka alapuolella vasen piste"] # 0xe91a (en: 'right dot over minus over left dot', google translation)
+ - "": [T: "melkein yhtä suuri kuin miinus"] # 0xe91f (en: 'almost equal to minus', google translation)
+ - "": [T: "kaksinkertainen kulmikas malja"] # 0xe920 (en: 'double square cup', google translation)
+ - "": [T: "kaksinkertainen kulmikas kupu"] # 0xe921 (en: 'double square cap', google translation)
+ - "": [T: "pienempi kuin, yhtä suuri kuin tai suurempi kuin"] # 0xe922 (en: 'less than equal to or greater than', google translation)
+ - "": [T: "tilde pisteellä"] # 0xe924 (en: 'tilde with dot', google translation)
+ - "": [T: "tilde kahdella pisteellä"] # 0xe925 (en: 'tilde with two dots', google translation)
+ - "": [T: "pienempi kuin, suurempi kuin tai yhtä suuri kuin"] # 0xe926 (en: 'less than greater than or equal to', google translation)
+ - "": [T: "suurempi kuin, pienempi kuin tai yhtä suuri kuin"] # 0xe927 (en: 'greater than less than or equal to', google translation)
+ - "": [T: "vastaa tai on pienempi kuin"] # 0xe928 (en: 'equivalent to or less than', google translation)
+ - "": [T: "vastaa tai on suurempi kuin"] # 0xe929 (en: 'equivalent to or greater than', google translation)
+ - "": [T: "vasen avoin laatikkooperaattori"] # 0xe92a (en: 'left open box operator', google translation)
+ - "": [T: "oikea avoin laatikkooperaattori"] # 0xe92b (en: 'right open box operator', google translation)
+ - "": [T: "identtinen pisteellä"] # 0xe92c (en: 'identical to with dot', google translation)
+ - "": [T: "suurempi kuin, yhtä suuri kuin tai pienempi kuin"] # 0xe92d (en: 'greater than equal to or less than', google translation)
+ - "": [T: "palkkioperaattori"] # 0xe92e (en: 'bar operator', google translation)
+ - "": [T: "kaksinkertainen palkkioperaattori"] # 0xe92f (en: 'double bar operator', google translation)
+ - "": [T: "kolminkertainen palkkioperaattori"] # 0xe930 (en: 'triple bar operator', google translation)
+ - "": [T: "pienempi kuin tai likimäärin yhtä suuri kuin"] # 0xe932 (en: 'less than or approximately equal to', google translation)
+ - "": [T: "suuremmpi kuin tai likimäärin yhtä suuri kuin"] # 0xe933 (en: 'greater than or approximately equal to', google translation)
+ - "": [T: "sisäkkäinen vähemmän kuin"] # 0xe936 (en: 'nested less than', google translation)
+ - "": [T: "sisäkkäinen suurempi kuin"] # 0xe937 (en: 'nested greater than', google translation)
+ - "": [T: "edeltää tai vastaa"] # 0xe93a (en: 'precedes or equivalent to', google translation)
+ - "": [T: "seuraa tai vastaa"] # 0xe93b (en: 'succeeds or equivalent to', google translation)
+ - "": [T: "edeltää ja alapuolella on yhtä suuri kuin"] # 0xe940 (en: 'precedes over equal', google translation)
+ - "": [T: "seuraa ja alapuolella on yhtä suuri kuin"] # 0xe941 (en: 'succeeds over equal', google translation)
+ - "": [T: "vähemmän kuin, on yhtä suuri kuin, vino suurempi kuin"] # 0xe942 (en: 'less equal slanted greater', google translation) # FI: translation unclear
+ - "": [T: "suurempi kuin, on yhtä suuri kuin, vino pienempi kuin"] # 0xe943 (en: 'greater equal slanted less', google translation)
+ - "": [T: "täyttää ehdon"] # 0xe948 (en: 'satisfied by', google translation) # FI: translation unclear
+ - "": [T: "laiska s"] # 0xe949 (en: 'lazy s', google translation)
+ - "": [T: "ei väite"] # 0xe94a (en: 'not assertion', google translation) # FI: translation unclear
+ - "": [T: "kaksinkertainen on yhtä suuri kuin"] # 0xe94b (en: 'double equal', google translation)
+ - "": [T: "kolminkertainen on yhtä suuri kuin"] # 0xe94c (en: 'triple equal', google translation)
+ - "": [T: "sääntö viivästynyt"] # 0xe94d (en: 'rule delayed', google translation) # FI: translation unclear
+ - "": [T: "alias delimiter"] # 0xe94e (google translation) # FI: translation unclear
+ - "": [T: "normaali alaryhmä palkilla"] # 0xe950 (en: 'normal subgroup of with bar', google translation)
+ - "": [T: "sisältää normaalina alaryhmänä palkilla"] # 0xe951 (en: 'contains as normal subgroup with bar', google translation)
+ - "": [T: "pyöreä seuraa"] # 0xe954 (en: 'round implies', google translation) # FI: translation unclear
+ - "": [T: "hymy palkin alla"] # 0xe955 (en: 'smile under bar', google translation) # FI: translation unclear
+ - "": [T: "murjotus palkin alla"] # 0xe956 (en: 'frown over bar', google translation) # FI: translation unclear
+ - "": [T: "ylijoukko tai lähes yhtä kuin"] # 0xe957 (en: 'superset of or almost equal to', google translation)
+ - "": [T: "osajoukko tai lähes yhtä kuin"] # 0xe958 (en: 'subset of or almost equal to', google translation)
+ - "": [T: "suurempi kuin melkein yhtä suuri kuin tai pienempi kuin"] # 0xe959 (en: 'greater than almost equal to or less than', google translation)
+ - "": [T: "pienempi kuin melkein yhtä suuri kuin tai suurempi kuin"] # 0xe95a (en: 'less than almost equal or greater than', google translation)
+ - "": [T: "kaksinkertainen looginen tai"] # 0xe95c (en: 'double logical or', google translation)
+ - "": [T: "kaksinkertainen looginen ja"] # 0xe95d (en: 'double logical and', google translation)
+ - "": [T: "looginen tai ja kaksinkertainen palkki alapuolella"] # 0xe95e (en: 'logical or with double bar below', google translation)
+ - "": [T: "looginen tai ja palkki alapuolella"] # 0xe95f (en: 'logical or with bar below', google translation)
+ - "": [T: "melkein yhtä suuri kuin ja alapuolella yhtä suuri kuin"] # 0xe962 (en: 'almost equal over equal', google translation)
+ - "": [T: "vasemmalle osoittava kolmio kahtiajakavalla palkilla"] # 0xe964 (en: 'left pointing triangle with bisecting bar', google translation)
+ - "": [T: "oikealle osoittava kolmio kahtiajakavalla palkilla"] # 0xe965 (en: 'right pointing triangle with bisecting bar', google translation)
+ - "": [T: "on yhtä suuri kuin katkoviivoitetulla yläviivalla"] # 0xe966 (en: 'equals with dotted top line', google translation)
+ - "": [T: "edeltää kaksoispisteellä"] # 0xe967 (en: 'precedes with colon', google translation)
+ - "": [T: "seuraa kaksoispisteellä"] # 0xe968 (en: 'succeeds with colon', google translation)
+ - "": [T: "pienempi tai yhtä suuri kuin vino"] # 0xe969 (en: 'smaller than or equal slanted', google translation) # FI: : translation unclear
+ - "": [T: "suurempi kuin tai yhtä suuri kuin vino"] # 0xe96a (en: 'larger than or equal slanted', google translation) # FI: : translation unclear
+ - "": [T: "sisäkkäinen paljon pienempi kuin"] # 0xe96b (en: 'nested very much less than', google translation)
+ - "": [T: "sisäkkäinen paljon suurempi kuin"] # 0xe96c (en: 'nested very much greater than', google translation)
+ - "": [T: "ero variantin välillä"] # 0xe96d (en: 'difference between variant', google translation) # FI: unclear translation
+ - "": [T: "pienempi kuin jonka päällä suurempi kuin"] # 0xe96e (en: 'less than greater than overlay', google translation)
+ - "": [T: "looginen tai jonka päällä looginen tai"] # 0xe96f (en: 'logical or logical and overlay', google translation)
+ - "": [T: "ylijoukko ylijoukon yläpuolella"] # 0xe970 (en: 'superset over superset', google translation)
+ - "": [T: "osajoukko osajoukon yläpuolella"] # 0xe971 (en: 'subset over subset', google translation)
+ - "": [T: "ylijoukko osajoukon yläpuolella"] # 0xe972 (en: 'superset over subset', google translation)
+ - "": [T: "osajoukko ylijoukon yläpuolella"] # 0xe973 (en: 'subset over superset', google translation)
+ - "": [T: "kolminkertainen pystysuora palkki"] # 0xe979 (en: 'triple vertical bar', google translation)
+ - "": [T: "nelinkertainen pystysuora pistepari"] # 0xe97a (en: 'paired quadruple vertical dots', google translation) # FI: translation unclear
+ - "": [T: "kohtisuorassa ja alapuolella palkki"] # 0xe97b (en: 'perpendicular over bar', google translation)
+ - "": [T: "vasen kääntöportti kaksinkertainen pystysuora palkki"] # 0xe97c (en: 'left turnstile double vertical bar', google translation)
+ - "": [T: "kaksinkertainen vasen kääntöportti kaksinkertainen pystysuora palkki"] # 0xe97d (en: 'double left turnstile double vertical bar', google translation)
+ - "": [T: "kohtisuorassa jonka alapuolella käännetty kohtisuorassa"] # 0xe97e (en: 'perpendicular over inverted perpendicular', google translation)
+ - "": [T: "kaksinkertgainen vasen kääntöportti pystysuora palkki"] # 0xe97f (en: 'double left turnstile vertical bar', google translation)
+ - "": [T: "pallomainen kulma avautuu"] # 0xe980 (en: 'spherical angle opening up', google translation)
+ - "": [T: "kaksinkertainen vinoviiva"] # 0xe981 (en: 'double slash', google translation)
+ - "": [T: "suora kulma nurkalla"] # 0xe982 (en: 'right angle with corner', google translation)
+ - "": [T: "ympyröity pystysuora palkki"] # 0xe984 (en: 'circled vertical bar', google translation)
+ - "": [T: "ympyröity jakomerkki"] # 0xe985 (en: 'circled division sign', google translation)
+ - "": [T: "katkoviivoitettu vinoviiva"] # 0xe986 (en: 'dashed solidus', google translation)
+ - "": [T: "katkoviivoitettu kenoviiva"] # 0xe987 (en: 'dashed backslash', google translation)
+ - "": [T: "katkoviivoitettu puoliväliviiva"] # 0xe988 (en: 'dashed mid line', google translation) # FI: : translation unclear
+ - "": [T: "katkoviivoitettu pystysuora palkki"] # 0xe989 (en: 'dashed vertical bar', google translation)
+ - "": [T: "kohtisuorassa ja s"] # 0xe98a (en: 'perpendicular with s', google translation)
+ - "": [T: "kulma ja s"] # 0xe98b (en: 'angle with s', google translation)
+ - "": [T: "pallomainen kulma avautuu vasemmalle"] # 0xe98c (en: 'spherical angle opening left', google translation)
+ - "": [T: "vasemmalle avautuva kulma"] # 0xe98d (en: 'angle opening left', google translation)
+ - "": [T: "pystysuora palkki kaksoiskoukulla"] # 0xe98e (en: 'vertical bar with double hook', google translation)
+ - "": [T: "keskikokoinen pisteoperaattori vapaa radikaali"] # 0xe98f (en: 'medium dot operator free radical', google translation)
+ - "": [T: "valkoinen ylöspäin osoittava kolmio palkin yläpuolella"] # 0xe990 (en: 'white up pointing triangle above bar', google translation)
+ - "": [T: "identtinen ja yhdensuuntainen"] # 0xe991 (en: 'identical and parallel to', google translation)
+ - "": [T: "smash tulo"] # 0xe992 (en: 'smash product', google translation) # FI: meaning unclear
+ - "": [T: "kolminkertainen palkkioperaattori vaakasuoralla palkilla"] # 0xe993 (en: 'triple bar operator with horizontal bar', google translation)
+ - "": [T: "identtinen kaksoisvinoviivalla"] # 0xe994 (en: 'identical to with double slash', google translation)
+ - "": [T: "kolminkertaiset yliviivatut palkit"] # 0xe995 (en: 'triple crossed bars', google translation) # FI: : translation unclear
+ - "": [T: "pystysuora palkki ympyrän yläpuolella"] # 0xe996 (en: 'vertical bar over circle', google translation)
+ - "": [T: "pystysuora verrannollinen"] # 0xe997 (en: 'vertical proportional to', google translation)
+ - "": [T: "musta kuun viimeinen neljännes"] # 0xe998 (en: 'black last quarter moon', google translation)
+ - "": [T: "musta kuun ensimmäinen neljännes"] # 0xe999 (en: 'black first quarter moon', google translation)
+ - "": [T: "negatiivinen siniaalto"] # 0xe9a0 (en: 'negative sine wave', google translation)
+ - "": [T: "piste sulkujen sisällä"] # 0xe9a1 (en: 'parenthesized dot', google translation)
+ - "": [T: "sulku"] # 0xe9a2 (en: 'parens', google translation) # FI: translation unclear, "parenthesis"?
+ - "": [T: "valkoinen hymy"] # 0xe9a3 (en: 'white smile', google translation)
+ - "": [T: "valkoinen murjotus"] # 0xe9a4 (en: 'white frown', google translation)
+ - "": [T: "kuusikulmio"] # 0xe9a5 (en: 'hexagon', google translation)
+ - "": [T: "vastaa ja alapuolella plus"] # 0xe9a6 (en: 'equivalent to over plus', google translation)
+ - "": [T: "plus ja alapuolella vastaa"] # 0xe9a7 (en: 'plus over equivalent to', google translation)
+ - "": [T: "leikkaus serifillä"] # 0xe9b0 (en: 'intersection serifs', google translation)
+ - "": [T: "unioni serifillä"] # 0xe9b1 (google translation)
+ - "": [T: "neliömäinen leikkaus serifillä"] # 0xe9b2 (en: 'square intersection serifs', google translation)
+ - "": [T: "neliömäinen unioni serifillä"] # 0xe9b3 (google translation)
+ - "": [T: "edeltää, on yhtä kuin tai seuraa"] # 0xe9e0 (en: 'precedes equivalent to or succeeds', google translation)
+ - "": [T: "seuraa, on yhtä kuin tai edeltää"] # 0xe9e1 (en: 'succeeds equivalent to or precedes', google translation)
+ - "": [T: "edeltää, on lähes yhtä kuin tai seuraa"] # 0xe9e2 (en: 'precedes almost equal to or succeeds', google translation)
+ - "": [T: "seuraa, on lähes yhtä kuin tai edeltää"] # 0xe9e3 (en: 'succeeds almost equal to or precedes', google translation)
+ - "": [T: "vähemmän kuin, vastaa tai suurempi kuin"] # 0xe9f0 (en: 'less than equivalent to or greater than', google translation)
+ - "": [T: "suurempi kuin, vastaa tai vähemmän kuin"] # 0xe9f1 (en: 'greater than equivalent to or less than', google translation)
+ - "": [T: "ei hyvin paljon pienempi kuin"] # 0xea00 (en: 'not vert much less than', google translation) # FI: translation unclear, not sure if vert is very or vertical
+ - "": [T: "ei hyvin paljon suurempi kuin"] # 0xea01 (en: 'not vert much greater than', google translation) # FI: translation unclear, not sure if vert is very or vertical
+ - "": [T: "ei paljon pienempi kuin variantti"] # 0xea02 (en: 'not much less than variant', google translation) # FI: translation unclear
+ - "": [T: "ei paljon suurempi kuin variantti"] # 0xea03 (en: 'not much greater than variant', google translation) # FI: translation unclear
+ - "": [T: "pienempi kuin mutta ei yhtä suuri kuin"] # 0xea04 (en: 'less vert not double equals', google translation) # FI: translation unclear
+ - "": [T: "suurempi kuin mutta ei yhtä suuri kuin"] # 0xea05 (en: 'gt vert not double equals', google translation) # FI: translation unclear
+ - "": [T: "ei pienempi tai yhtä suuri kuin"] # 0xea06 (en: 'not less than or equal to', google translation)
+ - "": [T: "ei suurempi tai yhtä suuri kuin"] # 0xea07 (en: 'not greater than or equal to', google translation)
+ - "": [T: "ei yhtä suuri kuin eikä pienempi kuin"] # 0xea09 (en: 'neither equal to nor less than', google translation)
+ - "": [T: "ei sisällä tai ole yhtä suuri kuin"] # 0xea0a (en: 'does not contain or equal to', google translation)
+ - "": [T: "ei ylijoukko tai yhtä suuri kuin"] # 0xea0b (en: 'neither superset of nor equal to', google translation)
+ - "": [T: "ei osajoukko tai yhtä suuri kuin"] # 0xea0c (en: 'neither subset of nor equal to', google translation)
+ - "": [T: "kenoviiva osajoukko"] # 0xea0d (en: 'reverse solidus subset', google translation)
+ - "": [T: "ei yhtä suuri tai suurempi kuin"] # 0xea0e (en: 'neither equal to nor greater than', google translation)
+ - "": [T: "ei miinus tilde -operaattori"] # 0xea0f (en: 'not minus tilde operator', google translation)
+ - "": [T: "ei yhtä suuri kuin tai pienempi kuin"] # 0xea10 (en: 'neither equal to nor less than', google translation)
+ - "": [T: "ei tilde -operaattori"] # 0xea11 (en: 'not tilde operator', google translation)
+ - "": [T: "ei kuulu joukkoon tai ole yhtä suuri kuin"] # 0xea12 (en: 'not element of or equal to', google translation)
+ - "": [T: "ei yhtä suuri kuin tai suurempi kuin"] # 0xea13 (en: 'neither equal to nor greater than', google translation)
+ - "": [T: "ei melkein yhtä suuri"] # 0xea14 (en: 'not almost equal', google translation)
+ - "": [T: "ei seuraa vastaavaa"] # 0xea15 (en: 'not succeeds similar', google translation) # FI: translation unclear
+ - "": [T: "pienempi kuin tai vino yhtä suuri kuin vinoviivalla"] # 0xea16 (en: 'less than or slanted equal to with slash', google translation)
+ - "": [T: "suurempi kuin tai vino yhtä suuri kuin vinoviivalla"] # 0xea17 (en: 'greater than or slanted equal to with slash', google translation)
+ - "": [T: "ylijoukko vinoviiva"] # 0xea1a (google translation)
+ - "": [T: "ei sisällä"] # 0xea1b (en: 'does not contain', google translation)
+ - "": [T: "ei pienempi kuin tai yhtä suuri kuin"] # 0xea1d (en: 'not less than or equal to', google translation)
+ - "": [T: "ei suurempi kuin tai yhtä suuri kuin"] # 0xea1e (en: 'not greater than or equal to', google translation)
+ - "": [T: "ei melkein yhtä suuri kuin miinus"] # 0xea1f (en: 'not almost equal to minus', google translation)
+ - "": [T: "ei kuulu joukkoon yläpisteellä"] # 0xea22 (en: 'negated set membership dot above', google translation)
+ - "": [T: "ei vert kulma"] # 0xea2c (en: 'not vert angle', google translation) # FI: translation unclear
+ - "": [T: "ei yhdensuuntainen vino"] # 0xea2d (en: 'not parallel slanted', google translation)
+ - "": [T: "ei palkkioperaattori"] # 0xea2e (en: 'not bar operator', google translation)
+ - "": [T: "ei kaksoispalkkioperaattori"] # 0xea2f (en: 'not double bar operator', google translation)
+ - "": [T: "ei kolminkertainen palkkioperaattori"] # 0xea30 (en: 'not triple bar operator', google translation)
+ - "": [T: "vähemmän kuin, mutta ei suunnilleen yhtä suuri kuin"] # 0xea32 (en: 'less than but not approximately equal to', google translation)
+ - "": [T: "suurempi kuin, mutta ei suunnilleen yhtä suuri kuin"] # 0xea33 (en: 'greater than but not approximately equal to', google translation)
+ - "": [T: "vähemmän kuin tai ei yhtä suuri kuin"] # 0xea34 (en: 'less than or not equal to', google translation)
+ - "": [T: "suurempi kuin tai ei yhtä suuri kuin"] # 0xea35 (en: 'greater than or not equal to', google translation)
+ - "": [T: "ei sisäkkäinen vähemmän kuin"] # 0xea36 (en: 'not nested less than', google translation) # FI: translation unclear
+ - "": [T: "ei sisäkkäinen suurempi kuin"] # 0xea37 (en: 'not nested greater than', google translation) # FI: translation unclear
+ - "": [T: "ei paljon pienempi kuin"] # 0xea38 (en: 'not much less than', google translation)
+ - "": [T: "ei paljon suurempi kuin"] # 0xea39 (en: 'not much greater than', google translation)
+ - "": [T: "edeltää, mutta ei vastaa"] # 0xea3a (en: 'precedes but not equivalent to', google translation)
+ - "": [T: "onnistuu, mutta ei vastaa"] # 0xea3b (en: 'succeeds but not equivalent to', google translation)
+ - "": [T: "edeltää, mutta ei yhtä suuri kuin"] # 0xea3c (en: 'precedes but not equal to', google translation)
+ - "": [T: "seuraa, mutta ei yhtä suuri kuin"] # 0xea3d (en: 'succeeds but not equal to', google translation)
+ - "": [T: "ei ole yhtä suuri kuin tai edeltää"] # 0xea3e (en: 'does not equal or precede', google translation)
+ - "": [T: "ei ole yhtä suuri kuin tai seuraa"] # 0xea3f (en: 'does not equal or succeed', google translation)
+ - "": [T: "edeltää, mutta ei yhtä suuri kuin"] # 0xea40 (en: 'precedes but not equal to', google translation)
+ - "": [T: "seuraa, mutta ei yhtä suuri kuin"] # 0xea41 (en: 'succeeds but not equal to', google translation)
+ - "": [T: "ei osajoukko tai yhtä suuri kuin"] # 0xea42 (en: 'not subset of nor equal to', google translation)
+ - "": [T: "ei ylijoukko tai yhtä suuri kuin"] # 0xea43 (en: 'not superset of nor equal to', google translation)
+ - "": [T: "osajoukko tai ei yhtä suuri kuin"] # 0xea44 (en: 'subset of or not equal to', google translation)
+ - "": [T: "ylijoukko tai ei yhtä suuri kuin"] # 0xea45 (en: 'superset of or not equal to', google translation)
+ - "": [T: "ei osajoukko tai yhtä suuri kuin"] # 0xea46 (en: 'not subset of nor equal to', google translation)
+ - "": [T: "ei ylijoukko tai yhtä suuri kuin"] # 0xea47 (en: 'not superset of nor equal to', google translation)
+ - "": [T: "ei kolminkertainen pienempi kuin"] # 0xea48 (en: 'not triple less than', google translation)
+ - "": [T: "ei kolminkertainen suurempi kuin"] # 0xea49 (en: 'not triple greater than', google translation)
+ - "": [T: "ei edellä on yhtä suuri kuin"] # 0xea4c (en: 'not precedes equals', google translation)
+ - "": [T: "ei seuraa on yhtä suuri kuin"] # 0xea4d (en: 'not succeeds equals', google translation)
+ - "": [T: "ei normaali aliryhmä palkilla"] # 0xea50 (en: 'not normal subgroup of with bar', google translation)
+ - "": [T: "ei sisällä normaalina aliryhmänä palkilla"] # 0xea51 (en: 'does not contain as normal subgroup with bar', google translation)
+ - "": [T: "ei ero välillä"] # 0xea52 (en: 'not difference between', google translation)
+ - "": [T: "ei geometrisesti vastaa"] # 0xea53 (en: 'not geometrically equivalent to', google translation)
+ - "": [T: "ei vert samanlainen"] # 0xea54 (en: 'not vert similar', google translation) # FI: translation unclear
+ - "": [T: "ei yhtä suuri tai samanlainen"] # 0xea55 (en: 'not equal or similar', google translation)
+ - "": [T: "ei vert likimääräinen"] # 0xea56 (en: 'not vert approximate', google translation)
+ - "": [T: "ei likimääräisesti identtinen"] # 0xea57 (en: 'not approximately identical to', google translation)
+ - "": [T: "ei kumpu yhtä suuri kuin"] # 0xea58 (en: 'not bumpy equals', google translation) # FI: translation unclear
+ - "": [T: "ei kumpu yksiviivainen yhtä suuri kuin"] # 0xea59 (en: 'not bumpy single equals', google translation) # FI: translation unclear
+ - "": [T: "ei yhtä suuri kuin piste"] # 0xea5a (en: 'not equal dot', google translation)
+ - "": [T: "käännetty ei vastaa"] # 0xea5b (en: 'reverse not equivalent', google translation)
+ - "": [T: "ei neliömäinen osajoukko"] # 0xea60 (en: 'not square subset', google translation)
+ - "": [T: "ei nelimäinen ylijoukko"] # 0xea61 (en: 'not square superset', google translation)
+ - "": [T: "ei melkein yhtä suuri ja alapuolella yhtä suuri kuin"] # 0xea62 (en: 'not almost equal over equal', google translation)
+ - "": [T: "ei tiukasti vastaa"] # 0xea63 (en: 'not strictly equivalent to', google translation)
+ - "": [T: "ei kongruentti piste"] # 0xea64 (en: 'not congruent dot', google translation)
+ - "": [T: "käännetty ei ole yhtä suuri kuin"] # 0xea65 (en: 'reverse not equal', google translation)
+ - "": [T: "ei vasen kolmio on yhtä suuri kuin"] # 0xea70 (en: 'not vert left triangle equals', google translation) # FI: translation unclear
+ - "": [T: "ei oikea on yhtä suuri kuin"] # 0xea71 (en: 'not vert right triangle equals', google translation) # FI: translation unclear
+ - "": [T: "ei osittainen"] # 0xea80 (en: 'not partial', google translation)
+ - "": [T: "nuolen koristeiden pidennys"] # 0xeb00 (en: 'arrow embellishment extender', google translation) # FI: translation unclear
+ - "": [T: "oikea nuoli vasemman nuolen yläpuolella"] # 0xeb01 (en: 'arrow rightwards over arrow leftwards', google translation)
+ - "": [T: "oikea nuoli vasemman nuolen yläpuolella"] # 0xeb02 (en: 'arrow rightwards over arrow leftwards', google translation)
+ - "": [T: "oikea harppuuna vasemman harppuunan yläpuolella"] # 0xeb03 (en: 'harpoon right over harpoon left', google translation)
+ - "": [T: "oikea harppuuna vasemman harppuunan yläpuolella"] # 0xeb04 (en: 'harpoon right over harpoon left', google translation)
+ - "": [T: "koillis-lounaskaksoisnuoli"] # 0xeb05 (en: 'double arrow northeast southwest', google translation)
+ - "": [T: "luoteis-kaakkoiskaksoisnuoli"] # 0xeb06 (en: 'double arrow northwest southeast', google translation)
+ - "": [T: "vaakasuora harppuunapidennys"] # 0xeb07 (en: 'horizontal harpoon extender', google translation) # FI: translation unclear
+ - "": [T: "vasen kaarinuoli vastapäivään"] # 0xeb08 (en: 'anticlockwise arc leftwards arrow', google translation)
+ - "": [T: "oikea kaarinuoli vastapäivään"] # 0xeb09 (en: 'anticlockwise arc rightwards arrow', google translation)
+ - "": [T: "suuri oikean nuolen aksentti"] # 0xeb0b (en: 'large rightwards arrow accent', google translation) # FI: translation unclear
+ - "": [T: "suuri vasen nuolen aksentti"] # 0xeb0c (en: 'large leftwards arrow accent', google translation) # FI: translation unclear
+ - "": [T: "vasen nuolenpää"] # 0xeb0d (en: 'leftwards arrowhead', google translation)
+ - "": [T: "oikea nuolenpää"] # 0xeb0e (en: 'rightwards arrowhead', google translation)
+ - "": [T: "suuri vasen-oikea nuoli yliviivauksella"] # 0xeb0f (en: 'large left right arrow with stroke', google translation)
+ - "": [T: "vaakasuuntainen kaksoisnuolen pidennys"] # 0xeb10 (en: 'horizontal double arrow extender', google translation) # FI: translation unclear
+ - "": [T: "suuri vasen-oikea kaksinkertainen nuoli yliviivauksella"] # 0xeb11 (en: 'large left right double arrow with stroke', google translation)
+ - "": [T: "alaspäin osoittava nuoli ylöspäin osoittavan nuolen vasemmalla puolella"] # 0xeb12 (en: 'downwards arrow leftwards of upwards arrow', google translation)
+ - "": [T: "vasen nuoli kulmalla alaspäin"] # 0xeb13 (en: 'leftwards arrow with corner downwards', google translation)
+ - "": [T: "oikea nuoli kulmalla ylöspäin"] # 0xeb14 (en: 'rightwards arrow with corner upwards', google translation)
+ - "": [T: "vasen nuoli kuolmalla ylöspäin"] # 0xeb15 (en: 'leftwards arrow with corner upwards', google translation)
+ - "": [T: "ympyränuolen yläosa vastapäivään ja plus"] # 0xeb16 (en: 'anticlockwise top semicircle arrow with plus', google translation)
+ - "": [T: "ympyränuolen yläosa myötäpäivään ja miinus"] # 0xeb17 (en: 'clockwise top semicircle arrow with minus', google translation)
+ - "": [T: "oikea nuoli hännällä ja yliviivauksella"] # 0xeb18 (en: 'rightwards arrow with tail with stroke', google translation)
+ - "": [T: "oikea harppuuna alas"] # 0xeb19 (en: 'right harpoon down', google translation)
+ - "": [T: "vasen harppuon alas"] # 0xeb1a (en: 'left harpoon down', google translation)
+ - "": [T: "vasen-oikea harppuuna alas"] # 0xeb1b (en: 'left right harpoon down', google translation)
+ - "": [T: "vasen-oikea harppuuna ylös"] # 0xeb1c (en: 'left right harpoon up', google translation)
+ - "": [T: "ylös-alas harppuuna vasemmalle"] # 0xeb1d (en: 'up down harpoon left', google translation)
+ - "": [T: "ylös-alas harppuuna oikealle"] # 0xeb1e (en: 'up down harpoon right', google translation)
+ - "": [T: "ylänuoli alanuolen vasemmalla puolella"] # 0xeb1f (en: 'upwards arrow to the right of downwards arrow', google translation)
+ - "": [T: "vasen harppuuna palkkiin piikki ylöpäin"] # 0xeb20 (en: 'leftwards harpoon to bar with barb upwards', google translation)
+ - "": [T: "oikea harppuuna palkkiin piikki ylöspäin"] # 0xeb21 (en: 'rightwards harpoon to bar with barb upwards', google translation)
+ - "": [T: "vasen harppuuna palkkiin piikki alaspäin"] # 0xeb22 (en: 'leftwards harpoon to bar with barb downwards', google translation)
+ - "": [T: "oikea harppuuna palkkiin piikki alaspäin"] # 0xeb23 (en: 'rightwards harpoon to bar with barb downwards', google translation)
+ - "": [T: "vasen harppuuna palkista piikki ylöspäin"] # 0xeb24 (en: 'leftwards harpoon from bar with barb upwards', google translation)
+ - "": [T: "oikea harppuuna palkista piikki ylöspäin"] # 0xeb25 (en: 'rightwards harpoon from bar with barb upwards', google translation)
+ - "": [T: "vasen harppuuna palkista piikki alaspäin"] # 0xeb26 (en: 'leftwards harpoon from bar with barb downwards', google translation)
+ - "": [T: "oikea harppuuna palkista piikki alaspäin"] # 0xeb27 (en: 'rightwards harpoon from bar with barb downwards', google translation)
+ - "": [T: "harppuuna ylös palkkiin piikki vasemmalle"] # 0xeb28 (en: 'upwards harpoon to bar with barb leftwards', google translation)
+ - "": [T: "harppuuna alas palkkiin piikki vasemmalle"] # 0xeb29 (en: 'downwards harpoon to bar with barb leftwards', google translation)
+ - "": [T: "harppuuna ylös palkkiin piikki oikealle"] # 0xeb2a (en: 'upwards harpoon to bar with barb rightwards', google translation)
+ - "": [T: "harppuuna alas palkkiin piikki oikealle"] # 0xeb2b (en: 'downwards harpoon to bar with barb rightwards', google translation)
+ - "": [T: "harppuuna ylös palkista piikki vasemmalle"] # 0xeb2c (en: 'upwards harpoon from bar with barb leftwards', google translation)
+ - "": [T: "harppuuna alas palkista piikki vasemmalle"] # 0xeb2d (en: 'downwards harpoon from bar with barb leftwards', google translation)
+ - "": [T: "harppuuna ylös palkista piikki oikealle"] # 0xeb2e (en: 'upwards harpoon from bar with barb rightwards', google translation)
+ - "": [T: "harppuuna alas palkista piikki oikealle"] # 0xeb2f (en: 'downwards harpoon from bar with barb rightwards', google translation)
+ - "": [T: "nuoli ylöspäin palkkiin"] # 0xeb30 (en: 'upwards arrow to bar', google translation)
+ - "": [T: "nuoli alaspäin palkkiin"] # 0xeb31 (en: 'downwards arrow to bar', google translation)
+ - "": [T: "harppuuna ylös ja oikealla puolella harppuuna alas"] # 0xeb32 (en: 'upwards harpoon to the left of downwards harpoon', google translation)
+ - "": [T: "harppuuna ylös ja vasemmalla puolella harppuuna alas"] # 0xeb33 (en: 'upwards harpoon to the right of downwards harpoon', google translation)
+ - "": [T: "nuolenpää ylös"] # 0xeb34 (en: 'upwards arrowhead', google translation)
+ - "": [T: "nuolenpää alas"] # 0xeb35 (en: 'downwards arrowhead', google translation)
+ - "": [T: "kaksinkertainen harppuuna vasen piikki alas ja oikea piikki ylös"] # 0xeb36 (en: 'double harpoon with leftwards barb down rightwards barb up', google translation)
+ - "": [T: "kaksinkertainen harppuuna vasen piikki ylös ja oikea piikki alas"] # 0xeb37 (en: 'double harpoon with leftwards barb up rightwards barb down', google translation)
+ - "": [T: "vasen nuoli palkin yläpuolella"] # 0xeb38 (en: 'leftwards arrow over bar', google translation)
+ - "": [T: "oikea nuoli palkin yläpuolella"] # 0xeb39 (en: 'rightwards arrow over bar', google translation)
+ - "": [T: "vasen nuoli palkin alapuolella"] # 0xeb3a (en: 'leftwards arrow under bar', google translation)
+ - "": [T: "oikea nuoli palkin alapuolella"] # 0xeb3b (en: 'rightwards arrow under bar', google translation)
+ - "": [T: "vasen-oikea kolmoisnuoli"] # 0xeb3c (en: 'left right triple arrow', google translation)
+ - "": [T: "koillis-kaakko kaksoisnuoli"] # 0xeb3f (en: 'double arrow northeast southeast', google translation)
+ - "": [T: "vasen puoliympyränuoli vastapäivään"] # 0xeb40 (en: 'anticlockwise left semicircle arrow', google translation)
+ - "": [T: "vasen puoliympyränuoli myötäpäivään"] # 0xeb41 (en: 'clockwise left semicircle arrow', google translation)
+ - "": [T: "vasen avoin ympyrä vasen-oikea nuoli"] # 0xeb42 (en: 'left open circle left right arrow', google translation) # FI: translation unclear
+ - "": [T: "oikea nuoli tilden yläpuolella"] # 0xeb44 (en: 'rightwards arrow over tilde', google translation)
+ - "": [T: "vasen nuoli tilden yläpuolella"] # 0xeb45 (en: 'leftwards arrow over tilde', google translation)
+ - "": [T: "vasen harppuuna palkin yläpuolella"] # 0xeb48 (en: 'leftwards harpoon over bar', google translation)
+ - "": [T: "oikea harppuuna palkin yläpuolella"] # 0xeb49 (en: 'rightwards harpoon over bar', google translation)
+ - "": [T: "vasen harppuuna palkin alapuolella"] # 0xeb4a (en: 'leftwards harpoon under bar', google translation)
+ - "": [T: "oikea harppuuna palkin alapuolella"] # 0xeb4b (en: 'rightwards harpoon under bar', google translation)
+ - "": [T: "raskas musta lyhyt vasen nuoli"] # 0xeb4c (en: 'squat black leftwards arrow', google translation)
+ - "": [T: "oikea puoliympyränuoli myötäpäivään"] # 0xeb50 (en: 'clockwise right semicircle arrow', google translation)
+ - "": [T: "oikea puoliympyränuoli vastapäivään"] # 0xeb51 (en: 'anticlockwise right semicircle arrow', google translation)
+ - "": [T: "vasen-oikea ympyrä vasen-oikea harppuuna"] # 0xeb52 (en: 'left open circle left right harpoon', google translation) # FI: translation unclear
+ - "": [T: "nuoli ylös pystypalkin vasemmalla puolella"] # 0xeb58 (en: 'upwards arrow leftwards of vertical bar', google translation)
+ - "": [T: "nuoli alas pystypalkin vasemmalla puolella"] # 0xeb59 (en: 'downwards arrow leftwards of vertical bar', google translation)
+ - "": [T: "nuoli ylös pystypalkin oikealla puolella"] # 0xeb5a (en: 'upwards arrow rightwards of vertical bar', google translation)
+ - "": [T: "nuoli alas pystypalkin oikealla puolella"] # 0xeb5b (en: 'downwards arrow rightwards of vertical bar', google translation)
+ - "": [T: "oikea nuoli jatketulla koukulla alas"] # 0xeb5c (en: 'rightwards arrow with extended downwards hook', google translation)
+ - "": [T: "vasen nuoli jatketulla koukulla"] # 0xeb5d (en: 'leftwards arrow with extended hook', google translation)
+ - "": [T: "vasen nuoli jatketulla koukulla alas"] # 0xeb5e (en: 'leftwards arrow with extended downwards hook', google translation)
+ - "": [T: "oikea nuoli jatketulla koukulla"] # 0xeb5f (en: 'rightwards arrow with extended hook', google translation)
+ - "": [T: "ei oikea nuoli aaltoileva"] # 0xeb60 (en: 'not right arrow wavy', google translation) # FI: translation unclear
+ - "": [T: "ei oikea nuoli kaareva"] # 0xeb61 (en: 'not right arrow curved', google translation) # FI: translation unclear
+ - "": [T: "harppuula ylös pystypalkin vasemmalla puolella"] # 0xeb68 (en: 'upwards harpoon leftwards of vertical bar', google translation)
+ - "": [T: "harppuuna alas pystypalkin vasemmalla puolella"] # 0xeb69 (en: 'downwards harpoon leftwards of vertical bar', google translation)
+ - "": [T: "harppuuna ylös pystypalkin oikealla puolella"] # 0xeb6a (en: 'upwards harpoon rightwards of vertical bar', google translation)
+ - "": [T: "harppuuna alas pystypalkin oikealla puolella"] # 0xeb6b (en: 'downwards harpoon rightwards of vertical bar', google translation)
+ - "": [T: "pystysuora kaksoisnuolen pidennys"] # 0xeb6c (en: 'vertical double arrow extender', google translation) # FI: translation unclear
+ - "": [T: "pystysuora harppuuna piikki vasemmalle pidennys"] # 0xeb6d (en: 'vertical harpoon with barb left extender', google translation)
+ - "": [T: "pystysuora harppuuna piikki oikealle pidennys"] # 0xeb6e (en: 'vertical harpoon with barb right extender', google translation)
+ - "": [T: "oikea harppuuna vasemman harppuunan yläpuolella oikealla"] # 0xeb6f (en: 'right harpoon over left harpoon right', google translation) # FI: translation unclear
+ - "": [T: "oikea harppuuna vasemman harppuunan yläpuolella vasemmalla"] # 0xeb70 (en: 'right harpoon over left harpoon left', google translation) # FI: translation unclear
+ - "": [T: "vasen harppuuna oikean harppuunan yläpuolella oikealla"] # 0xeb71 (en: 'left harpoon over right harpoon right', google translation) # FI: translation unclear
+ - "": [T: "vasen harppuuna oikean harppuunan yläpuolella vasemmalla"] # 0xeb72 (en: 'left harpoon over right harpoon left', google translation) # FI: translation unclear
+ - "": [T: "vasen nuoli palkista nuolenpää"] # 0xeb73 (en: 'leftwards arrow from bar arrowhead', google translation) # FI: translation unclear
+ - "": [T: "vasen-oikea nuoli palkista pidennys"] # 0xeb74 (en: 'leftwards rightwards arrow from bar extender', google translation)
+ - "": [T: "vasen nuoli palkista häntä"] # 0xeb75 (en: 'leftwards arrow from bar tail', google translation) # FI: translation unclear
+ - "": [T: "oikea nuoli palkista häntä"] # 0xeb76 (en: 'rightwards arrow from bar tail', google translation) # FI: translation unclear
+ - "": [T: "oikea nuoli palkista nuolenpää"] # 0xeb77 (en: 'rightwards arrow from bar arrowhead', google translation) # FI: translation unclear
+ - "": [T: "harppuuna ylös palkista piikki vasemmalle nuolenpää"] # 0xeb78 (en: 'upwards harpoon from bar with barb leftwards arrowhead', google translation) # FI: translation unclear
+ - "": [T: "oikea nuoli vasemman nuolen yläpuolella oikealla"] # 0xeb79 (en: 'rightwards arrow over leftwards arrow right', google translation) # FI: translation unclear
+ - "": [T: "oikea nuoli vasemman nuolen yläpuolella vasemmalla"] # 0xeb7a (en: 'rightwards arrow over leftwards arrow left', google translation) # FI: translation unclear
+ - "": [T: "vasen nuoli oikean nuolen yläpuolella oikealla"] # 0xeb7b (en: 'leftwards arrow over rightwards arrow right', google translation) # FI: translation unclear
+ - "": [T: "vasen nuoli oikean nuolen yläpuolella vasemmalla"] # 0xeb7c (en: 'leftwards arrow over rightwards arrow left', google translation) # FI: translation unclear
+ - "": [T: "nuoli ylös palkista nuolenpää"] # 0xeb7d (en: 'upwards arrow from bar arrowhead', google translation) # FI: translation unclear
+ - "": [T: "nuoli ylös palkista häntä"] # 0xeb7e (en: 'upwards arrow from bar tail', google translation) # FI: translation unclear
+ - "": [T: "nuoli alaspäin palkista häntä"] # 0xeb7f (en: 'downwards arrow from bar tail', google translation) # FI: translation unclear
+ - "": [T: "nuoli alaspäin palkista nuolenpää"] # 0xeb80 (en: 'downwards arrow from bar arrowhead', google translation) # FI: translation unclear
+ - "": [T: "harppuuna alas palkista piikki oikealle nuolenpää"] # 0xeb81 (en: 'downwards harpoon from bar with barb rightwards arrowhead', google translation) # FI: translation unclear
+ - "": [T: "harppuuna ylös ja oikealla puolella harppuuna alas alas"] # 0xeb82 (en: 'upwards harpoon to the left of downwards harpoon bottom', google translation) # FI: translation unclear
+ - "": [T: "harppuuna ylös ja oikealla harppuuna alas"] # 0xeb83 (en: 'upwards harpoon to the left of downwards harpoon', google translation)
+ - "": [T: "harppuuna alas ja oikealla harppuuna ylös ylös"] # 0xeb84 (en: 'downwards harpoon to the left of upwards harpoon top', google translation) # FI: translation unclear
+ - "": [T: "harppuuna ylös ja oikealla harppuuna alas ylös"] # 0xeb85 (en: 'upwards harpoon to the left of downwards harpoon top', google translation) # FI: translation unclear
+ - "": [T: "harppuuna alas ja oikealla harppuuna ylös pidennys"] # 0xeb86 (en: 'downwards harpoon to the left of the upwards harpoon extender', google translation)
+ - "": [T: "harppuuna alas ja oikealla harppuuna ylös alas"] # 0xeb87 (en: 'downwards harpoon to the left of the upwards harpoon bottom', google translation) # FI: translation unclear
+ - "": [T: "harppuuna ylös ja oikealla harppuuna alas alas"] # 0xeb88 (en: 'upwards arrow leftwards of downwards arrow bottom', google translation) # FI: translation unclear
+ - "": [T: "nuoli alas ja oikealla nuoli ylös ylös"] # 0xeb89 (en: 'downwards arrow leftwards of upwards arrow top', google translation) # FI: translation unclear
+ - "": [T: "nuoli ylös ja oikealla nuoli alas ylös"] # 0xeb8a (en: 'upwards arrow leftwards of downwards arrow top', google translation) # FI: translation unclear
+ - "": [T: "nuoli alas ja oikealla nuoli ylös alas"] # 0xeb8b (en: 'downwards arrow leftwards of upwards arrow bottom', google translation) # FI: translation unclear
+ - "": [T: "vasen-oikeanuolipidennys"] # 0xeb8c (en: 'leftwards rightwards arrows extender', google translation)
+ - "": [T: "koillisnuolipidennys"] # 0xeb8d (en: 'north east arrow extender', google translation)
+ - "": [T: "luoteisnuolipidennys"] # 0xeb8e (en: 'north west arrow extender', google translation)
+ - "": [T: "alas osoittava aaltosulku vasen"] # 0xec00 (en: 'down pointing brace left', google translation)
+ - "": [T: "alas osoittava aaltosulku keski"] # 0xec01 (en: 'down pointing brace mid', google translation)
+ - "": [T: "alas osoittava aaltosulku oikea"] # 0xec02 (en: 'down pointing brace right', google translation)
+ - "": [T: "vaakasuora aaltosulku pidennys"] # 0xec03 (en: 'horizontal brace extender', google translation)
+ - "": [T: "ylös osoittava aaltosulku vasen"] # 0xec04 (en: 'up pointing brace left', google translation)
+ - "": [T: "ylös osoittava aaltosulku keski"] # 0xec05 (en: 'up pointing brace mid', google translation)
+ - "": [T: "ylös osoittava aaltosulku oikea"] # 0xec06 (en: 'up-pointing brace right', google translation)
+ - "": [T: "vasen pystypalkki"] # 0xec07 (en: 'left vertical bar', google translation)
+ - "": [T: "oikea pystypalkki"] # 0xec08 (en: 'right vertical bar', google translation)
+ - "": [T: "vasen kaksinkertainen pystypalkki"] # 0xec09 (en: 'left double vertical bar', google translation)
+ - "": [T: "oikea kaksinkertainen pystypalkki"] # 0xec0a (en: 'right double vertical bar', google translation)
+ - "": [T: "vaakasuora hakasulku pidennys"] # 0xec0b (en: 'horizontal bracket extender', google translation)
+ - "": [T: "neliön alapuoli hakasulku"] # 0xec0c (en: 'under square bracket', google translation) # FI: translation unclear
+ - "⎵": [T: "neliön alapuoli hakasulku"] # 0x23b5 (google: 'neliön alla') # FI: translation unclear
+ - "": [T: "neliön yläpuoli hakasulku"] # 0xec0d (en: 'over square bracket', google translation) # FI: translation unclear
+ - "⎴": [T: "neliön yläpuoli hakasulku"] # 0x23b4 (google: 'neliömäisen kiinnikkeen yli') # FI: translation unclear
+ - "": [T: "alahakasulku vasen"] # 0xec0e (en: 'under bracket left', google translation) # FI: translation unclear
+ - "": [T: "alahakasulku oikea"] # 0xec0f (en: 'under bracket right', google translation) # FI: translation unclear
+ - "": [T: "ylähakasulku vasen"] # 0xec10 (en: 'over bracket left', google translation) # FI: translation unclear
+ - "": [T: "alahakasulku oikea"] # 0xec11 (en: 'over bracket right', google translation) # FI: translation unclear
+ - "": [T: "vasen kaarisulku 1"] # 0xec12 (en: 'left parens 1', google translation)
+ - "": [T: "vasen kaarisulku 2"] # 0xec13 (en: 'left parens 2', google translation)
+ - "": [T: "vasen kaarisulku 3"] # 0xec14 (en: 'left parens 3', google translation)
+ - "": [T: "vasen kaarisulku 4"] # 0xec15 (en: 'left parens 4', google translation)
+ - "": [T: "oikea kaarisulku 1"] # 0xec16 (en: 'right parens 1', google translation)
+ - "": [T: "oikea kaarisulku 2"] # 0xec17 (en: 'right parens 2', google translation)
+ - "": [T: "oikea kaarisulku 3"] # 0xec18 (en: 'right parens 3', google translation)
+ - "": [T: "oikea kaarisulku 4"] # 0xec19 (en: 'right parens 4', google translation)
+ - "": [T: "radikaali 1"] # 0xec1a (en: 'radical 1', google translation) # FI: context? Radical as in root sign?
+ - "": [T: "radikaali 2"] # 0xec1b (en: 'radical 2', google translation) # FI: context?
+ - "": [T: "radikaali 3"] # 0xec1c (en: 'radical 3', google translation) # FI: context?
+ - "": [T: "radikaali 4"] # 0xec1d (en: 'radical 4', google translation) # FI: context?
+ - "": [T: "radikaali 5"] # 0xec1e (en: 'radical 5', google translation) # FI: context?
+ - "": [T: "radikaali pohja"] # 0xec1f (en: 'radical bottom', google translation) # FI: context?
+ - "": [T: "radikaali pystysuora pidennys"] # 0xec20 (en: 'radical vertical extender', google translation) # FI: context?
+ - "": [T: "radikaali yläosa"] # 0xec21 (en: 'radical top', google translation) # FI: context?
+ - "": [T: "vasen valkoinen hakasulku ylös"] # 0xec22 (en: 'left white bracket top', google translation)
+ - "": [T: "vasen valkoinen hakasulku pidennys"] # 0xec23 (en: 'left white bracket extender', google translation)
+ - "": [T: "vasen valkoinen hakasulku alas"] # 0xec24 (en: 'left white bracket bottom', google translation)
+ - "": [T: "oikea valkoinen hakasulku ylös"] # 0xec25 (en: 'right white bracket top', google translation)
+ - "": [T: "oikea valkoinen hakasulku pidennys"] # 0xec26 (en: 'right white bracket extender', google translation)
+ - "": [T: "oikea valkoinen hakasulku alas"] # 0xec27 (en: 'right white bracket bottom', google translation)
+ - "": [T: "vasen valkoinen aaltosulku"] # 0xec30 (en: 'left white curly bracket', google translation)
+ - "": [T: "oikea valkoinen aaltosulku"] # 0xec31 (en: 'right white curly bracket', google translation)
+ - "": [T: "jakokulmamerkki"] # 0xec32 (en: 'long division sign', google translation)
+ - "": [T: "jakokulmamerkki pidennys"] # 0xec33 (en: 'long division sign extender', google translation)
+ - "": [T: "lyhyt jakokulma"] # 0xec34 (en: 'short division', google translation)
+ - "": [T: "kaksinkertainen m-sidos lounaasta koilliseen"] # 0xec40 (en: 'double southwest to northeast em bond', google translation)
+ - "": [T: "kaksinkertainen m-sidos luoteesta kaakkoon"] # 0xec41 (en: 'double northwest to southeast em bond', google translation)
+ - "": [T: "yksinkertainen vaakasuora m-sidos"] # 0xec42 (en: 'single horizontal em bond', google translation) # FI: not happy with translations
+ - "": [T: "kaksinkertainen vaakasuora m-sidos"] # 0xec43 (en: 'double horizontal em bond', google translation)
+ - "": [T: "kolminkertainen vaakasuora m-sidos"] # 0xec44 (en: 'triple horizontal em bond', google translation)
+ - "": [T: "yksinkertainen pystysuora m-sidos"] # 0xec45 (en: 'single vertical em bond', google translation)
+ - "": [T: "kaksinkertainen pystysuora m-sidos"] # 0xec46 (en: 'double vertical em bond', google translation)
+ - "": [T: "kolminkertainen pystysuora m-sidos"] # 0xec47 (en: 'triple vertical em bond', google translation)
+ - "": [T: "pienempi kuin m-sidos"] # 0xec48 (en: 'less than em bond', google translation)
+ - "": [T: "suurempi kuin m-sidos"] # 0xec49 (en: 'greater than em bond', google translation)
+ - "": [T: "yksinkertainen vaakasuora n-sidos"] # 0xec4a (en: 'single horizontal en bond', google translation)
+ - "": [T: "kaksinkertainen vaakasuora n-sidos"] # 0xec4b (en: 'double horizontal en bond', google translation)
+ - "": [T: "kolminkertainen vaakasuora n-sidos"] # 0xec4c (en: 'triple horizontal en bond', google translation)
+ - "": [T: "ylävasen suorakulmio"] # 0xec80 (en: 'top left rectangle', google translation)
+ - "": [T: "alavasen suorakulmio"] # 0xec81 (en: 'bottom left rectangle', google translation)
+ - "": [T: "yläoikea suorakulmio"] # 0xec90 (en: 'top right rectangle', google translation)
+ - "": [T: "alaoikea suorakulmio"] # 0xec91 (en: 'bottom right rectangle', google translation)
+ - "": [T: "synteettinen jakokulma"] # 0xec92 (en: 'synthetic division corner', google translation) # FI: translation unclear
+ - "": [T: "synteettinen jakokulma vaakasuora pidennys"] # 0xec93 (en: 'synthetic division horizontal extender', google translation) # FI: translation unclear
+ - "": [T: "synteettinen jakokulma pystysuora pidennys"] # 0xec94 (en: 'synthetic division vertical extender', google translation) # FI: translation unclear
+ - "": [T: "vasen katto lattia pidennys"] # 0xec95 (en: 'left ceiling floor extender', google translation)
+ - "": [T: "oikea katto lattia pidennys"] # 0xec96 (en: 'right ceiling floor extender', google translation)
+ - "": [T: "yli hakasulku pidennys"] # 0xec97 (en: 'over bracket extender', google translation) # FI: translation unclear
+ - "": [T: "pystypalkki pidennys"] # 0xec98 (en: 'vertical bar extender', google translation)
+ - "": [T: "vasen kaksinkertainen pystypalkki pidennys"] # 0xec99 (en: 'left double vertical bar extender', google translation)
+ - "": [T: "vaakasuora palkki pidennys"] # 0xec9a (en: 'horizontal bar extender', google translation)
+ - "": [T: "ala hakasulku pidennys"] # 0xec9c (en: 'under bracket extender', google translation) # FI: translation unclear
+ - "": [T: "alaspäin osoittava kaarisulku oikea"] # 0xec9d (en: 'down pointing paren right', google translation)
+ - "": [T: "alaspäin osoittava kaarisulku pidennys"] # 0xec9e (en: 'down pointing paren extender', google translation)
+ - "": [T: "alaspäin osoittava kaarisulku vasen"] # 0xec9f (en: 'down pointing paren left', google translation)
+ - "": [T: "ylöspäin osoittava hakasulku pidennys"] # 0xeca0 (en: 'up pointing brace extender', google translation)
+ - "": [T: "ylöspäin osoittava kaarisulku vasen"] # 0xeca1 (en: 'up pointing paren left', google translation)
+ - "": [T: "ylöspäin osoittava kaarisulku pidennys"] # 0xeca2 (en: 'up pointing paren extender', google translation)
+ - "": [T: "ylöspäin osoittava kaarisulku oikea"] # 0xeca3 (en: 'up pointing paren right', google translation)
+ - "": [T: "alaspäin osoittava kaarisulku pidennys"] # 0xeca4 (en: 'down pointing brace extender', google translation)
+ - "": [T: "planckin vakio kahden piin yläpuolella palkki"] # 0xed00 (en: 'planck constant over two pi bar', google translation) # FI: translation unclear
+ - "": [T: "peili g"] # 0xed01 (en: 'mirror g', google translation)
+ - "": [T: "pisteetön j"] # 0xed02 (google translation)
+ - "": [T: "digamma"] # 0xed03 (google translation) # FI: translation unclear
+ - "ϝ": [T: "digamma"] # 0x3dd # FI: : translation unclear
+ - "": [T: "d"] # 0xed10 (en: 'd', google translation)
+ - "": [T: "e"] # 0xed11 (en: 'e', google translation)
+ - "": [T: "i"] # 0xed12 (en: 'i', google translation)
+ - "": [T: "j"] # 0xed13 (en: 'j', google translation)
+ - "ⅅ":
+ - SPELL: "translate('.', 'ⅅ', 'DD')" # 0xed16, 0x2145
+
+# The private use chars are from MathType
+ - "": [T: "käyräintegraalisilmukka vastapäivään"] # 0xee00 (en: 'anticlockwise contour integral loop', google translation)
+ - "": [T: "käyräintegraalisilmukka myötäpäivään"] # 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: "yhteinen tila koriste"] # 0xee0d (en: 'joint status embellishment', google translation) # FI: translation unclear, context?
+ - "": [T: "yhteinen tila korite vasen"] # 0xee0e (en: 'joint status embellishment left', google translation) # FI: translation unclear, context?
+ - "": [T: "yhteinen tila koriste oikea"] # 0xee0f (en: 'joint status embellishment right', google translation) # FI: translation unclear, context?
+ - "": [T: "yhteinen tila koriste pidennys"] # 0xee10 (en: 'joint status embellishment extender', google translation) # FI: translation unclear, context?
+ - "": [T: "integraalisilmukka"] # 0xee11 (en: 'integral loop', google translation)
+ - "": [T: "kaksinkertainen integraalisilmukka"] # 0xee12 (en: 'integral loop double', google translation)
+ - "": [T: "kolminkertainen integraalisilmukka"] # 0xee13 (en: 'integral loop triple', google translation)
+ - "": [T: "laajentuva kaksinkertainen integraalisilmukka"] # 0xee15 (en: 'expanding integral loop double', google translation)
+ - "": [T: "laajentuva kolminkertainen integraalisilmukka"] # 0xee16 (en: 'expanding integral loop triple', google translation)
+ - "": [T: "asymptoottisesti yhtä suuri kuin aksentti"] # 0xee17 (en: 'asymptotically equal to accent', google translation)
+ - "": [T: "yhtä suuri kuin -merkki aksentti"] # 0xee18 (en: 'equal sign accent', google translation)
+ - "": [T: "neljäs derivaatta"] # 0xee19 (en: 'quadruple prime', google translation) # FI: 4th derivative?
+ - "": [T: "palkkiaksentti avoimella ympyrällä vasen"] # 0xee1a (en: 'bar accent with open circle left', google translation) # FI: translation unclear
+ - "": [T: "palkkiaksentti suljetulla ympyrällä vasen"] # 0xee1b (en: 'bar accent with closed circle left', google translation) # FI: translation unclear
+ - "": [T: "palkkiaksentti avoimella ympyrällä oikea"] # 0xee1c (en: 'bar accent with open circle right', google translation) # FI: translation unclear
+ - "": [T: "palkkiaksentti ja piste yläpuolella"] # 0xee1d (en: 'bar accent with over dot', google translation) # FI: translation unclear
+ - "": [T: "palkkiaksentti ja piste alapuolella"] # 0xee1e (en: 'bar accent with under dot', google translation) # FI: translation unclear
+ - "": [T: "palkkiaksentti ja kaksinkertainen piste yläpuolella"] # 0xee1f (en: 'bar accent with double over dot', google translation) # FI: translation unclear
+ - "": [T: "palkkiaksentti ja kaksinkertainen piste alapuolella"] # 0xee20 (en: 'bar accent with double under dot', google translation) # FI: translation unclear
+ - "": [T: "palkkiaksentti sirkumfleksillä"] # 0xee21 (en: 'bar accent with caret', google translation) # FI: translation unclear
+ - "": [T: "paksu alapalkkiaksentti"] # 0xee22 (en: 'thick under bar accent', google translation) # FI: translation unclear
+ - "": [T: "palkkiaksentti suljetulla ympyrällä oikea"] # 0xee23 (en: 'bar accent with closed circle right', google translation) # FI: translation unclear
+ - "": [T: "suuri piste yläpuolella"] # 0xee24 (en: 'large dot above', google translation) # FI: translation unclear
+ - "": [T: "kohdistusmerkki"] # 0xef00 (en: 'alignment mark', google translation) # FI: translation unclear
+ - "": [T: ""] # 0xef01
+ - "": [T: ""] # 0x200b
+ - "": [T: ""] # 0xef02
+ - " ": [T: ""] # 0x2009
+ - "": [T: ""] # 0xef03
+ - " ": [T: ""] # 0x205f
+ - "": [T: ""] # 0xef04
+ - "": [T: ""] # 0xef05
+ - " ": [T: ""] # 0x2003
+ - "": [T: ""] # 0xef06
+ - "": [T: ""] # 0xef07
+ - "": [T: ""] # 0xef08
+ - "": [T: ""] # 0xef09
+ - "": [T: ""] # 0xef0a
+ - " ": [T: ""] # 0x200a
+ - "": [T: ""] # 0xef22
+ - "": [T: ""] # 0xef23
+ - "": [T: ""] # 0xef24
+ - "": [T: ""] # 0xef29
+ - "": [T: "puuttuva termi"] # 0xef41 (en: 'missing term', google translation)
+ - "": [T: "käyräintegraalinuoli myötäväivään vasemmalla"] # 0xef80 (en: 'clockwise contour integral arrow on left', google translation)
+ - "": [T: "integraali neliöllä"] # 0xef81 (en: 'integral with square', google translation)
+ - "": [T: "integraali vinoviivalla"] # 0xef82 (en: 'integral with slash', google translation)
+ - "": [T: "käännetty integraali"] # 0xef83 (en: 'reversed integral', google translation)
+ - "": [T: "kaksinkertainen nolla yli kaksinkertaisen nollan"] # 0xef90 (en: 'double zero over double zero', google translation)
+ - "": [T: "nolla vinoviivalla"] # 0xef91 (en: 'zero with slash', google translation)
+
+ # 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: "fraktuura" # (google translation)
+ - SPELL: "translate('.', '𝔄𝔅𝔇𝔈𝔉𝔊𝔍𝔎𝔏𝔐𝔑𝔒𝔓𝔔𝔖𝔗𝔘𝔙𝔚𝔛𝔜', 'ABCDEFGHIJKLMNOPQRSTUVWXY')"
+
+ - "-": # 0xf000 - 0xf018
+ - T: "fraktuura" # (google translation)
+ - SPELL: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXY')"
+
+ - "𝔞-𝔷": # 0x1d51e - 0x1d537
+ - T: "fraktuura" # (google translation)
+ - SPELL: "translate('.', '𝔞𝔟𝔠𝔡𝔢𝔣𝔤𝔥𝔦𝔧𝔨𝔩𝔪𝔫𝔬𝔭𝔮𝔯𝔰𝔱𝔲𝔳𝔴𝔵𝔶𝔷', 'abcdefghijklmnopqrstuvwxyz')"
+ - "-": # 0xf01a - 0xf033
+ - T: "fraktuura" # (google translation)
+ - SPELL: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "𝕬-𝖅": # 0x1D56C - 0x1D585
+ - T: "fraktuura lihavoitu" # (google translation)
+ - SPELL: "translate('.', '𝕬𝕭𝕮𝕯𝕰𝕱𝕲𝕳𝕴𝕵𝕶𝕷𝕸𝕹𝕺𝕻𝕼𝕽𝕾𝕿𝖀𝖁𝖂𝖃𝖄𝖅', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "-": # 0xf040 - 0xf059
+ - T: "fraktuura lihavoitu" # (google translation)
+ - SPELL: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "𝖆-𝖟": # 0x1d586 - 0x1d59f
+ - T: "fraktuura lihavoitu" # (google translation)
+ - SPELL: "translate('.', '𝖆𝖇𝖈𝖉𝖊𝖋𝖌𝖍𝖎𝖏𝖐𝖑𝖒𝖓𝖔𝖕𝖖𝖗𝖘𝖙𝖚𝖛𝖜𝖝𝖞𝖟', 'abcdefghijklmnopqrstuvwxyz')"
+ - "-": # 0xf05a - 0xf073
+ - T: "fraktuura lihavoitu" # (google translation)
+ - 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)
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "kaksoisviivainen"] # (en: 'double struck', google translation)
+ - SPELL: "translate('.', '𝔸𝔹𝔻𝔼𝔽𝔾𝕀𝕁𝕂𝕃𝕄𝕆𝕊𝕋𝕌𝕍𝕎𝕏𝕐', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "-": # 0xf080 - 0xf098
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "kaksoisviivainen"] # (en: 'double struck', google translation)
+ - SPELL: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "𝕒-𝕫": # 0x1d552 - 0x1d56b
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "kaksoisviivainen"] # (en: 'double struck', google translation)
+ - SPELL: "translate('.', '𝕒𝕓𝕔𝕕𝕖𝕗𝕘𝕙𝕚𝕛𝕜𝕝𝕞𝕟𝕠𝕡𝕢𝕣𝕤𝕥𝕦𝕧𝕨𝕩𝕪𝕫', 'abcdefghijklmnopqrstuvwxyz')"
+ - "-": # 0xf09a - 0xf0b3
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "kaksoisviivainen"] # (en: 'double struck', google translation)
+ - SPELL: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
+ - "𝟘-𝟡": # 0x1d7d8 - 0x1d7e1
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "kaksoisviivainen"] # (en: 'double struck', google translation)
+ - SPELL: "translate('.', '𝟘𝟙𝟚𝟛𝟜𝟝𝟞𝟟𝟠𝟡', '0123456789')"
+ - "-": # 0xf0c0 - 0xf0c9
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "kaksoisviivainen"] # (en: 'double struck', google translation)
+ - SPELL: "translate('.', '', '0123456789')"
+
+ - "": [T: "kaksoisviivainen nabla"] # 0xf0ca (en: 'double struck nabla', google translation)
+ - "": [T: "kaksoisviivainen eulerin vakio"] # 0xf0cb (en: 'double struck euler constant', google translation)
+
+ # script chars in math alphabetic block and also MathType private use area
+ - "𝒜-𝒵": # 0x1d49c - 0x1d4b5
+ - T: "kauno" # (en: 'script', google translation)
+ - SPELL: "translate('.', '𝒜𝒞𝒟𝒢𝒥𝒦𝒩𝒪𝒫𝒬𝒮𝒯𝒰𝒱𝒲𝒳𝒴𝒵', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "-": # 0xf100 - 0xf119
+ - T: "kauno" # (en: 'script', google translation)
+ - SPELL: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "𝒶-𝓏": # 0x1d4b6 - 0x1d4cf
+ - T: "kauno" # (en: 'script', google translation)
+ - SPELL: "translate('.', '𝒶𝒷𝒸𝒹𝒻𝒽𝒾𝒿𝓀𝓁𝓂𝓃𝓅𝓆𝓇𝓈𝓉𝓊𝓋𝓌𝓍𝓎𝓏', 'abcdefghijklmnopqrstuvwxyz')"
+ - "-": # 0xf11a - 0xf133
+ - T: "kauno" # (en: 'script', google translation)
+ - SPELL: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
+
+ # bold script chars in math alphabetic block and also MathType private use area
+ - "𝓐-𝓩": # 0x1d4d0 - 0x1d4e9
+ - T: "lihavoitu kauno" # (en: 'script bold', google translation)
+ - SPELL: "translate('.', '𝓐𝓑𝓒𝓓𝓔𝓕𝓖𝓗𝓘𝓙𝓚𝓛𝓜𝓝𝓞𝓟𝓠𝓡𝓢𝓣𝓤𝓥𝓦𝓧𝓨𝓩', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "-": # 0xf140 - 0xf159
+ - T: "lihavoitu kauno" # (en: 'script bold', google translation)
+ - SPELL: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "𝓪-𝔃": # 0x1d4ea - 0x1d503
+ - T: "lihavoitu kauno" # (en: 'script bold', google translation)
+ - SPELL: "translate('.', '𝓪𝓫𝓬𝓭𝓮𝓯𝓰𝓱𝓲𝓳𝓴𝓵𝓶𝓷𝓸𝓹𝓺𝓻𝓼𝓽𝓾𝓿𝔀𝔁𝔂𝔃', 'abcdefghijklmnopqrstuvwxyz')"
+ - "-": # 0xf15a - 0xf173
+ - T: "lihavoitu kauno" # (en: 'script bold', google translation)
+ - SPELL: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "-": # 0xf180 - 0xf199
+ - SPELL: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "": # 0xf19a
+ - 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: "iso"] # (en: 'cap', google translation)
+ else: [x: "$SpeechOverrides_CapitalLetters"]
+ - pitch:
+ value: "$CapitalLetters_Pitch"
+ replace: [T: "ligatuuri a e"] # (google translation)
+ - "": # 0xf19b
+ - 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: "iso"] # (en: 'cap', google translation)
+ else: [x: "$SpeechOverrides_CapitalLetters"]
+ - pitch:
+ value: "$CapitalLetters_Pitch"
+ replace: [T: "terävä s"] # (en: 'sharp s', google translation) # FI: : translation unclear
+ - "": # 0xf19c
+ - 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: "iso"] # (en: 'cap', google translation)
+ else: [x: "$SpeechOverrides_CapitalLetters"]
+ - pitch:
+ value: "$CapitalLetters_Pitch"
+ replace: [T: "o yliviivauksella"] # (en: 'o with stroke', google translation)
+
+ # MathType only has a few of the cap Greek letters in PUA
+ - "": # 0xf201 - 0xf209
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "kaksoisviivainen"] # (en: 'double struck', google translation)
+ - SPELL: "translate('.', '', 'ΔΨΛΠΣΘΓΩΥ')"
+
+ - "-": # 0xf220 - 0xf236
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "kaksoisviivainen"] # (en: 'double struck', google translation)
+ - SPELL: "translate('.', '', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
+
+ - "": [T: "kaksoisviivainen viimeinen sigma"] # 0xf237 (en: 'double struck final sigma', google translation)
+ - "": [T: "kaksoisviivainen rho"] # 0xf250 (en: 'double struck rho', google translation)
+ - "": [T: "kaksoisviivainen fii"] # 0xf251 (google translation)
+ - "𝐀-𝐙": # 0x1d400 - 0x1d419
+ - T: "lihavoitu" # (en: 'bold', google translation)
+ - SPELL: "translate('.', '𝐀𝐁𝐂𝐃𝐄𝐅𝐆𝐇𝐈𝐉𝐊𝐋𝐌𝐍𝐎𝐏𝐐𝐑𝐒𝐓𝐔𝐕𝐖𝐗𝐘𝐙', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "-": # 0xf260 - 0xf279
+ - T: "lihavoitu" # (en: 'bold', google translation)
+ - SPELL: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "𝐚-𝐳": # 0x1d41a - 0x1d433
+ - T: "lihavoitu" # (en: 'bold', google translation)
+ - SPELL: "translate('.', '𝐚𝐛𝐜𝐝𝐞𝐟𝐠𝐡𝐢𝐣𝐤𝐥𝐦𝐧𝐨𝐩𝐪𝐫𝐬𝐭𝐮𝐯𝐰𝐱𝐲𝐳', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "-": # 0xf27a - 0xf293
+ - T: "lihavoitu" # (en: 'bold', google translation)
+ - SPELL: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "𝐴-𝑍": # 0x1d434 - 0x1d44d
+ - SPELL: "translate('.', '𝐴𝐵𝐶𝐷𝐸𝐹𝐺𝐻𝐼𝐽𝐾𝐿𝑀𝑁𝑂𝑃𝑄𝑅𝑆𝑇𝑈𝑉𝑊𝑋𝑌𝑍', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "-": # 0xf294 - 0xf2ad
+ - SPELL: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "𝑎-𝑧": # 0x1d44e - 0x1d467
+ - SPELL: "translate('.', '𝑎𝑏𝑐𝑑𝑒𝑓𝑔𝑖𝑗𝑘𝑙𝑚𝑛𝑜𝑝𝑞𝑟𝑠𝑡𝑢𝑣𝑤𝑥𝑦𝑧', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "-": # 0xf2ae - 0xf2c7
+ - SPELL: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "𝑨-𝒁": # 0x1d468 - 0x1d481
+ # - t: "bold italic"
+ - T: "lihavoitu" # (en: 'bold', google translation)
+ - SPELL: "translate('.', '𝑨𝑩𝑪𝑫𝑬𝑭𝑮𝑯𝑰𝑱𝑲𝑳𝑴𝑵𝑶𝑷𝑸𝑹𝑺𝑻𝑼𝑽𝑾𝑿𝒀𝒁', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "-": # 0xf2c8 - 0xf2e1
+ # - t: "bold italic"
+ - T: "lihavoitu" # (en: 'bold', google translation)
+ - SPELL: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "𝒂-𝒛": # 0x1d482 - 0x1d49b
+ # - t: "bold italic"
+ - T: "lihavoitu" # (en: 'bold', google translation)
+ - SPELL: "translate('.', '𝒂𝒃𝒄𝒅𝒆𝒇𝒈𝒉𝒊𝒋𝒌𝒍𝒎𝒏𝒐𝒑𝒒𝒓𝒔𝒕𝒖𝒗𝒘𝒙𝒚𝒛', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "-": # 0xf2e2 - 0xf2fb
+ # - t: "bold italic"
+ - T: "lihavoitu" # (en: 'bold', google translation)
+ - SPELL: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "𝖠-𝖹": # 0x1d5a0 - 0x1d5b9
+ - SPELL: "translate('.', '𝖠𝖡𝖢𝖣𝖤𝖥𝖦𝖧𝖨𝖩𝖪𝖫𝖬𝖭𝖮𝖯𝖰𝖱𝖲𝖳𝖴𝖵𝖶𝖷𝖸𝖹', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "-": # 0xf300 - 0xf319
+ - SPELL: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "𝖺-𝗓": # 0x1d5ba - 0x1d5d3
+ - SPELL: "translate('.', '𝖺𝖻𝖼𝖽𝖾𝖿𝗀𝗁𝗂𝗃𝗄𝗅𝗆𝗇𝗈𝗉𝗊𝗋𝗌𝗍𝗎𝗏𝗐𝗑𝗒𝗓', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "-": # 0xf31a - 0xf333
+ - SPELL: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "𝗔-𝗭": # 0x1d5d4 - 0x1d5ed
+ - T: "lihavoitu" # (en: 'bold', google translation)
+ - SPELL: "translate('.', '𝗔𝗕𝗖𝗗𝗘𝗙𝗚𝗛𝗜𝗝𝗞𝗟𝗠𝗡𝗢𝗣𝗤𝗥𝗦𝗧𝗨𝗩𝗪𝗫𝗬𝗭', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "-": # 0xf334 - 0xf34d
+ - T: "lihavoitu" # (en: 'bold', google translation)
+ - SPELL: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "𝗮-𝘇": # 0x1d5ee - 0x1d607
+ - T: "lihavoitu" # (en: 'bold', google translation)
+ - SPELL: "translate('.', '𝗮𝗯𝗰𝗱𝗲𝗳𝗴𝗵𝗶𝗷𝗸𝗹𝗺𝗻𝗼𝗽𝗾𝗿𝘀𝘁𝘂𝘃𝘄𝘅𝘆𝘇', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "-": # 0xf34e - 0xf367
+ - T: "lihavoitu" # (en: 'bold', google translation)
+ - SPELL: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
+ - "𝘈-𝘡": # 0x1d608 - 0x1d621
+ # - t: "italic"
+ - SPELL: "translate('.', '𝘈𝘉𝘊𝘋𝘌𝘍𝘎𝘏𝘐𝘑𝘒𝘓𝘔𝘕𝘖𝘗𝘘𝘙𝘚𝘛𝘜𝘝𝘞𝘟𝘠𝘡', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+ - "-": # 0xf368 - 0xf381
+ # - t: "italic"
+ - SPELL: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "𝘢-𝘻": # 0x1d622 - 0x1d63b
+ # - t: "italic"
+ - SPELL: "translate('.', '𝘢𝘣𝘤𝘥𝘦𝘧𝘨𝘩𝘪𝘫𝘬𝘭𝘮𝘯𝘰𝘱𝘲𝘳𝘴𝘵𝘶𝘷𝘸𝘹𝘺𝘻', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "-": # 0xf382 - 0xf39b
+ # - t: "italic"
+ - SPELL: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "𝘼-𝙕": # 0x1d63c - 0x1d655
+ # - t: "bold italic"
+ - T: "lihavoitu" # (en: 'bold', google translation)
+ - SPELL: "translate('.', '𝘼𝘽𝘾𝘿𝙀𝙁𝙂𝙃𝙄𝙅𝙆𝙇𝙈𝙉𝙊𝙋𝙌𝙍𝙎𝙏𝙐𝙑𝙒𝙓𝙔𝙕', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "-": # 0xf39c - 0xf3b5
+ # - t: "bold italic"
+ - T: "lihavoitu" # (en: 'bold', google translation)
+ - SPELL: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "𝙖-𝙯": # 0x1d656 - 0x1d66f
+ # - t: "bold italic"
+ - T: "lihavoitu" # (en: 'bold', google translation)
+ - SPELL: "translate('.', '𝙖𝙗𝙘𝙙𝙚𝙛𝙜𝙝𝙞𝙟𝙠𝙡𝙢𝙣𝙤𝙥𝙦𝙧𝙨𝙩𝙪𝙫𝙬𝙭𝙮𝙯', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "-": # 0xf3b6 - 0xf3cf
+ # - t: "bold italic"
+ - T: "lihavoitu" # (en: 'bold', google translation)
+ - SPELL: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "𝙰-𝚉": # 0x1d670 - 0x1d689
+ - SPELL: "translate('.', '𝙰𝙱𝙲𝙳𝙴𝙵𝙶𝙷𝙸𝙹𝙺𝙻𝙼𝙽𝙾𝙿𝚀𝚁𝚂𝚃𝚄𝚅𝚆𝚇𝚈𝚉', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "-": # 0xf3d0 - 0xf3e9
+ - SPELL: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "𝚊-𝚣": # 0x1d68a - 0x1d6a3
+ - SPELL: "translate('.', '𝚊𝚋𝚌𝚍𝚎𝚏𝚐𝚑𝚒𝚓𝚔𝚕𝚖𝚗𝚘𝚙𝚚𝚛𝚜𝚝𝚞𝚟𝚠𝚡𝚢𝚣', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "-": # 0xf3ea - 0xf403
+ - SPELL: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
+
+ - "": [T: "pisteetön i"] # 0xf404 (google translation)
+ - "𝚤": [T: "pisteetön i"] # 0x1d6a4 (en: 'dotless i', google: 'dotless i')
+ - "𝚥": [T: "pisteetön j"] # 0x1d6a5 (en: 'dotless j', google: 'dotless j')
+
+ - "𝚨-𝛀": # 0x1d6a8 - 0x1d6c0
+ - T: "lihavoitu" # (en: 'bold', google: 'lihavoitu')
+ - SPELL: "translate('.', '𝚨𝚩𝚪𝚫𝚬𝚭𝚮𝚯𝚰𝚱𝚲𝚳𝚴𝚵𝚶𝚷𝚸𝚹𝚺𝚻𝚼𝚽𝚾𝚿𝛀', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
+
+ - "-": # 0xf408 - 0xf420
+ - T: "lihavoitu" # (en: 'bold', google: 'lihavoitu')
+ - SPELL: "translate('.', '', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
+
+ - "𝛂-𝛚": # 0x1d6c2 - 0x1d6da
+ - T: "lihavoitu" # (en: 'bold', google: 'lihavoitu')
+ - SPELL: "translate('.', '𝛂𝛃𝛄𝛅𝛆𝛇𝛈𝛉𝛊𝛋𝛌𝛍𝛎𝛏𝛐𝛑𝛒𝛓𝛔𝛕𝛖𝛗𝛘𝛙𝛚', 'αβγδεζηθικλμνξοπρςστυφχψω')"
+
+ - "-": # 0xf422 - 0xf43a
+ - T: "lihavoitu" # (en: 'bold', google: 'lihavoitu')
+ - SPELL: "translate('.', '', 'αβγδεζηθικλμνξοπρςστυφχψω')"
+
+ - "": [T: "lihavoitu nabla"] # 0xf421 (en: 'bold nabla', google translation)
+ - "𝛁": [T: "lihavoitu nabla"] # 0x1d6c1 (en: 'bold nabla')
+
+ - "𝛛𝛜𝛝𝛞𝛟𝛠𝛡": # 0x1D6DB - 0x1D6E1
+ - T: "lihavoitu" # (en: 'bold', google: 'lihavoitu')
+ - SPELL: "translate('.', '𝛛𝛜𝛝𝛞𝛟𝛠𝛡', '∂εθκφρπ')"
+
+ - "": # 0xF43C - 0xF441
+ - T: "lihavoitu" # (en: 'bold', google: 'lihavoitu')
+ - SPELL: "translate('.', '', '∂εθκφρπ')"
+
+ - "𝛢-𝛺": # 0x1d6e2 - 0x1d6fa
+ # - t: "italic"
+ - SPELL: "translate('.', '𝛢𝛣𝛤𝛥𝛦𝛧𝛨𝛩𝛪𝛫𝛬𝛭𝛮𝛯𝛰𝛱𝛲𝛳𝛴𝛵𝛶𝛷𝛸𝛹𝛺', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
+
+ - "-": # 0xf442 - 0xf45a
+ # - t: "italic"
+ - SPELL: "translate('.', '', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
+
+ - "𝛼-𝜔": # 0x1d6fc - 0x1d714
+ # - t: "italic"
+ - SPELL: "translate('.', '𝛼𝛽𝛾𝛿𝜀𝜁𝜂𝜃𝜄𝜅𝜆𝜇𝜈𝜉𝜊𝜋𝜌𝜍𝜎𝜏𝜐𝜑𝜒𝜓𝜔', 'αβγδεζηθικλμνξοπρςστυφχψω')"
+
+ - "-": # 0xf45c - 0xf474
+ # - t: "italic"
+ - SPELL: "translate('.', '', 'αβγδεζηθικλμνξοπρςστυφχψω')"
+
+ - "": [T: "kursivoitu nabla"] # 0xf45b (en: 'italic nabla', google translation)
+ - "𝛻": [T: "lihavoitu nabla"] # 0x1d6fb (en: 'italic nabla', google: 'kursivoitu nabla')
+
+ - "𝜕𝜖𝜗𝜘𝜙𝜚𝜛": # 0x1d715 - 0x1d71b
+ # - t: "italic"
+ - SPELL: "translate('.', '𝜕𝜖𝜗𝜘𝜙𝜚𝜛', '∂εθκφρπ')"
+
+ - "": # 0xf475 - 0xf47b
+ # - t: "italic"
+ - SPELL: "translate('.', '', '∂εθκφρπ')"
+
+ - "𝜜-𝜴": # 0x1d71c - 0x1d734
+ # - t: "bold italic"
+ - T: "lihavoitu" # (en: 'bold', google: 'lihavoitu')
+ - SPELL: "translate('.', '𝜜𝜝𝜞𝜟𝜠𝜡𝜢𝜣𝜤𝜥𝜦𝜧𝜨𝜩𝜪𝜫𝜬𝜭𝜮𝜯𝜰𝜱𝜲𝜳𝜴', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
+
+ - "-": # 0xf47c - 0xf494
+ # - t: "bold italic"
+ - T: "lihavoitu" # (en: 'bold', google: 'lihavoitu')
+ - SPELL: "translate('.', '', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
+
+ - "𝜶-𝝎": # 0x1d736 - 0x1d74e
+ # - t: "bold italic"
+ - T: "lihavoitu" # (en: 'bold', google: 'lihavoitu')
+ - SPELL: "translate('.', '𝜶𝜷𝜸𝜹𝜺𝜻𝜼𝜽𝜾𝜿𝝀𝝁𝝂𝝃𝝄𝝅𝝆𝝇𝝈𝝉𝝊𝝋𝝌𝝍𝝎', 'αβγδεζηθικλμνξοπρςστυφχψω')"
+
+ - "-": # 0xf496 - 0xf4ae
+ # - t: "bold italic"
+ - T: "lihavoitu" # (en: 'bold', google: 'lihavoitu')
+ - SPELL: "translate('.', '', 'αβγδεζηθικλμνξοπρςστυφχψω')"
+
+ - "𝝏𝝐𝝑𝝒𝝓𝝔𝝕": # 0x1d74f - 0x1d755
+ # - t: "bold italic"
+ - T: "lihavoitu" # (en: 'bold', google: 'lihavoitu')
+ - SPELL: "translate('.', '𝝏𝝐𝝑𝝒𝝓𝝔𝝕', '∂εθκφρπ')"
+
+ - "": # 0xf422 - 0xf43a
+ # - t: "bold italic"
+ - T: "lihavoitu" # (en: 'bold', google: 'lihavoitu')
+ - SPELL: "translate('.', '', '∂εθκφρπ')"
+
+ - "𝜵": [T: "lihavoitu kursivoitu nabla"] # 0x1d735 (en: 'bold italic nabla', google: 'rohkea kursivoitu nabla')
+ - "": [T: "lihavoitu kursivoitu nabla"] # 0xf495 (en: 'bold italic nabla', google translation)
+
+ - "𝝖-𝝮": # 0x1d756 - 0x1d76e
+ - T: "lihavoitu" # (en: 'bold', google translation)
+ - SPELL: "translate('.', '𝝖𝝗𝝘𝝙𝝚𝝛𝝜𝝝𝝞𝝟𝝠𝝡𝝢𝝣𝝤𝝥𝝦𝝧𝝨𝝩𝝪𝝫𝝬𝝭𝝮', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
+ - "-": # 0xf4b6 - 0xf4ce
+ - T: "lihavoitu" # (en: 'bold', google translation)
+ - SPELL: "translate('.', '', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
+
+ - "𝝰-𝞈": # 0x1d770 - 0x1d788
+ - T: "lihavoitu" # (en: 'bold', google translation)
+ - SPELL: "translate('.', '𝝰𝝱𝝲𝝳𝝴𝝵𝝶𝝷𝝸𝝹𝝺𝝻𝝼𝝽𝝾𝝿𝞀𝞁𝞂𝞃𝞄𝞅𝞆𝞇𝞈', 'αβγδεζηθικλμνξοπρςστυφχψω')"
+
+ - "-": # 0xf4d0 - 0xf4e8
+ - T: "lihavoitu" # (en: 'bold', google translation)
+ - SPELL: "translate('.', '', 'αβγδεζηθικλμνξοπρςστυφχψω')"
+
+ - "𝞉𝞊𝞋𝞌𝞍𝞎𝞏": # 0x1d789 - 0x1d78f
+ - T: "lihavoitu" # (en: 'bold', google translation)
+ - SPELL: "translate('.', '𝞉𝞊𝞋𝞌𝞍𝞎𝞏', '∂εθκφρπ')"
+
+ - "": # 0xf4e9 - 0xf4ef
+ - T: "lihavoitu" # (en: 'bold', google translation)
+ - SPELL: "translate('.', '', '∂εθκφρπ')"
+
+ - "": [T: "lihavoitu nabla"] # 0xf4cf (en: 'bold nabla', google translation)
+ - "𝝯": [T: "lihavoitu nabla"] # 0x1d76f (en: 'bold nabla')
+
+ - "𝞐-𝞨": # 0x1d790 - 0x1d7a8
+ # - t: "bold italic"
+ - T: "lihavoitu" # (en: 'bold', google: 'lihavoitu')
+ - SPELL: "translate('.', '𝞐𝞑𝞒𝞓𝞔𝞕𝞖𝞗𝞘𝞙𝞚𝞛𝞜𝞝𝞞𝞟𝞠𝞡𝞢𝞣𝞤𝞥𝞦𝞧𝞨', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
+
+ - "-": # 0xf4f0 - 0xf508
+ # - t: "bold italic"
+ - T: "lihavoitu" # (en: 'bold', google: 'lihavoitu')
+ - SPELL: "translate('.', '', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
+
+ - "𝞪-𝟂": # 0x1d7aa - 0x1d7c2
+ # - t: "bold italic"
+ - T: "lihavoitu" # (en: 'bold', google: 'lihavoitu')
+ - SPELL: "translate('.', '𝞪𝞫𝞬𝞭𝞮𝞯𝞰𝞱𝞲𝞳𝞴𝞵𝞶𝞷𝞸𝞹𝞺𝞻𝞼𝞽𝞾𝞿𝟀𝟁𝟂', 'αβγδεζηθικλμνξοπρςστυφχψω')"
+
+ - "-": # 0xf50a - 0xf522
+ # - t: "bold italic"
+ - T: "lihavoitu" # (en: 'bold', google: 'lihavoitu')
+ - SPELL: "translate('.', '', 'αβγδεζηθικλμνξοπρςστυφχψω')"
+
+ - "𝟃𝟄𝟅𝟆𝟇𝟈𝟉": # 0x1d7c3 - 0x1d7c9
+ # - t: "bold italic"
+ - T: "lihavoitu" # (en: 'bold', google: 'lihavoitu')
+ - SPELL: "translate('.', '𝟃𝟄𝟅𝟆𝟇𝟈𝟉', '∂εθκφρπ')"
+
+ - "": # 0xf523 - 0xf529
+ # - t: "bold italic"
+ - T: "lihavoitu" # (en: 'bold', google: 'lihavoitu')
+ - SPELL: "translate('.', '', '∂εθκφρπ')"
+
+ - "": [T: "lihavoitu nabla"] # 0xf509 (en: 'bold nabla', google translation)
+ - "𝞩": [T: "lihavoitu nabla"] # 0x1d7a9 (en: 'bold nabla')
+
+ - "": [T: "lihavoitu nolla"] # 0xf52e (en: 'bold zero', google translation)
+ - "𝟎": [T: "lihavoitu nolla"] # 0x1d7ce (en: 'bold zero')
+ - "": [T: "lihavoitu yksi"] # 0xf52f (en: 'bold one', google translation)
+ - "𝟏": [T: "lihavoitu yksi"] # 0x1d7cf (en: 'bold one', google: 'lihavoitu')
+ - "": [T: "lihavoitu kaksi"] # 0xf530 (en: 'bold two', google translation)
+ - "𝟐": [T: "lihavoitu kaksi"] # 0x1d7d0 (en: 'bold two')
+ - "": [T: "lihavoitu kolme"] # 0xf531 (en: 'bold three', google translation)
+ - "𝟑": [T: "lihavoitu kolme"] # 0x1d7d1 (en: 'bold three')
+ - "": [T: "lihavoitu neljä"] # 0xf532 (en: 'bold four', google translation)
+ - "𝟒": [T: "lihavoitu neljä"] # 0x1d7d2 (en: 'bold four', google: 'bold neljä')
+ - "": [T: "lihavoitu viisi"] # 0xf533 (en: 'bold five', google translation)
+ - "𝟓": [T: "lihavoitu viisi"] # 0x1d7d3 (en: 'bold five')
+ - "": [T: "lihavoitu kuusi"] # 0xf534 (en: 'bold six', google translation)
+ - "𝟔": [T: "lihavoitu kuusi"] # 0x1d7d4 (en: 'bold six')
+ - "": [T: "lihavoitu seitsemän"] # 0xf535 (en: 'bold seven', google translation)
+ - "𝟕": [T: "lihavoitu seitsemän"] # 0x1d7d5 (en: 'bold seven', google: 'rohkea seitsemän')
+ - "": [T: "lihavoitu kahdeksan"] # 0xf536 (en: 'bold eight', google translation)
+ - "𝟖": [T: "lihavoitu kahdeksan"] # 0x1d7d6 (en: 'bold eight', google: 'lihavoitu')
+ - "": [T: "lihavoitu yhdeksän"] # 0xf537 (en: 'bold nine', google translation)
+ - "𝟗": [T: "lihavoitu yhdeksän"] # 0x1d7d7 (en: 'bold nine')
+ - "": [T: "nolla"] # 0xf542 (en: 'zero', google translation)
+ - "𝟢": [T: "nolla"] # 0x1d7e2 (en: 'zero')
+ - "": [T: "yksi"] # 0xf543 (en: 'one', google translation)
+ - "𝟣": [T: "yksi"] # 0x1d7e3 (en: 'one')
+ - "": [T: "kaksi"] # 0xf544 (en: 'two', google translation)
+ - "𝟤": [T: "kaksi"] # 0x1d7e4 (en: 'two')
+ - "": [T: "kolme"] # 0xf545 (en: 'three', google translation)
+ - "𝟥": [T: "kolme"] # 0x1d7e5 (en: 'three')
+ - "": [T: "neljä"] # 0xf546 (en: 'four', google translation)
+ - "𝟦": [T: "neljä"] # 0x1d7e6 (en: 'four')
+ - "": [T: "viisi"] # 0xf547 (en: 'five', google translation)
+ - "𝟧": [T: "viisi"] # 0x1d7e7 (en: 'five')
+ - "": [T: "kuusi"] # 0xf548 (en: 'six', google translation)
+ - "𝟨": [T: "kuusi"] # 0x1d7e8 (en: 'six')
+ - "": [T: "seitsemän"] # 0xf549 (en: 'seven', google translation)
+ - "𝟩": [T: "seitsemän"] # 0x1d7e9 (en: 'seven')
+ - "": [T: "kahdeksan"] # 0xf54a (en: 'eight', google translation)
+ - "𝟪": [T: "kahdeksan"] # 0x1d7ea (en: 'eight', google: 'at')
+ - "": [T: "yhdeksän"] # 0xf54b (en: 'nine', google translation)
+ - "𝟫": [T: "yhdeksän"] # 0x1d7eb (en: 'nine')
+ - "": [T: "lihavoitu nolla"] # 0xf54c (en: 'bold zero', google translation)
+ - "𝟬": [T: "lihavoitu nolla"] # 0x1d7ec (en: 'bold zero')
+ - "": [T: "lihavoitu yksi"] # 0xf54d (en: 'bold one', google translation)
+ - "𝟭": [T: "lihavoitu yksi"] # 0x1d7ed (en: 'bold one', google: 'lihavoitu')
+ - "": [T: "lihavoitu kaksi"] # 0xf54e (en: 'bold two', google translation)
+ - "𝟮": [T: "lihavoitu kaksi"] # 0x1d7ee (en: 'bold two')
+ - "": [T: "lihavoitu kolme"] # 0xf54f (en: 'bold three', google translation)
+ - "𝟯": [T: "lihavoitu kolme"] # 0x1d7ef (en: 'bold three')
+ - "": [T: "lihavoitu neljä"] # 0xf550 (en: 'bold four', google translation)
+ - "𝟰": [T: "lihavoitu neljä"] # 0x1d7f0 (en: 'bold four', google: 'bold neljä')
+ - "": [T: "lihavoitu viisi"] # 0xf551 (en: 'bold five', google translation)
+ - "𝟱": [T: "lihavoitu viisi"] # 0x1d7f1 (en: 'bold five')
+ - "": [T: "lihavoitu kuusi"] # 0xf552 (en: 'bold six', google translation)
+ - "𝟲": [T: "lihavoitu kuusi"] # 0x1d7f2 (en: 'bold six')
+ - "": [T: "lihavoitu seitsemän"] # 0xf553 (en: 'bold seven', google translation)
+ - "𝟳": [T: "lihavoitu seitsemän"] # 0x1d7f3 (en: 'bold seven', google: 'rohkea seitsemän')
+ - "": [T: "lihavoitu kahdeksan"] # 0xf554 (en: 'bold eight', google translation)
+ - "𝟴": [T: "lihavoitu kahdeksan"] # 0x1d7f4 (en: 'bold eight', google: 'lihavoitu')
+ - "": [T: "lihavoitu yhdeksän"] # 0xf555 (en: 'bold nine', google translation)
+ - "𝟵": [T: "lihavoitu yhdeksän"] # 0x1d7f5 (en: 'bold nine')
+ - "": [T: "nolla"] # 0xf556 (en: 'zero', google translation)
+ - "𝟶": [T: "nolla"] # 0x1d7f6 (en: 'zero')
+ - "": [T: "yksi"] # 0xf557 (en: 'one', google translation)
+ - "𝟷": [T: "yksi"] # 0x1d7f7 (en: 'one')
+ - "": [T: "kaksi"] # 0xf558 (en: 'two', google translation)
+ - "𝟸": [T: "kaksi"] # 0x1d7f8 (en: 'two')
+ - "": [T: "kolme"] # 0xf559 (en: 'three', google translation)
+ - "𝟹": [T: "kolme"] # 0x1d7f9 (en: 'three')
+ - "": [T: "neljä"] # 0xf55a (en: 'four', google translation)
+ - "𝟺": [T: "neljä"] # 0x1d7fa (en: 'four')
+ - "": [T: "viisi"] # 0xf55b (en: 'five', google translation)
+ - "𝟻": [T: "viisi"] # 0x1d7fb (en: 'five')
+ - "": [T: "kuusi"] # 0xf55c (en: 'six', google translation)
+ - "𝟼": [T: "kuusi"] # 0x1d7fc (en: 'six')
+ - "": [T: "seitsemän"] # 0xf55d (en: 'seven', google translation)
+ - "𝟽": [T: "seitsemän"] # 0x1d7fd (en: 'seven')
+ - "": [T: "kahdeksan"] # 0xf55e (en: 'eight', google translation)
+ - "𝟾": [T: "kahdeksan"] # 0x1d7fe (en: 'eight', google: 'at')
+ - "": [T: "yhdeksän"] # 0xf55f (en: 'nine', google translation)
+ - "𝟿": [T: "yhdeksän"] # 0x1d7ff (en: 'nine')
+ - "": [T: "tuntematon merkki"] # 0xf700 (en: 'unknown character', google translation)
+ - "": [T: "alaoikea ja alavasen kolmio"] # 0xf726 (en: 'lower right and lower left triangles', google translation)
+ - "": [T: "vaakasuora pistekolmikko pidennys"] # 0xf72d (en: 'horizontal ellipsis extender', google translation)
+ - "": [T: "keskiviivan vaakasuora pistekolmikko pidennys"] # 0xf72e (en: 'midline horizontal ellipsis extender', google translation)
+ - "": [T: "radikaali pidennys"] # 0xf8e5 (en: 'radical extender', google translation) # FI: unclear translation, root?
+ - "": [T: "pystysuora nuoli pidennys"] # 0xf8e6 (en: 'vertical arrow extender', google translation)
+ - "": [T: "vaakasuora nuoli pidennys"] # 0xf8e7 (en: 'horizontal arrow extender', google translation)
+ - "": [T: "rekisteröity merkki sans serif"] # 0xf8e8 (en: 'registered sign sans serif', google translation)
+ - "": [T: "tekijänoikeusmerkki sans serif"] # 0xf8e9 (en: 'copyright sign sans serif', google translation)
+ - "": [T: "trademark -merkki sans serif"] # 0xf8ea (en: 'trade mark sign sans serif', google translation)
+ - "": [T: "vasen kaarisulku ylä"] # 0xf8eb (en: 'left paren top', google translation)
+ - "": [T: "vasen kaarisulku pidennys"] # 0xf8ec (en: 'left paren extender', google translation)
+ - "": [T: "vasen kaarisulku ala"] # 0xf8ed (en: 'left paren bottom', google translation)
+ - "": [T: "vasen hakasulku ylä"] # 0xf8ee (en: 'left bracket top', google translation)
+ - "": [T: "vasen hakasulku pidennys"] # 0xf8ef (en: 'left bracket extender', google translation)
+ - "": [T: "vasen hakasulku ala"] # 0xf8f0 (en: 'left bracket bottom', google translation)
+ - "": [T: "vasen hakasulku ylä"] # 0xf8f1 (en: 'left brace top', google translation)
+ - "": [T: "vasen aaltosulku keski"] # 0xf8f2 (en: 'left brace mid', google translation)
+ - "": [T: "vasen aaltosulku ala"] # 0xf8f3 (en: 'left brace bottom', google translation)
+ - "": [T: "aaltosulku pidennys"] # 0xf8f4 (en: 'brace extender', google translation)
+ - "": [T: "integraali pidennys"] # 0xf8f5 (en: 'integral extender', google translation)
+ - "": [T: "oikea kaarisulku ylä"] # 0xf8f6 (en: 'right paren top', google translation)
+ - "": [T: "oikea kaarisulku pidennys"] # 0xf8f7 (en: 'right paren extender', google translation)
+ - "": [T: "oikea kaarisulku ala"] # 0xf8f8 (en: 'right paren bottom', google translation)
+ - "": [T: "oikea hakasulku ylä"] # 0xf8f9 (en: 'right bracket top', google translation)
+ - "": [T: "oikea hakasulku pidennys"] # 0xf8fa (en: 'right bracket extender', google translation)
+ - "": [T: "oikea hakasulku ala"] # 0xf8fb (en: 'right bracket bottom', google translation)
+ - "": [T: "oikea aaltosulku ylä"] # 0xf8fc (en: 'right brace top', google translation)
+ - "": [T: "oikea aaltosulku keski"] # 0xf8fd (en: 'right brace mid', google translation)
+ - "": [T: "oikea aaltosulku ala"] # 0xf8fe (en: 'right brace bottom', google translation)
+ - "": [T: "apple-logo"] # 0xf8ff (en: 'apple logo', google translation)
+ - "ff": [T: "f f"] # 0xfb00 (en: 'ff', google: 'ff')
+ - "fi": [T: "f i"] # 0xfb01 (en: 'fi', google: 'fi')
+ - "fl": [T: "f l"] # 0xfb02 (en: 'fl', google: 'fl')
+ - "ffi": [T: "f f i"] # 0xfb03 (en: 'ffi', google: 'ffi')
+ - "ffl": [T: "f f l"] # 0xfb04 (en: 'ffl', google: 'ffl')
+ - "ſt": [T: "f t"] # 0xfb05 (google translation)
+ - "st": [T: "s t"] # 0xfb06 (google translation)
+ - "︠": [T: "ligatuuri vasen puolikas koriste"] # 0xfe20 (en: 'ligature left half embellishment', google translation) # FI: : translation unclear
+ - "︡": [T: "ligatuuri oikea puolikas koriste"] # 0xfe21 (en: 'ligature right half embellishment', google translation) # FI: : translation unclear
+ - "︢": [T: "kaksoistilde vasen puolikas koriste"] # 0xfe22 (en: 'double tilde left half embellishment', google translation) # FI: : translation unclear
+ - "︣": [T: "kaksoistilde oikea puolikas koriste"] # 0xfe23 (en: 'double tilde right half embellishment', google translation)
+ - "︤": [T: "pituusmerkki vasen puolikas koriste"] # 0xfe24 (en: 'macron left half embellishment', google translation)
+ - "︥": [T: "pituusmerkki oikea puolikas koriste"] # 0xfe25 (en: 'macron right half embellishment', google translation)
+ - "︦": [T: "yhdistävä pituusmerkkikoriste"] # 0xfe26 (en: 'conjoining macron embellishment', google translation)
+ - "︵": [T: "yläsulku"] # 0xfe35 (google: 'yli sulku')
+ - "︶": [T: "alasulku"] # 0xfe36 (google: 'suluissa')
+ - "︷": [T: "yläaaltosulku"] # 0xfe37 (en: 'over brace', google: 'yli ahdin')
+ - "︸": [T: "ala-aaltosulku"] # 0xfe38 (en: 'under brace', google: 'ahdin alla')
+ - "︿": [T: "yläkulmasulku"] # 0xfe3f (google: 'yli kulmakiinnike')
+ - "﹀": [T: "alakulmasulku"] # 0xfe40 (google: 'kulmakiinnikkeessä')
+ - "﹨": [T: "kokonaislukujen jakomerkki"] # 0xfe68 (google: 'kokonaislukujako')
+ - "": [T: "tuntematon tai puuttuva objekti"] # 0xfffc (en: 'unknown or missing object', google translation)
+ - "�": [T: "tuntematon tai puuttuva merkki"] # 0xfffd (en: 'unknown or missing character')
diff --git a/Rules/Languages/fi/unicode.yaml b/Rules/Languages/fi/unicode.yaml
index f5bfc53c9..8e5d02aa4 100644
--- a/Rules/Languages/fi/unicode.yaml
+++ b/Rules/Languages/fi/unicode.yaml
@@ -1,482 +1,482 @@
----
- - "a-z":
- - test:
- if: "$TTS='none'"
- then: [T: "."] # (en: '.', google translation)
- else: [SPELL: "'.'"] # Meaning?
-
- # Capital letters are a little tricky: users can pick their favorite word (something that was requested) and
- # screen readers have options to use pitch changes or beeps instead of or in addition to say "cap"
- # Also, if a user can see the screen, they probably don't need to hear "cap", but if they specified an override, they must want to hear the override.
-
- - "A-Z":
- - 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: "iso"] # (en: 'cap', google translation)
- else: [x: "$SpeechOverrides_CapitalLetters"]
- - pitch:
- value: "$CapitalLetters_Pitch"
- # note: processing of ranges converts '.' into the character, so it needs to be in quotes below
- # note: is there a need for Å/Ä/Ö here?
- replace: [SPELL: "translate('.', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"]
-
- - "0-9": [T: "."] # (en: '.', google: 'A')
-
- - "!": # 0x21
- - test:
- if: "ancestor-or-self::*[contains(@data-intent-property, ':structure:')]"
- then_test:
- if: "$Verbosity = 'Terse'"
- then: [T: "huuto"] # 0x21 (en: 'bang', google translation)
- else: [T: "huutomerkki"] # 0x21 (en: 'exclamation point', google: 'huutomerkki'); might be obsolete
- else: [T: "kertoma"] # 0x21 (en: 'factorial', google: 'tekijä')
-
- - "\"": [T: "lainaus"] # 0x22 (en: 'quotation mark', google: 'lainausmerkki'); could also be "sitaatti"
- - "#": [T: "numero"] # 0x23 (en: 'number', google: 'määrä'); could also be "ruutu" but "ristikkomerkki" is more clear
- - "$": [T: "dollaria"] # 0x24 (en: 'dollars', google: 'dollarit')
- - "%": [T: "prosenttia"] # 0x25 (en: 'percent')
- - "&": [T: "et-merkki"] # 0x26 (en: 'ampersand', google: 'ampersand')
- - "'": [T: "heittomerkki"] # 0x27 (en: 'apostrophe')
- - "(": # 0x28
- - test:
- if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
- then_test:
- if: "$Verbosity='Terse'"
- then: [T: "auki"] # 0x28 (en: 'open', google translation)
- else: [T: "auki sulku"] # 0x28 (en: 'open paren', google: 'avoin sulku')
- else: [T: "vasen sulku"] # 0x28 (en: 'left paren', google: 'vasen sulku')
- - ")": # 0x29
- - test:
- if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
- then_test:
- if: "$Verbosity='Terse'"
- then: [T: "kiinni"] # 0x29 (en: 'close', google translation)
- else: [T: "kiinni sulku"] # 0x29 (en: 'close paren', google: 'sulje sulku')
- else: [T: "oikea sulku"] # 0x29 (en: 'right paren', google: 'oikea sulku')
-
- - "*": # 0x2a
- test:
- if: "parent::*[name(.)='msup' or name(.)='msubsup' or name(.)='skip-super']"
- then: [T: "tähti"] # 0x2a (en: 'star', google translation)
- else: [T: "kertaa"] # 0x2a (en: 'times', google: 'ajat')
- - "+": [T: "plus"] # 0x2b
- - ",": # 0x2c
- # the following deals with the interaction of "," with "…" which sometimes wants the ',' to be silent
- # that this test is here and not with "…" is not ideal, but seems simplest
- test:
- if:
- - "$SpeechStyle != 'ClearSpeak' or $ClearSpeak_Ellipses = 'Auto' or "
- # must be ClearSpeak and $ClearSpeak_Ellipses = 'AndSoOn'
- # speak "comma" when not adjacent to '…'
- - "( following-sibling::*[1][text()!= '…'] and preceding-sibling::*[1][text()!='…'] ) or "
- # except if expression starts with '…'
- - "../*[1][.='…'] "
- then:
- - T: "pilkku" # (en: 'comma', google translation)
- - test:
- if: "$Verbosity != Terse"
- then: [pause: short]
- # else silent
-
- - "-": [T: "miinus"] # 0x2d (en: 'minus')
- - ".": # 0x2e
- - test:
- if: "parent::*[1][self::m:mn]"
- then: [T: "piste"] # (en: 'point', google translation)
- else: [T: "piste"] # (en: 'dot'); possibly obsolete if-else
- - "/": [T: "jaettuna"] # 0x2f (en: 'divided by', google: 'jaettuna')
- - ":": [T: "kaksoispiste"] # 0x3a (en: 'colon')
- - ";": [T: "puolipiste"] # 0x3b (en: 'semicolon')
- - "<": # 0x3c
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "pienempi kuin" # (en: 'less than', google: 'vähemmän kuin')
- - "=": # 0x3d
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on yhtä suuri kuin"] # (en: 'is equal to', google translation)
- else: [T: "on"] # (en: 'equals', google: 'yhtä suuri')
-
- - ">": # 0x3e
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "suurempi kuin" # (en: 'greater than', google: 'suurempi kuin')
- - "?": [T: "kysymysmerkki"] # 0x3f (en: 'question mark')
- - "@": [T: "ät-merkki"] # 0x40 (en: 'at sign', google: 'kylttiä')
- - "[": # 0x5b
- - test:
- if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
- then: [T: "auki hakasulku"] # (en: 'open bracket', google translation)
- else: [T: "vasen hakasulku"] # (en: 'left bracket', google: 'vasen kiinnike')
- - "\\": [T: "kenoviiva"] # 0x5c (en: 'back slash', google: 'takaviiva')
- - "]": # 0x5d
- - test:
- if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
- then: [T: "kiinni hakasulku"] # (en: 'close bracket', google translation)
- else: [T: "oikea hakasulku"] # (en: 'right bracket', google: 'oikea kiinnike')
- - "^": [T: "hattu"] # 0x5e (en: 'hat', google: 'hattu')
- - "_": [T: "alaviiva"] # 0x5f (en: 'under bar', google: 'baarin alla')
- - "`": [T: "gravis"] # 0x60 (en: 'grave', google: 'hauta') # FI: not sure
- - "{": # 0x7b
- - test:
- if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
- then: [T: "auki aaltosulku"] # (en: 'open brace', google translation)
- else: [T: "vasen aaltosulku"] # (en: 'left brace', google: 'vasen ahdin')
- - "|": # 0x7c
- # 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)
- replace:
- - test:
- - if: "$SpeechStyle != 'ClearSpeak'"
- then_test:
- - if: "$DefaultToGiven"
- then: [T: "ehdolla"]
- - else_if: "preceding-sibling::*[1][self::m:mn and not(contains(., $DecimalSeparators))] and
- following-sibling::*[1][self::m:mn and not(contains(., $DecimalSeparators))]"
- then: [T: "jakaa"]
- else: [T: "pystysuora viiva"]
- - else_if: "not(preceding-sibling::*) or not(following-sibling::*)"
- then: [T: "pystysuora viiva"]
- - else_if: "$ClearSpeak_VerticalLine = 'SuchThat'"
- then: [T: "siten että"]
- - else_if: "$ClearSpeak_VerticalLine = 'Given' or $DefaultToGiven"
- then: [T: "ehdolla"]
- - else: [T: "jakaa"]
-
- - "}": # 0x7d
- - test:
- if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
- then: [T: "kiinni aaltosulku"] # (en: 'close brace', google translation)
- else: [T: "oikea aaltosulku"] # (en: 'right brace', google: 'oikea ahdin')
-
- - "~": [T: "tilde"] # 0x7e
- - " ": # 0xa0
- - test:
- if: "@data-empty-in-2D and ../../../../*[name(.)!='system-of-equations']"
- then: [T: "tyhjä"] # want to say something for fraction (etc) with empty child (en: 'empty', google translation)
- else: [T: ""]
-
- - "¬": [T: "ei"] # 0xac (en: 'not', google: 'ei') # Terse logic?
- - "°": [T: "astetta"] # 0xb0 (en: 'degrees', google: 'asteet')
- - "±": [T: "plus-miinus"] # 0xb1 (en: 'plus or minus', google: 'plus tai miinus')
- - "´": [T: "akuutti"] # 0xb4 (en: 'acute')
- - "·": # 0xB7
- - test:
- if: "$SpeechStyle != 'ClearSpeak' or $ClearSpeak_MultSymbolDot = 'Auto'"
- then: [T: "kertaa"] # (en: 'times', google translation)
- else: [T: "piste"] # (en: 'dot', google: 'piste')
- - "×": # 0xd7
- - test:
- if: "$SpeechStyle != 'ClearSpeak' or $ClearSpeak_MultSymbolX = 'Auto'"
- then: [T: "kertaa"] # (en: 'times', google translation)
- else_test:
- if: $ClearSpeak_MultSymbolX = 'By'
- then: [T: "kertaa"] # (en: 2 'by' 2 matrice) fi: (2 kertaa 2 matriisi) translator's note
- else: [T: "risti"] # (en: 'cross', google: 'ylittää')
- - "÷": [T: "jaettuna"] # 0xf7 (en: 'divided by')
- - "̀": [T: "gravis korostus"] # 0x300 (en: 'grave accent embellishment', google: 'vakava korostuskoriste')
- - "́": [T: "akuutti korostus"] # 0x301 (en: 'acute accent embellishment', google: 'akuutti korostuskoriste')
- - "̂": [T: "sirkumfleksi korostus"] # 0x302 (en: 'circumflex accent embellishment', google: 'ympyräkorotuskoriste')
- - "̃": [T: "tilde"] # 0x303 (en: 'tilde embellishment', google: 'tilde -koriste')
- - "̄": [T: "pituusmerkki"] # 0x304 (en: 'macron embellishment', google: 'macronin koriste')
- - "̅": [T: "yläviiva"] # 0x305 (en: 'overbar embellishment', google: 'ylipalkin koriste')
- - "̆": [T: "lyhyysmerkki"] # 0x306 (en: 'breve', google: 'breve')
- - "̇": [T: "piste"] # 0x307 (en: 'dot above embellishment', google: 'piste koristelun yläpuolella')
-
- # Note: ClearSpeak has pref TriangleSymbol for "Δ", but that is wrong
- - "Α-Ω":
- - 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: "iso"] # (en: 'cap', google translation)
- else: [x: "$SpeechOverrides_CapitalLetters"]
- - pitch:
- value: "$CapitalLetters_Pitch"
- # note: processing of ranges converts '.' into the character, so it needs to be in quotes below
- replace: [SPELL: "translate('.', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ', 'αβγδεζηθικλμνξοπρςστυφχψω')"]
-
- - "α": [T: "alfa"] # 0x3b1 (en: 'alpha')
- - "β": [T: "beeta"] # 0x3b2 (en: 'beta')
- - "γ": [T: "gamma"] # 0x3b3
- - "δ": [T: "delta"] # 0x3b4
- - "ε": [T: "epsilon"] # 0x3b5
- - "ζ": [T: "zeeta"] # 0x3b6 (en: 'zeta', google: 'zeta')
- - "η": [T: "eeta"] # 0x3b7 (en: 'eta', google: 'eta')
- - "θ": [T: "theeta"] # 0x3b8 (en: 'theta', google: 'theta')
- - "ι": [T: "ioota"] # 0x3b9 (en: 'iota', google: 'iota')
- - "κ": [T: "kappa"] # 0x3ba
- - "λ": [T: "lambda"] # 0x3bb
- - "μ": [T: "myy"] # 0x3bc (en: 'mu', google: 'mu')
- - "ν": [T: "nyy"] # 0x3bd (en: 'nu', google: 'nu')
- - "ξ": [T: "ksii"] # 0x3be (en: 'zai', google: 'zai')
- - "ο": [T: "omikron"] # 0x3bf (en: 'omicron', google: 'omicron')
- - "π": [T: "pii"] # 0x3c0 (en: 'pi', google: 'pi')
- - "ρ": [T: "rhoo"] # 0x3c1 (en: 'rho', google: 'rho')
- - "ς": [T: "loppu-sigma"] # 0x3c2 (en: 'final sigma', google: 'viimeinen sigma')
- - "σ": [T: "sigma"] # 0x3c3
- - "τ": [T: "tau"] # 0x3c4
- - "υ": [T: "ypsilon"] # 0x3c5 (en: 'upsilon', google: 'upsilon')
- - "φ": [T: "fii"] # 0x3c6 (en: 'phi', google: 'phi')
- - "χ": [T: "khii"] # 0x3c7 (en: 'chi', google: 'chi')
- - "ψ": [T: "psii"] # 0x3c8 (en: 'psi', google: 'psi')
- - "ω": [T: "oomega"] # 0x3c9 (en: 'omega', google: 'omega')
- - "ϕ": [T: "suora fii"] # 0x3d5 (en: 'phi', google: 'phi')
- - "ϖ": [T: "kreikkalainen pii"] # 0x3d6 (en: 'pi', google: 'pi')
- - "ϵ": [T: "epsilon"] # 0x3f5
- - "϶": [T: "käännetty epsilon"] # 0x3f6 (en: 'reversed epsilon', google: 'kääntynyt epsilon')
-
- - "": # 0x2061
- - test:
- # skip saying "of" when Terse and a trig function, when it is a shape (does this happen?), or we are in :literal mode
- # log is treated differently than trig functions
- # Note: this differs from 'en' because the ClearSpeak and default rules are different from 'en'
- if: "not(
- ( $Verbosity='Terse' or ($SpeechStyle = 'ClearSpeak' and IsNode(following-sibling::*[1],'simple')) and
- preceding-sibling::*[1][IfThenElse($SpeechStyle='ClearSpeak',
- IsInDefinition(., 'ClearSpeakTrigFunctionNames'),
- IsInDefinition(., 'TrigFunctionNames') )]
- ) or
- preceding-sibling::*[1][IsInDefinition(., 'GeometryShapes')] or
- (@data-changed='added' and ancestor-or-self::*[contains(@data-intent-property, ':literal:')])
- )"
- then: [T: "arvolla"]
- - "": [T: ""] # 0x2062 # invisible 'times', fi: should this have a value?
- - "": [T: ""] # 0x2063 # invisible 'separator', fi: should this have a value?
- - "": [T: "ja"] # 0x2064 (en: 'and', google translation)
- - "ℂℕℚℝℤ": # here we rely on this running through the table again to speak "cap xxx"
- - T: "kaksoisviivainen" # (en: 'double-struck', google: 'kaksinkertainen') # not satisfied
- - SPELL: "translate('.', 'ℂℕℚℝℤ', 'CNQRZ')"
-
- - "℃": [T: "astetta celsiusta"] # 0x2103 (en: 'degrees celsius', google: 'celsius astetta')
- - "ℋℛℓ": # 0x210b
- - T: "skripti" # (en: 'script', google: 'käsikirjoitus') # not satisfied
- - SPELL: "translate('.', 'ℋℛℓ', 'HRl')"
- - "ℜ": # 0x211c
- - T: "fraktuura iso r" # (en: 'fraktur', google: 'fraktur')
- - SPELL: "'R'"
-
- - "ⅆⅇⅈⅉ": # 0x2146-9
- - T: "kaksoisviivainen kursiivi" # (en: 'double-struck italic', google: 'kaksinkertainen kursivoitu')
- - SPELL: "translate('.', 'ⅆⅇⅈⅉ', 'deij')"
-
- - "∥": # 0x2225
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "yhdensuuntainen" # (en: 'parallel to', google: 'samansuuntainen')
- - "∦": # 0x2226
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: ""] # (en: 'is', google translation)
- - T: "ei ole yhdensuuntainen" # (en: 'not parallel to', google: 'ei rinnakkain')
- - "≤": # 0x2264
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "pienempi tai yhtä suuri kuin"
- - "≥": # 0x2265
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "suurempi tai yhtä suuri kuin" # (en: 'greater than or equal to', google: 'suurempi tai yhtä suuri kuin')
-
- # --- restored complex short definitions (prefer over unicode-full) ---
- - "…": # 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: "piste piste piste"] # (google translation)
- else_test: # must have $ClearSpeak_Ellipses = 'AndSoOn'
- if: "count(following-sibling::*) = 0"
- then: [T: "ja niin edelleen"] # (en: 'and so on', google translation)
- else: [T: "ja niin edelleen kunnes"] # (en: 'and so on up to', google: 'ja niin edelleen'); possibly obsolete if-else
- - "→": # 0x2192
- - test:
- if: "ancestor::*[2][self::m:limit]"
- then: [T: "lähestyy"] # (en: 'approaches', google translation)
- else: [T: "nuoli oikealle"] # (en: 'right arrow', google: 'oikea nuoli')
- - "∂": # 0x2202
- - test:
- if: "$Verbosity='Terse'"
- then: [T: "osittaisderivaatta"] # (en: 'partial', google translation) # might be other possibilities
- else: [T: "osittaisderivaatta"] # (en: 'partial derivative', google: 'osittainen johdannainen')
- - "∆": # 0x2206
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: ""] # (google translation)
- - T: "Laplacen operaattori" # (en: 'laplacian of', google: 'laplacian of')
- - "∈": # 0x2208 # fi: some elements (pun) of this translation has to be tested
- - test:
- if: "$SpeechStyle != 'ClearSpeak'"
- then: [T: "kuuluu"] # (en: 'an element of', google translation)
- # 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
- then_test:
- - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'In'
- then: [T: "kuuluu"] # (en: 'in', google translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'Member'
- then: [T: "kuuluu"] # (en: 'member of', google translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
- then: [T: "kuuluu"] # (en: 'element of', google translation)
- - else: [T: "kuuluu joukkoon"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'belonging to', google: 'kuulua')
- else_test:
- - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'Member'
- then: [T: "kuuluu"] # (en: 'is a member of', google translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
- then: [T: "kuuluu"] # (en: 'is an element of', google translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'In'
- then: [T: "kuuluu"] # (en: 'is in', google translation)
- - else: [T: "kuuluu joukkoon"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'belongs to', google: 'kuuluu')
- - "∉": # 0x2209 # fi: some elements (pun) of this translation has to be tested
- # rule is identical to 0x2208
- - test:
- if: "$SpeechStyle != 'ClearSpeak'"
- then: [T: "ei kuulu"] # (en: 'is not an element of', google translation)
- # 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
- then_test:
- - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'In'
- then: [T: "ei kuulu"] # (en: 'not in', google translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'Member'
- then: [T: "ei kuulu"] # (en: 'not member of', google translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
- then: [T: "ei kuulu"] # (en: 'not element of', google translation)
- - else: [T: "ei kuulu joukkoon"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'not belonging to', google: 'ei kuulu')
- else_test:
- - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'Member'
- then: [T: "ei kuulu"] # (en: 'is not a member of', google translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
- then: [T: "ei kuulu"] # (en: 'is not an element of', google translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'In'
- then: [T: "ei ole joukossa"] # (en: 'is not in', google translation)
- - else: [T: "ei kuulu joukkoon"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'does not belong to', google: 'ei kuulu')
- - "∊": # 0x220a # fi: some elements (pun) of this translation has to be tested
- - test:
- if: "$SpeechStyle != 'ClearSpeak'"
- then: [T: "kuuluu"] # (en: 'is an element of', google translation)
- # 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
- then_test:
- - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'In'
- then: [T: "kuuluu"] # (en: 'in', google translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'Member'
- then: [T: "kuuluu"] # (en: 'member of', google translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
- then: [T: "kuuluu"] # (en: 'element of', google translation)
- - else: [T: "kuuluu joukkoon"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'belonging to', google: 'kuulua')
- else_test:
- - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'Member'
- then: [T: "kuuluu"] # (en: 'is a member of', google translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
- then: [T: "kuuluu"] # (en: 'is an element of', google translation)
- - else_if: $ClearSpeak_SetMemberSymbol = 'In'
- then: [T: "kuuluu"] # (en: 'is in', google translation)
- - else: [T: "kuuluu joukkoon"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'belongs to', google: 'kuuluu')
- - "√": # 0x221a
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: ""] # (google translation)
- - T: "neliöjuuri" # (en: 'square root of')
- - "∝": # 0x221d
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "verrannollinen" # (en: 'proportional to', google: 'suhteessa')
- - "∶": # 0x2236
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: ""] # (en: 'is', google translation)
- - T: "suhde" # (en: 'to', google: 'to')
- - "∾": # 0x223e
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: ""] # (en: 'is', google translation)
- - T: "käännetty kaatunut S-kirjain" # (en: 'most positive', google: 'positiivisin') # fi: no good translation
- - "≠": # 0x2260
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: ""] # (en: 'is', google translation)
- - T: "ei ole yhtä suuri kuin" # (en: 'not equal to', google: 'ei yhtä suuri kuin')
- - "≡": # 0x2261
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is', google translation)
- - T: "identtinen" # (en: 'identical to', google: 'yhtäläinen')
- - "⊂": # 0x2282
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is a', google translation)
- - T: "osajoukko" # (en: 'subset of', google: 'alajoukko')
- - "⊃": # 0x2283
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is a', google translation)
- - T: "ylijoukko" # (en: 'superset of', google: 'superset of') # fi: not common, source for Finnish: https://fi.wikibooks.org/wiki/Diskreetti_matematiikka/Joukko-oppi
- - "⊄": # 0x2284
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: ""] # (en: 'is', google translation)
- - T: "ei ole osajoukko" # (en: 'not a subset of', google: 'ei osa')
- - "⊅": # 0x2285
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: ""] # (en: 'is', google translation)
- - T: "ei ole ylijoukko" # (en: 'not a superset of', google: 'ei ylimääräistä') # fi: not common, source for Finnish: https://fi.wikibooks.org/wiki/Diskreetti_matematiikka/Joukko-oppi
- - "⊆": # 0x2286
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is a', google translation)
- - T: "osajoukko tai yhtä kuin" # (en: 'subset of or equal to', google: 'alajoukko tai yhtä suuri kuin')
- - "⊇": # 0x2287
- - test:
- if: "$Verbosity!='Terse'"
- then: [T: "on"] # (en: 'is a', google translation)
- - T: "ylijoukko tai yhtä kuin" # (en: 'superset of or equal to', google: 'superset tai yhtä suuri kuin')
-
- # --- restored short definitions that differ from unicode-full ---
- - "―": [T: "vaakaviiva"] # 0x2015 (en: 'horizontal bar', google: 'vaakasuora viiva')
- - "′": [T: "pilkku"] # 0x2032 (en: 'prime', google: 'ensisijainen')
- - "″": [T: "pilkku pilkku"] # 0x2033 (en: 'double prime', google: 'kaksinkertainen prime')
- - "‴": [T: "pilkku pilkku pilkku"] # 0x2034 (en: 'triple prime', google: 'kolminkertainen')
- - "K": [T: "astetta kelviniä"] # 0x212a (en: 'kelvin', google: 'kelvin')
- - "⇒": [T: "kaksiviivainen nuoli oikealle"] # 0x21d2 (en: 'rightwards double arrow', google: 'oikealla kaksinkertaisella nuolella')
- - "∀": [T: "kaikille"] # 0x2200 (en: 'for all')
- - "∘": [T: "yhdistetty"] # 0x2218 (en: 'composed with', google: 'koostuu') #fi: is this composite function?
- - "∧": [T: "looginen ja"] # 0x2227 (en: 'and', google: 'ja') # should there be logic for "logical and" and "logical or"?
- - "∨": [T: "looginen tai"] # 0x2228 (en: 'or', google: 'tai')
- - "∪": [T: "yhdiste"] # 0x222a (en: 'union', google: 'liitto')
- - "∮": [T: "suljettu polkuintegraali"] # 0x222e (en: 'contour integral', google: 'muoto -integraali')
- - "∷": [T: "kuten"] # 0x2237 (en: 'as', google: 'kuten')
- - "∼": [T: "jakautunut"] # 0x223c (en: 'varies with', google: 'vaihtelee')
- - "∽": [T: "käännetty tilde"] # 0x223d (en: 'reversed tilde', google: 'kääntynyt tilde')
- - "∿": [T: "sinikäyrä"] # 0x223f (en: 'sine wave', google: 'siniaalto')
- - "≦": [T: "pienempi tai yhtä suuri kuin"] # 0x2266 (en: 'less than over equal to', google: 'vähemmän kuin yli yhtä suuri kuin') # based on https://jkorpela.fi/merkkien-nimet.html#, the meaning is the same as with =<
- - "≧": [T: "suurempi tai yhtä suuri kuin"] # 0x2267 (en: 'greater than over equal to', google: 'suurempi kuin yli yhtä suuri kuin')
+---
+ - "a-z":
+ - test:
+ if: "$TTS='none'"
+ then: [T: "."] # (en: '.', google translation)
+ else: [SPELL: "'.'"] # Meaning?
+
+ # Capital letters are a little tricky: users can pick their favorite word (something that was requested) and
+ # screen readers have options to use pitch changes or beeps instead of or in addition to say "cap"
+ # Also, if a user can see the screen, they probably don't need to hear "cap", but if they specified an override, they must want to hear the override.
+
+ - "A-Z":
+ - 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: "iso"] # (en: 'cap', google translation)
+ else: [x: "$SpeechOverrides_CapitalLetters"]
+ - pitch:
+ value: "$CapitalLetters_Pitch"
+ # note: processing of ranges converts '.' into the character, so it needs to be in quotes below
+ # note: is there a need for Å/Ä/Ö here?
+ replace: [SPELL: "translate('.', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"]
+
+ - "0-9": [T: "."] # (en: '.', google: 'A')
+
+ - "!": # 0x21
+ - test:
+ if: "ancestor-or-self::*[contains(@data-intent-property, ':structure:')]"
+ then_test:
+ if: "$Verbosity = 'Terse'"
+ then: [T: "huuto"] # 0x21 (en: 'bang', google translation)
+ else: [T: "huutomerkki"] # 0x21 (en: 'exclamation point', google: 'huutomerkki'); might be obsolete
+ else: [T: "kertoma"] # 0x21 (en: 'factorial', google: 'tekijä')
+
+ - "\"": [T: "lainaus"] # 0x22 (en: 'quotation mark', google: 'lainausmerkki'); could also be "sitaatti"
+ - "#": [T: "numero"] # 0x23 (en: 'number', google: 'määrä'); could also be "ruutu" but "ristikkomerkki" is more clear
+ - "$": [T: "dollaria"] # 0x24 (en: 'dollars', google: 'dollarit')
+ - "%": [T: "prosenttia"] # 0x25 (en: 'percent')
+ - "&": [T: "et-merkki"] # 0x26 (en: 'ampersand', google: 'ampersand')
+ - "'": [T: "heittomerkki"] # 0x27 (en: 'apostrophe')
+ - "(": # 0x28
+ - test:
+ if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
+ then_test:
+ if: "$Verbosity='Terse'"
+ then: [T: "auki"] # 0x28 (en: 'open', google translation)
+ else: [T: "auki sulku"] # 0x28 (en: 'open paren', google: 'avoin sulku')
+ else: [T: "vasen sulku"] # 0x28 (en: 'left paren', google: 'vasen sulku')
+ - ")": # 0x29
+ - test:
+ if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
+ then_test:
+ if: "$Verbosity='Terse'"
+ then: [T: "kiinni"] # 0x29 (en: 'close', google translation)
+ else: [T: "kiinni sulku"] # 0x29 (en: 'close paren', google: 'sulje sulku')
+ else: [T: "oikea sulku"] # 0x29 (en: 'right paren', google: 'oikea sulku')
+
+ - "*": # 0x2a
+ test:
+ if: "parent::*[name(.)='msup' or name(.)='msubsup' or name(.)='skip-super']"
+ then: [T: "tähti"] # 0x2a (en: 'star', google translation)
+ else: [T: "kertaa"] # 0x2a (en: 'times', google: 'ajat')
+ - "+": [T: "plus"] # 0x2b
+ - ",": # 0x2c
+ # the following deals with the interaction of "," with "…" which sometimes wants the ',' to be silent
+ # that this test is here and not with "…" is not ideal, but seems simplest
+ test:
+ if:
+ - "$SpeechStyle != 'ClearSpeak' or $ClearSpeak_Ellipses = 'Auto' or "
+ # must be ClearSpeak and $ClearSpeak_Ellipses = 'AndSoOn'
+ # speak "comma" when not adjacent to '…'
+ - "( following-sibling::*[1][text()!= '…'] and preceding-sibling::*[1][text()!='…'] ) or "
+ # except if expression starts with '…'
+ - "../*[1][.='…'] "
+ then:
+ - T: "pilkku" # (en: 'comma', google translation)
+ - test:
+ if: "$Verbosity != Terse"
+ then: [pause: short]
+ # else silent
+
+ - "-": [T: "miinus"] # 0x2d (en: 'minus')
+ - ".": # 0x2e
+ - test:
+ if: "parent::*[1][self::m:mn]"
+ then: [T: "piste"] # (en: 'point', google translation)
+ else: [T: "piste"] # (en: 'dot'); possibly obsolete if-else
+ - "/": [T: "jaettuna"] # 0x2f (en: 'divided by', google: 'jaettuna')
+ - ":": [T: "kaksoispiste"] # 0x3a (en: 'colon')
+ - ";": [T: "puolipiste"] # 0x3b (en: 'semicolon')
+ - "<": # 0x3c
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "pienempi kuin" # (en: 'less than', google: 'vähemmän kuin')
+ - "=": # 0x3d
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on yhtä suuri kuin"] # (en: 'is equal to', google translation)
+ else: [T: "on"] # (en: 'equals', google: 'yhtä suuri')
+
+ - ">": # 0x3e
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "suurempi kuin" # (en: 'greater than', google: 'suurempi kuin')
+ - "?": [T: "kysymysmerkki"] # 0x3f (en: 'question mark')
+ - "@": [T: "ät-merkki"] # 0x40 (en: 'at sign', google: 'kylttiä')
+ - "[": # 0x5b
+ - test:
+ if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
+ then: [T: "auki hakasulku"] # (en: 'open bracket', google translation)
+ else: [T: "vasen hakasulku"] # (en: 'left bracket', google: 'vasen kiinnike')
+ - "\\": [T: "kenoviiva"] # 0x5c (en: 'back slash', google: 'takaviiva')
+ - "]": # 0x5d
+ - test:
+ if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
+ then: [T: "kiinni hakasulku"] # (en: 'close bracket', google translation)
+ else: [T: "oikea hakasulku"] # (en: 'right bracket', google: 'oikea kiinnike')
+ - "^": [T: "hattu"] # 0x5e (en: 'hat', google: 'hattu')
+ - "_": [T: "alaviiva"] # 0x5f (en: 'under bar', google: 'baarin alla')
+ - "`": [T: "gravis"] # 0x60 (en: 'grave', google: 'hauta') # FI: not sure
+ - "{": # 0x7b
+ - test:
+ if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
+ then: [T: "auki aaltosulku"] # (en: 'open brace', google translation)
+ else: [T: "vasen aaltosulku"] # (en: 'left brace', google: 'vasen ahdin')
+ - "|": # 0x7c
+ # 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)
+ replace:
+ - test:
+ - if: "$SpeechStyle != 'ClearSpeak'"
+ then_test:
+ - if: "$DefaultToGiven"
+ then: [T: "ehdolla"]
+ - else_if: "preceding-sibling::*[1][self::m:mn and not(contains(., $DecimalSeparators))] and
+ following-sibling::*[1][self::m:mn and not(contains(., $DecimalSeparators))]"
+ then: [T: "jakaa"]
+ else: [T: "pystysuora viiva"]
+ - else_if: "not(preceding-sibling::*) or not(following-sibling::*)"
+ then: [T: "pystysuora viiva"]
+ - else_if: "$ClearSpeak_VerticalLine = 'SuchThat'"
+ then: [T: "siten että"]
+ - else_if: "$ClearSpeak_VerticalLine = 'Given' or $DefaultToGiven"
+ then: [T: "ehdolla"]
+ - else: [T: "jakaa"]
+
+ - "}": # 0x7d
+ - test:
+ if: $SpeechStyle = 'ClearSpeak' or $SpeechStyle = 'SimpleSpeak'
+ then: [T: "kiinni aaltosulku"] # (en: 'close brace', google translation)
+ else: [T: "oikea aaltosulku"] # (en: 'right brace', google: 'oikea ahdin')
+
+ - "~": [T: "tilde"] # 0x7e
+ - " ": # 0xa0
+ - test:
+ if: "@data-empty-in-2D and ../../../../*[name(.)!='system-of-equations']"
+ then: [T: "tyhjä"] # want to say something for fraction (etc) with empty child (en: 'empty', google translation)
+ else: [T: ""]
+
+ - "¬": [T: "ei"] # 0xac (en: 'not', google: 'ei') # Terse logic?
+ - "°": [T: "astetta"] # 0xb0 (en: 'degrees', google: 'asteet')
+ - "±": [T: "plus-miinus"] # 0xb1 (en: 'plus or minus', google: 'plus tai miinus')
+ - "´": [T: "akuutti"] # 0xb4 (en: 'acute')
+ - "·": # 0xB7
+ - test:
+ if: "$SpeechStyle != 'ClearSpeak' or $ClearSpeak_MultSymbolDot = 'Auto'"
+ then: [T: "kertaa"] # (en: 'times', google translation)
+ else: [T: "piste"] # (en: 'dot', google: 'piste')
+ - "×": # 0xd7
+ - test:
+ if: "$SpeechStyle != 'ClearSpeak' or $ClearSpeak_MultSymbolX = 'Auto'"
+ then: [T: "kertaa"] # (en: 'times', google translation)
+ else_test:
+ if: $ClearSpeak_MultSymbolX = 'By'
+ then: [T: "kertaa"] # (en: 2 'by' 2 matrice) fi: (2 kertaa 2 matriisi) translator's note
+ else: [T: "risti"] # (en: 'cross', google: 'ylittää')
+ - "÷": [T: "jaettuna"] # 0xf7 (en: 'divided by')
+ - "̀": [T: "gravis korostus"] # 0x300 (en: 'grave accent embellishment', google: 'vakava korostuskoriste')
+ - "́": [T: "akuutti korostus"] # 0x301 (en: 'acute accent embellishment', google: 'akuutti korostuskoriste')
+ - "̂": [T: "sirkumfleksi korostus"] # 0x302 (en: 'circumflex accent embellishment', google: 'ympyräkorotuskoriste')
+ - "̃": [T: "tilde"] # 0x303 (en: 'tilde embellishment', google: 'tilde -koriste')
+ - "̄": [T: "pituusmerkki"] # 0x304 (en: 'macron embellishment', google: 'macronin koriste')
+ - "̅": [T: "yläviiva"] # 0x305 (en: 'overbar embellishment', google: 'ylipalkin koriste')
+ - "̆": [T: "lyhyysmerkki"] # 0x306 (en: 'breve', google: 'breve')
+ - "̇": [T: "piste"] # 0x307 (en: 'dot above embellishment', google: 'piste koristelun yläpuolella')
+
+ # Note: ClearSpeak has pref TriangleSymbol for "Δ", but that is wrong
+ - "Α-Ω":
+ - 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: "iso"] # (en: 'cap', google translation)
+ else: [x: "$SpeechOverrides_CapitalLetters"]
+ - pitch:
+ value: "$CapitalLetters_Pitch"
+ # note: processing of ranges converts '.' into the character, so it needs to be in quotes below
+ replace: [SPELL: "translate('.', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ', 'αβγδεζηθικλμνξοπρςστυφχψω')"]
+
+ - "α": [T: "alfa"] # 0x3b1 (en: 'alpha')
+ - "β": [T: "beeta"] # 0x3b2 (en: 'beta')
+ - "γ": [T: "gamma"] # 0x3b3
+ - "δ": [T: "delta"] # 0x3b4
+ - "ε": [T: "epsilon"] # 0x3b5
+ - "ζ": [T: "zeeta"] # 0x3b6 (en: 'zeta', google: 'zeta')
+ - "η": [T: "eeta"] # 0x3b7 (en: 'eta', google: 'eta')
+ - "θ": [T: "theeta"] # 0x3b8 (en: 'theta', google: 'theta')
+ - "ι": [T: "ioota"] # 0x3b9 (en: 'iota', google: 'iota')
+ - "κ": [T: "kappa"] # 0x3ba
+ - "λ": [T: "lambda"] # 0x3bb
+ - "μ": [T: "myy"] # 0x3bc (en: 'mu', google: 'mu')
+ - "ν": [T: "nyy"] # 0x3bd (en: 'nu', google: 'nu')
+ - "ξ": [T: "ksii"] # 0x3be (en: 'zai', google: 'zai')
+ - "ο": [T: "omikron"] # 0x3bf (en: 'omicron', google: 'omicron')
+ - "π": [T: "pii"] # 0x3c0 (en: 'pi', google: 'pi')
+ - "ρ": [T: "rhoo"] # 0x3c1 (en: 'rho', google: 'rho')
+ - "ς": [T: "loppu-sigma"] # 0x3c2 (en: 'final sigma', google: 'viimeinen sigma')
+ - "σ": [T: "sigma"] # 0x3c3
+ - "τ": [T: "tau"] # 0x3c4
+ - "υ": [T: "ypsilon"] # 0x3c5 (en: 'upsilon', google: 'upsilon')
+ - "φ": [T: "fii"] # 0x3c6 (en: 'phi', google: 'phi')
+ - "χ": [T: "khii"] # 0x3c7 (en: 'chi', google: 'chi')
+ - "ψ": [T: "psii"] # 0x3c8 (en: 'psi', google: 'psi')
+ - "ω": [T: "oomega"] # 0x3c9 (en: 'omega', google: 'omega')
+ - "ϕ": [T: "suora fii"] # 0x3d5 (en: 'phi', google: 'phi')
+ - "ϖ": [T: "kreikkalainen pii"] # 0x3d6 (en: 'pi', google: 'pi')
+ - "ϵ": [T: "epsilon"] # 0x3f5
+ - "϶": [T: "käännetty epsilon"] # 0x3f6 (en: 'reversed epsilon', google: 'kääntynyt epsilon')
+
+ - "": # 0x2061
+ - test:
+ # skip saying "of" when Terse and a trig function, when it is a shape (does this happen?), or we are in :literal mode
+ # log is treated differently than trig functions
+ # Note: this differs from 'en' because the ClearSpeak and default rules are different from 'en'
+ if: "not(
+ ( $Verbosity='Terse' or ($SpeechStyle = 'ClearSpeak' and IsNode(following-sibling::*[1],'simple')) and
+ preceding-sibling::*[1][IfThenElse($SpeechStyle='ClearSpeak',
+ IsInDefinition(., 'ClearSpeakTrigFunctionNames'),
+ IsInDefinition(., 'TrigFunctionNames') )]
+ ) or
+ preceding-sibling::*[1][IsInDefinition(., 'GeometryShapes')] or
+ (@data-changed='added' and ancestor-or-self::*[contains(@data-intent-property, ':literal:')])
+ )"
+ then: [T: "arvolla"]
+ - "": [T: ""] # 0x2062 # invisible 'times', fi: should this have a value?
+ - "": [T: ""] # 0x2063 # invisible 'separator', fi: should this have a value?
+ - "": [T: "ja"] # 0x2064 (en: 'and', google translation)
+ - "ℂℕℚℝℤ": # here we rely on this running through the table again to speak "cap xxx"
+ - T: "kaksoisviivainen" # (en: 'double-struck', google: 'kaksinkertainen') # not satisfied
+ - SPELL: "translate('.', 'ℂℕℚℝℤ', 'CNQRZ')"
+
+ - "℃": [T: "astetta celsiusta"] # 0x2103 (en: 'degrees celsius', google: 'celsius astetta')
+ - "ℋℛℓ": # 0x210b
+ - T: "skripti" # (en: 'script', google: 'käsikirjoitus') # not satisfied
+ - SPELL: "translate('.', 'ℋℛℓ', 'HRl')"
+ - "ℜ": # 0x211c
+ - T: "fraktuura iso r" # (en: 'fraktur', google: 'fraktur')
+ - SPELL: "'R'"
+
+ - "ⅆⅇⅈⅉ": # 0x2146-9
+ - T: "kaksoisviivainen kursiivi" # (en: 'double-struck italic', google: 'kaksinkertainen kursivoitu')
+ - SPELL: "translate('.', 'ⅆⅇⅈⅉ', 'deij')"
+
+ - "∥": # 0x2225
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "yhdensuuntainen" # (en: 'parallel to', google: 'samansuuntainen')
+ - "∦": # 0x2226
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: ""] # (en: 'is', google translation)
+ - T: "ei ole yhdensuuntainen" # (en: 'not parallel to', google: 'ei rinnakkain')
+ - "≤": # 0x2264
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "pienempi tai yhtä suuri kuin"
+ - "≥": # 0x2265
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "suurempi tai yhtä suuri kuin" # (en: 'greater than or equal to', google: 'suurempi tai yhtä suuri kuin')
+
+ # --- restored complex short definitions (prefer over unicode-full) ---
+ - "…": # 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: "piste piste piste"] # (google translation)
+ else_test: # must have $ClearSpeak_Ellipses = 'AndSoOn'
+ if: "count(following-sibling::*) = 0"
+ then: [T: "ja niin edelleen"] # (en: 'and so on', google translation)
+ else: [T: "ja niin edelleen kunnes"] # (en: 'and so on up to', google: 'ja niin edelleen'); possibly obsolete if-else
+ - "→": # 0x2192
+ - test:
+ if: "ancestor::*[2][self::m:limit]"
+ then: [T: "lähestyy"] # (en: 'approaches', google translation)
+ else: [T: "nuoli oikealle"] # (en: 'right arrow', google: 'oikea nuoli')
+ - "∂": # 0x2202
+ - test:
+ if: "$Verbosity='Terse'"
+ then: [T: "osittaisderivaatta"] # (en: 'partial', google translation) # might be other possibilities
+ else: [T: "osittaisderivaatta"] # (en: 'partial derivative', google: 'osittainen johdannainen')
+ - "∆": # 0x2206
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: ""] # (google translation)
+ - T: "Laplacen operaattori" # (en: 'laplacian of', google: 'laplacian of')
+ - "∈": # 0x2208 # fi: some elements (pun) of this translation has to be tested
+ - test:
+ if: "$SpeechStyle != 'ClearSpeak'"
+ then: [T: "kuuluu"] # (en: 'an element of', google translation)
+ # 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
+ then_test:
+ - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'In'
+ then: [T: "kuuluu"] # (en: 'in', google translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'Member'
+ then: [T: "kuuluu"] # (en: 'member of', google translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
+ then: [T: "kuuluu"] # (en: 'element of', google translation)
+ - else: [T: "kuuluu joukkoon"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'belonging to', google: 'kuulua')
+ else_test:
+ - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'Member'
+ then: [T: "kuuluu"] # (en: 'is a member of', google translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
+ then: [T: "kuuluu"] # (en: 'is an element of', google translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'In'
+ then: [T: "kuuluu"] # (en: 'is in', google translation)
+ - else: [T: "kuuluu joukkoon"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'belongs to', google: 'kuuluu')
+ - "∉": # 0x2209 # fi: some elements (pun) of this translation has to be tested
+ # rule is identical to 0x2208
+ - test:
+ if: "$SpeechStyle != 'ClearSpeak'"
+ then: [T: "ei kuulu"] # (en: 'is not an element of', google translation)
+ # 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
+ then_test:
+ - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'In'
+ then: [T: "ei kuulu"] # (en: 'not in', google translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'Member'
+ then: [T: "ei kuulu"] # (en: 'not member of', google translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
+ then: [T: "ei kuulu"] # (en: 'not element of', google translation)
+ - else: [T: "ei kuulu joukkoon"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'not belonging to', google: 'ei kuulu')
+ else_test:
+ - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'Member'
+ then: [T: "ei kuulu"] # (en: 'is not a member of', google translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
+ then: [T: "ei kuulu"] # (en: 'is not an element of', google translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'In'
+ then: [T: "ei ole joukossa"] # (en: 'is not in', google translation)
+ - else: [T: "ei kuulu joukkoon"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'does not belong to', google: 'ei kuulu')
+ - "∊": # 0x220a # fi: some elements (pun) of this translation has to be tested
+ - test:
+ if: "$SpeechStyle != 'ClearSpeak'"
+ then: [T: "kuuluu"] # (en: 'is an element of', google translation)
+ # 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
+ then_test:
+ - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'In'
+ then: [T: "kuuluu"] # (en: 'in', google translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'Member'
+ then: [T: "kuuluu"] # (en: 'member of', google translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
+ then: [T: "kuuluu"] # (en: 'element of', google translation)
+ - else: [T: "kuuluu joukkoon"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'belonging to', google: 'kuulua')
+ else_test:
+ - if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'Member'
+ then: [T: "kuuluu"] # (en: 'is a member of', google translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'Element'
+ then: [T: "kuuluu"] # (en: 'is an element of', google translation)
+ - else_if: $ClearSpeak_SetMemberSymbol = 'In'
+ then: [T: "kuuluu"] # (en: 'is in', google translation)
+ - else: [T: "kuuluu joukkoon"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'belongs to', google: 'kuuluu')
+ - "√": # 0x221a
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: ""] # (google translation)
+ - T: "neliöjuuri" # (en: 'square root of')
+ - "∝": # 0x221d
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "verrannollinen" # (en: 'proportional to', google: 'suhteessa')
+ - "∶": # 0x2236
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: ""] # (en: 'is', google translation)
+ - T: "suhde" # (en: 'to', google: 'to')
+ - "∾": # 0x223e
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: ""] # (en: 'is', google translation)
+ - T: "käännetty kaatunut S-kirjain" # (en: 'most positive', google: 'positiivisin') # fi: no good translation
+ - "≠": # 0x2260
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: ""] # (en: 'is', google translation)
+ - T: "ei ole yhtä suuri kuin" # (en: 'not equal to', google: 'ei yhtä suuri kuin')
+ - "≡": # 0x2261
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is', google translation)
+ - T: "identtinen" # (en: 'identical to', google: 'yhtäläinen')
+ - "⊂": # 0x2282
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is a', google translation)
+ - T: "osajoukko" # (en: 'subset of', google: 'alajoukko')
+ - "⊃": # 0x2283
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is a', google translation)
+ - T: "ylijoukko" # (en: 'superset of', google: 'superset of') # fi: not common, source for Finnish: https://fi.wikibooks.org/wiki/Diskreetti_matematiikka/Joukko-oppi
+ - "⊄": # 0x2284
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: ""] # (en: 'is', google translation)
+ - T: "ei ole osajoukko" # (en: 'not a subset of', google: 'ei osa')
+ - "⊅": # 0x2285
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: ""] # (en: 'is', google translation)
+ - T: "ei ole ylijoukko" # (en: 'not a superset of', google: 'ei ylimääräistä') # fi: not common, source for Finnish: https://fi.wikibooks.org/wiki/Diskreetti_matematiikka/Joukko-oppi
+ - "⊆": # 0x2286
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is a', google translation)
+ - T: "osajoukko tai yhtä kuin" # (en: 'subset of or equal to', google: 'alajoukko tai yhtä suuri kuin')
+ - "⊇": # 0x2287
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [T: "on"] # (en: 'is a', google translation)
+ - T: "ylijoukko tai yhtä kuin" # (en: 'superset of or equal to', google: 'superset tai yhtä suuri kuin')
+
+ # --- restored short definitions that differ from unicode-full ---
+ - "―": [T: "vaakaviiva"] # 0x2015 (en: 'horizontal bar', google: 'vaakasuora viiva')
+ - "′": [T: "pilkku"] # 0x2032 (en: 'prime', google: 'ensisijainen')
+ - "″": [T: "pilkku pilkku"] # 0x2033 (en: 'double prime', google: 'kaksinkertainen prime')
+ - "‴": [T: "pilkku pilkku pilkku"] # 0x2034 (en: 'triple prime', google: 'kolminkertainen')
+ - "K": [T: "astetta kelviniä"] # 0x212a (en: 'kelvin', google: 'kelvin')
+ - "⇒": [T: "kaksiviivainen nuoli oikealle"] # 0x21d2 (en: 'rightwards double arrow', google: 'oikealla kaksinkertaisella nuolella')
+ - "∀": [T: "kaikille"] # 0x2200 (en: 'for all')
+ - "∘": [T: "yhdistetty"] # 0x2218 (en: 'composed with', google: 'koostuu') #fi: is this composite function?
+ - "∧": [T: "looginen ja"] # 0x2227 (en: 'and', google: 'ja') # should there be logic for "logical and" and "logical or"?
+ - "∨": [T: "looginen tai"] # 0x2228 (en: 'or', google: 'tai')
+ - "∪": [T: "yhdiste"] # 0x222a (en: 'union', google: 'liitto')
+ - "∮": [T: "suljettu polkuintegraali"] # 0x222e (en: 'contour integral', google: 'muoto -integraali')
+ - "∷": [T: "kuten"] # 0x2237 (en: 'as', google: 'kuten')
+ - "∼": [T: "jakautunut"] # 0x223c (en: 'varies with', google: 'vaihtelee')
+ - "∽": [T: "käännetty tilde"] # 0x223d (en: 'reversed tilde', google: 'kääntynyt tilde')
+ - "∿": [T: "sinikäyrä"] # 0x223f (en: 'sine wave', google: 'siniaalto')
+ - "≦": [T: "pienempi tai yhtä suuri kuin"] # 0x2266 (en: 'less than over equal to', google: 'vähemmän kuin yli yhtä suuri kuin') # based on https://jkorpela.fi/merkkien-nimet.html#, the meaning is the same as with =<
+ - "≧": [T: "suurempi tai yhtä suuri kuin"] # 0x2267 (en: 'greater than over equal to', google: 'suurempi kuin yli yhtä suuri kuin')
diff --git a/Rules/Languages/fr/definitions.yaml b/Rules/Languages/fr/definitions.yaml
index c2e822d5b..9e49cc01f 100644
--- a/Rules/Languages/fr/definitions.yaml
+++ b/Rules/Languages/fr/definitions.yaml
@@ -4,52 +4,120 @@
# French overrides for language-dependent speech definitions. Anything omitted
# here continues to fall back to the shared English defaults.
-# If an "intent" is used, the 'terse:medium:verbose' speech for the intent name is given here for a prefix||infix||postfix||function fixity
-# If only one ":" is used, the first part is used for 'terse' and the second part is used for 'medium' and 'verbose'
-# If no ":"s are used, the same speech is used for all forms
-# If bracketing words make sense, they are separated with ";"s
-# Intent mappings must specify whether they are "prefix", "infix", "postfix", or "function" with an "=" sign
-# If there are multiple fixities (e.g., see transpose), they are separated with "||"
-# for readability, spaces can be used around any of the delimiter characters
-# Note: if there are multiple fixities, the first one is used if the fixity is not given in the intent
-
+# IntentMappings Syntax:
+#
+# This section defines how each "intent" is spoken for various grammatical forms (fixities such as "prefix", "infix", "postfix", and "function"),
+# along with supporting different verbosity levels.
+# The syntax is a little bit complicated, but allows a declarative syntax so you don't have to write as many rules.
+#
+# For each intent, you specify spoken forms for one or more fixities using the syntax below.
+#
+# - Each mapping has the form:
+# "": "= || = || ...",
+# Every alternative must name a fixity and use "="; the fixity requested when speaking selects one.
+#
+# - Separate multiple fixities with "||". Spaces are allowed around any delimiter for readability.
+# - Within a speech string, "|" selects the verbosity form:
+# - one "|" (two forms): the first is 'terse', the second is used for 'medium' and 'verbose'
+# - two "|" (three forms): 'terse', 'medium', 'verbose', in that order
+# - no "|": the same spoken form is used for all verbosity levels
+#
+# - Use semicolons ";" to divide opening; main; closing bracketing words within the name part,
+# where such words make sense (a name with no ";" is just the main phrase).
+# - If an intent has multiple fixities but a definition does not specify one, the first fixity listed is chosen by default.
+#
+# Functions and argument glue (the part after the name):
+# - ":" separates the name/bracketing phrase from the argument-glue options that follow it.
+# - Arity template (two or more ":" options, or one option with ','-separated glue words): the
+# number of glue words implies the arity, and the final argument is preceded by "of".
+# Example: "sum: over: from,to"
+# - 1 arg: "sum of x"
+# - 2 args: "sum over i of x"
+# - 3 args: "sum from i to n of x"
+# If no option matches the argument count, the arguments are separated with "comma".
+# - Binary separator (exactly one ":" option, no commas in it): after "of", that word joins the two args.
+# Example: "quotient": "function=integer part: divided by" → "integer part of x divided by y"
+# If there are not exactly two args, the arguments fall back to "comma".
+# - Paired "ratio-style" (" : | : | ..."): used when every "|"-separated
+# piece is a single "name : glue" pair. Verbosity selects one pair, whose glue is the binary
+# separator described above. Example: "ratio": "function=ratio : to | the ratio : to | the ratio : to"
+#
+# Conceptual grammar (with precedence):
+#
+# IntentMappingsEntry ::= ":" # ":" is the YAML key/value separator
+#
+# ::= ( "||" )*
+#
+# ::=