[DRE-commits] [rabbit] 01/04: Imported Upstream version 2.1.9

Youhei SASAKI uwabami-guest at moszumanska.debian.org
Fri Jun 17 06:42:39 UTC 2016


This is an automated email from the git hooks/post-receive script.

uwabami-guest pushed a commit to annotated tag debian/2.1.9-1
in repository rabbit.

commit 08c4806708ceb42046d0ba43ebc286469c86ee5b
Author: Youhei SASAKI <uwabami at gfd-dennou.org>
Date:   Fri Jun 17 15:33:20 2016 +0900

    Imported Upstream version 2.1.9
---
 Rakefile                                           |    2 +-
 data/locale/ja/LC_MESSAGES/rabbit.mo               |  Bin 66181 -> 66357 bytes
 doc/_config.yml                                    |   24 +-
 doc/_layouts/en.html                               |    2 -
 doc/_layouts/ja.html                               |    2 -
 doc/en/how-to-make/markdown.md                     |   37 +-
 doc/en/index.rd                                    |    5 +-
 doc/en/install/homebrew.rd                         |    2 +-
 doc/en/install/windows.rd                          |   52 +-
 doc/en/news.rd                                     |   99 +
 doc/images/screenshots/en/blue-circle-raw.png      |  Bin 0 -> 8531 bytes
 doc/images/screenshots/en/blue-circle.png          |  Bin 0 -> 12696 bytes
 doc/images/screenshots/en/clear-blue-raw.png       |  Bin 0 -> 6754 bytes
 doc/images/screenshots/en/clear-blue.png           |  Bin 0 -> 10912 bytes
 doc/images/screenshots/en/cozmixng-raw.png         |  Bin 0 -> 10571 bytes
 doc/images/screenshots/en/cozmixng.png             |  Bin 0 -> 15155 bytes
 doc/images/screenshots/en/dark-gradation-raw.png   |  Bin 0 -> 12698 bytes
 doc/images/screenshots/en/dark-gradation.png       |  Bin 0 -> 16499 bytes
 doc/images/screenshots/en/day-white-raw.png        |  Bin 0 -> 5689 bytes
 doc/images/screenshots/en/day-white.png            |  Bin 0 -> 9761 bytes
 doc/images/screenshots/en/debian-raw.png           |  Bin 0 -> 10365 bytes
 doc/images/screenshots/en/debian.png               |  Bin 0 -> 14824 bytes
 doc/images/screenshots/en/green-circle-raw.png     |  Bin 0 -> 8584 bytes
 doc/images/screenshots/en/green-circle.png         |  Bin 0 -> 12775 bytes
 doc/images/screenshots/en/night-black-raw.png      |  Bin 0 -> 5820 bytes
 doc/images/screenshots/en/night-black.png          |  Bin 0 -> 9634 bytes
 doc/images/screenshots/en/rabbit-raw.png           |  Bin 0 -> 8231 bytes
 doc/images/screenshots/en/rabbit.png               |  Bin 0 -> 12341 bytes
 doc/images/screenshots/en/ranguba-raw.png          |  Bin 0 -> 7968 bytes
 doc/images/screenshots/en/ranguba.png              |  Bin 0 -> 12294 bytes
 doc/images/screenshots/en/red-frame-raw.png        |  Bin 0 -> 6825 bytes
 doc/images/screenshots/en/red-frame.png            |  Bin 0 -> 11002 bytes
 doc/images/screenshots/en/ruby-gnome2-raw.png      |  Bin 0 -> 11034 bytes
 doc/images/screenshots/en/ruby-gnome2.png          |  Bin 0 -> 15446 bytes
 doc/images/screenshots/en/rubykaigi2011-raw.png    |  Bin 0 -> 30523 bytes
 doc/images/screenshots/en/rubykaigi2011.png        |  Bin 0 -> 36148 bytes
 doc/images/screenshots/ja/blue-circle.png          |  Bin 12994 -> 12994 bytes
 doc/images/screenshots/ja/clear-blue-raw.png       |  Bin 7526 -> 7531 bytes
 doc/images/screenshots/ja/clear-blue.png           |  Bin 12062 -> 12065 bytes
 doc/images/screenshots/ja/cozmixng-raw.png         |  Bin 11526 -> 11536 bytes
 doc/images/screenshots/ja/cozmixng.png             |  Bin 16357 -> 16361 bytes
 doc/images/screenshots/ja/dark-gradation.png       |  Bin 16913 -> 16913 bytes
 doc/images/screenshots/ja/day-white.png            |  Bin 10751 -> 10751 bytes
 doc/images/screenshots/ja/debian.png               |  Bin 0 -> 14975 bytes
 doc/images/screenshots/ja/green-circle-raw.png     |  Bin 0 -> 8789 bytes
 doc/images/screenshots/ja/green-circle.png         |  Bin 0 -> 13012 bytes
 doc/images/screenshots/ja/night-black-raw.png      |  Bin 0 -> 6517 bytes
 doc/images/screenshots/ja/night-black.png          |  Bin 0 -> 10555 bytes
 doc/images/screenshots/ja/rabbit-raw.png           |  Bin 0 -> 9182 bytes
 doc/images/screenshots/ja/rabbit.png               |  Bin 0 -> 13464 bytes
 doc/images/screenshots/ja/ranguba-raw.png          |  Bin 0 -> 8634 bytes
 doc/images/screenshots/ja/ranguba.png              |  Bin 0 -> 13275 bytes
 doc/images/screenshots/ja/red-frame-raw.png        |  Bin 0 -> 7480 bytes
 doc/images/screenshots/ja/red-frame.png            |  Bin 0 -> 11654 bytes
 doc/images/screenshots/ja/ruby-gnome2-raw.png      |  Bin 0 -> 11768 bytes
 doc/images/screenshots/ja/ruby-gnome2.png          |  Bin 0 -> 16386 bytes
 doc/images/screenshots/ja/rubykaigi2011-raw.png    |  Bin 0 -> 30569 bytes
 doc/images/screenshots/ja/rubykaigi2011.png        |  Bin 0 -> 36335 bytes
 doc/ja/how-to-make/markdown.md                     |   38 +-
 doc/ja/index.rd                                    |    3 +-
 doc/ja/install/homebrew.rd                         |    2 +-
 doc/ja/install/windows.rd                          |   60 +-
 doc/ja/news.rd                                     |   99 +
 entities/ent2rb.rb                                 |   52 +-
 lib/rabbit/command/rabbit.rb                       |   14 +-
 lib/rabbit/parser/ext/entity.rb                    | 7358 ++++++++++----------
 lib/rabbit/parser/markdown.rb                      |   30 +-
 lib/rabbit/parser/markdown/converter.rb            |   12 +
 lib/rabbit/parser/rd/ext/block-verbatim.rb         |    7 +
 lib/rabbit/renderer/display/drawing-area-base.rb   |    6 +-
 lib/rabbit/renderer/display/key-handler.rb         |    4 -
 lib/rabbit/renderer/display/search.rb              |    7 +-
 lib/rabbit/theme/applier.rb                        |   10 +-
 .../background-image-toolkit.rb                    |    9 +-
 lib/rabbit/theme/clear-blue/clear-blue.rb          |    2 +
 lib/rabbit/theme/debian/debian.rb                  |  232 -
 lib/rabbit/theme/debian/property.rb                |    3 -
 .../theme/default-title-text/default-title-text.rb |    5 +
 lib/rabbit/theme/image-viewer/image-viewer.rb      |    2 +
 lib/rabbit/theme/image/image.rb                    |   24 +-
 .../syntax-highlighting/syntax-highlighting.rb     |   16 +-
 lib/rabbit/version.rb                              |    2 +-
 metadata.yml                                       | 1080 ---
 po/en/rabbit.edit.po                               |  210 +-
 po/en/rabbit.po                                    |    6 +
 po/fr/rabbit.edit.po                               |  210 +-
 po/fr/rabbit.po                                    |    6 +
 po/ja/rabbit.edit.po                               |  223 +-
 po/ja/rabbit.po                                    |    8 +-
 sample/rabbit.md                                   |    2 +-
 test/parser/test-markdown.rb                       |   47 +
 91 files changed, 4549 insertions(+), 5465 deletions(-)

diff --git a/Rakefile b/Rakefile
index 3980ad6..b47607c 100644
--- a/Rakefile
+++ b/Rakefile
@@ -82,7 +82,7 @@ end
 namespace :entity do
   desc "Update entities"
   task :update do
-    sh("entities/ent2rb.rb entities/*.ent")
+    ruby("entities/ent2rb.rb", *Dir.glob("entities/*.ent").sort)
   end
 end
 
diff --git a/data/locale/ja/LC_MESSAGES/rabbit.mo b/data/locale/ja/LC_MESSAGES/rabbit.mo
index abd7545..5fe997e 100644
Binary files a/data/locale/ja/LC_MESSAGES/rabbit.mo and b/data/locale/ja/LC_MESSAGES/rabbit.mo differ
diff --git a/doc/_config.yml b/doc/_config.yml
index 7d5accb..b1679d3 100644
--- a/doc/_config.yml
+++ b/doc/_config.yml
@@ -1,9 +1,29 @@
 markdown: kramdown
-version: 2.1.8
-release_date: 2015-09-06
+version: 2.1.9
+release_date: 2016-05-27
 rabbiter_version: 2.0.1
 rabbiter_release_date: 2013-08-29
 rabbirack_version: 2.0.0
 rabbirack_release_date: 2012-08-29
 rabwii_version: 2.0.0
 rabwii_release_date: 2012-08-29
+
+defaults:
+  - scope:
+      path: "index.html.ja"
+    values:
+      layout: "ja"
+      language: ja
+      country: JP
+  - scope:
+      path: "ja"
+    values:
+      layout: "ja"
+      language: ja
+      country: JP
+  - scope:
+      path: ""
+    values:
+      layout: "en"
+      language: en
+      country: US
diff --git a/doc/_layouts/en.html b/doc/_layouts/en.html
index 8bf9080..8edf161 100644
--- a/doc/_layouts/en.html
+++ b/doc/_layouts/en.html
@@ -1,7 +1,5 @@
 ---
 layout: skeleton
-language: en
-country: US
 ---
 {% if page.lang_suffix == null %}
 <nav class="menu">
diff --git a/doc/_layouts/ja.html b/doc/_layouts/ja.html
index ebc9033..0e6518e 100644
--- a/doc/_layouts/ja.html
+++ b/doc/_layouts/ja.html
@@ -1,7 +1,5 @@
 ---
 layout: skeleton
-language: ja
-country: JP
 ---
 {% if page.lang_suffix == null %}
 <nav class="menu">
diff --git a/doc/en/how-to-make/markdown.md b/doc/en/how-to-make/markdown.md
index 45e8d61..91c46f0 100644
--- a/doc/en/how-to-make/markdown.md
+++ b/doc/en/how-to-make/markdown.md
@@ -43,6 +43,39 @@ institution is COZMIXNG.
 At the moment, you can specify subtitle, content_source and
 even the theme. "theme" is for the default theme of this slide.
 
-### ...
+### Emphasis
 
-TODO: Add other syntaxes...
+You can emphasize strings. Enclose it with an asterisk.
+
+    *Emphasis*
+
+### Image
+
+You can describe as normal markdown format.
+
+    ![image](lavie.png)
+
+### Table
+
+Also you can make table.
+
+    |Head1       |Head2        |Head3         |
+    |:-----------|------------:|:------------:|
+    |Content1    |Content2     |Content3      |
+
+### Items
+
+Markdown has several list notation such as \*, \+, \-
+You can use any of the notation.
+
+    * Level1-1
+      * Level2-1
+    * Level1-2
+    * Level1-3
+
+### Quotation
+
+If you put ">" on the head of the line, it will be quoted text.
+
+    > You take the *red pill*, you stay in Wonderland and
+    > I show you how deep the *rabbit-hole* goes.
diff --git a/doc/en/index.rd b/doc/en/index.rd
index bef74a3..5beaa49 100644
--- a/doc/en/index.rd
+++ b/doc/en/index.rd
@@ -8,7 +8,7 @@ Rabbit is a presentation tool for programmer, especially Rubyist.
 
 Slide is written in text format, so you can use your favorite editor or versioning tool to make it.
 
-Rabbit also has programmer-friendly keybord interface. 
+Rabbit also has programmer-friendly keybord interface.
 You can use Rabbit just as a slide viewer because Rabbit also supports PDF format.
 It means even after making slide in other tool like Keynote, you can use Rabbit for displaying it.
 
@@ -166,7 +166,8 @@ The author of
 data/rabbit/image/rubykaigi2011-images/rubykaigi2011-background-white.jpg
 and
 data/rabbit/image/rubykaigi2011-images/rubykaigi2011-background-black.jpg
-is norio. And it's licensed by CC-BY-3.0.
+is norio. And it's licensed under the
+((<CC-BY-3.0|URL:http://creativecommons.org/licenses/by/3.0/>)).
 
 If you want to get a copy of the mascot character PSD files
 ask the program author. He'll forward the request to the
diff --git a/doc/en/install/homebrew.rd b/doc/en/install/homebrew.rd
index bd1a77b..c22d794 100644
--- a/doc/en/install/homebrew.rd
+++ b/doc/en/install/homebrew.rd
@@ -32,7 +32,7 @@ Then add /usr/local/bin to your PATH.
 
 Exec gem install.
 
-  $ sudo gem install rabbit
+  $ sudo PKG_CONFIG_PATH=/usr/local/opt/libffi/lib/pkgconfig gem install rabbit
   $ sudo gem install rabbiter # If you want to use Twitter related features
 
 === Set environment variable
diff --git a/doc/en/install/windows.rd b/doc/en/install/windows.rd
index 72eef7b..f1bea20 100644
--- a/doc/en/install/windows.rd
+++ b/doc/en/install/windows.rd
@@ -7,55 +7,39 @@ title: Install on Windows
 This document describes how to install and use Rabbit on
 Windows.
 
-There are required softwares and optional softwares.
+=== How to install
 
-=== Install required softwares
-
-Here are required softwares.
+Install the following software:
 
   * Ruby
   * Rabbit
 
-==== Install Ruby
-
-Install Ruby 2.0.0 or later from ((<download page of RubyInstall for
-Windows|URL:http://rubyinstaller.org/downloads/>)). For
-example, Ruby 2.0.0-p576 installer can be downloaded via the
-following URL.
+==== How to install Ruby
 
-: rubyinstaller-2.0.0-p576.exe
-   ((<URL:http://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-2.0.0-p576.exe>))
+Download and execute Ruby installer from ((<download page of
+RubyInstall for
+Windows|URL:http://rubyinstaller.org/downloads/>)). You can use both
+32bit version and 64bit version.
 
-Note: You need to install 32bit version Ruby instead of 64bit, even if you use 64bit Windows.
-Currently Rabbit doesn't work with 64bit Ruby on Windows.
+==== How to install Rabbit
 
-==== Install Rabbit
-
-RubyInstaller install "Start Command Prompt with Ruby"
-program into start menu. This program shows command prompt
-with PATH configuration for ruby.exe. You can install Rabbit
-by the following command on the command prompt:
+RubyInstaller install "Start Command Prompt with Ruby" program into
+start menu. This program shows command prompt with PATH configuration
+for (({ruby.exe})). You can install Rabbit by the following command on
+the command prompt:
 
   > gem install rabbit
 
 Related softwares (e.g. Ruby/GTK2 and so on) are also
 install automatically.
 
-Now you can run Rabbit by the following command:
-
-  > rabbit rabbit-theme-benchmark-en.gem
-
-=== Install optional softwares
-
-Here are optional softwares:
-
-  * Ghostscript
+=== How to run Rabbit
 
-==== EPS format support
+Run the following command on command prompt that is used for
+installing Rabbit:
 
-(1) Install AFPL Ghostscript for Win32.
+  > rabbit
 
-    : gs853w32.exe
-        ((<URL:ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/AFPL/gs853/gs853w32.exe>))
+It opens a dialog to open a slide file.
 
-(2) Add <Ghostscript Install Path>/gs/gs8.53/bin to the PATH environment variable.
+See also ((<How to make a slide source|URL:../how-to-make/>)).
diff --git a/doc/en/news.rd b/doc/en/news.rd
index d121f58..c2fd9a1 100644
--- a/doc/en/news.rd
+++ b/doc/en/news.rd
@@ -3,6 +3,105 @@ layout: en
 title: News
 ---
 {% raw %}
+== 2.1.9: 2016-05-27
+
+Markdown support improvement release.
+
+=== Improvements
+
+==== rabbit
+
+  * Suppressed warnings on Ruby 2.3.
+    [GitHub#77][Patch by takiy33]
+
+  * Markdown markup: Supported strike through markup in GFM (GitHub
+    Flavored Markdown).
+    [Suggested by yoku0825]
+
+    Syntax:
+
+      ~~deleted text~~
+
+  * Markdown markup: Supported reporting an error for using HTML
+    because using HTML isn't supported.
+
+  * Supported stopping search by escape key.
+
+  * RD markup: Supported (({pango})) block verbatim.
+    You can text with ((<Pango
+    markup|URL:https://developer.gnome.org/pango/stable/PangoMarkupFormat.html>))
+    in the block.
+
+    Syntax:
+
+      # pango
+
+      <span foreground="red">Red Text</span>
+
+  * Supported filtering Markdown files in file choose dialog.
+    [GitHub#83][Patch by tSU_Root]
+
+  * Markdown markup: Supported reporting an error for using horizontal
+    rule because horizontal rule isn't supported.
+    [GitHub#84][Reported by tSU_RooT]
+
+  * Markdown markup: Supported list in list.
+    [GitHub#85][Reported by tSU_RooT]
+
+==== Theme
+
+  * default-title-text: Supported customizing author font size by
+    (({@title_slide_font_size})).
+
+  * background-image-toolkit: Supported (({bottom})) vertical align.
+
+  * image-viewer: Supported comment.
+
+  * syntax-highlighting: Supported diff format.
+
+  * syntax-highlighting: Stopped highlighing numbers.
+
+  * clear-blue: Supported frame color in syntax highlight.
+
+==== Document
+
+  * Added links to licenses.
+    [GitHub#86][Patch by tSU_Root]
+
+  * Updated document about how to write a slide in Markdown.
+    [GitHub#89][Patch by tSU_Root]
+
+=== Fixes
+
+==== rabbit
+
+  * Fixed a bug that slide with invalid format crashes Rabbit.
+    [GitHub#76][Reported by takiy33]
+
+  * Fixed a bug that (({--margin})) option value is parsed wrongly.
+    [GitHub#82][Patch by zunda]
+
+==== Theme
+
+   * image: Fixed a bug that image size reduced with Markdown markup
+     with image-timer theme.
+     [GitHub#78][Reported by TOMITA Masahiro]
+
+   * image: Fixed a bug that image size isn't stable for image with caption.
+     [GitHub#88][Reported by TOMITA Masahiro]
+
+=== Thanks
+
+  * takiy33
+
+  * yoku0825
+
+  * TOMITA Masahiro
+
+  * zunda
+
+  * tSU_Root
+
 == 2.1.8: 2015-09-06
 
 A bug fix release for 2.1.7. 2.1.7 can't start on Windows.
diff --git a/doc/images/screenshots/en/blue-circle-raw.png b/doc/images/screenshots/en/blue-circle-raw.png
new file mode 100644
index 0000000..ba32d31
Binary files /dev/null and b/doc/images/screenshots/en/blue-circle-raw.png differ
diff --git a/doc/images/screenshots/en/blue-circle.png b/doc/images/screenshots/en/blue-circle.png
new file mode 100644
index 0000000..a81ef15
Binary files /dev/null and b/doc/images/screenshots/en/blue-circle.png differ
diff --git a/doc/images/screenshots/en/clear-blue-raw.png b/doc/images/screenshots/en/clear-blue-raw.png
new file mode 100644
index 0000000..c575352
Binary files /dev/null and b/doc/images/screenshots/en/clear-blue-raw.png differ
diff --git a/doc/images/screenshots/en/clear-blue.png b/doc/images/screenshots/en/clear-blue.png
new file mode 100644
index 0000000..44caec4
Binary files /dev/null and b/doc/images/screenshots/en/clear-blue.png differ
diff --git a/doc/images/screenshots/en/cozmixng-raw.png b/doc/images/screenshots/en/cozmixng-raw.png
new file mode 100644
index 0000000..9d03c6a
Binary files /dev/null and b/doc/images/screenshots/en/cozmixng-raw.png differ
diff --git a/doc/images/screenshots/en/cozmixng.png b/doc/images/screenshots/en/cozmixng.png
new file mode 100644
index 0000000..128b10d
Binary files /dev/null and b/doc/images/screenshots/en/cozmixng.png differ
diff --git a/doc/images/screenshots/en/dark-gradation-raw.png b/doc/images/screenshots/en/dark-gradation-raw.png
new file mode 100644
index 0000000..05eae0f
Binary files /dev/null and b/doc/images/screenshots/en/dark-gradation-raw.png differ
diff --git a/doc/images/screenshots/en/dark-gradation.png b/doc/images/screenshots/en/dark-gradation.png
new file mode 100644
index 0000000..0f9f5ab
Binary files /dev/null and b/doc/images/screenshots/en/dark-gradation.png differ
diff --git a/doc/images/screenshots/en/day-white-raw.png b/doc/images/screenshots/en/day-white-raw.png
new file mode 100644
index 0000000..f1131dd
Binary files /dev/null and b/doc/images/screenshots/en/day-white-raw.png differ
diff --git a/doc/images/screenshots/en/day-white.png b/doc/images/screenshots/en/day-white.png
new file mode 100644
index 0000000..1173bbe
Binary files /dev/null and b/doc/images/screenshots/en/day-white.png differ
diff --git a/doc/images/screenshots/en/debian-raw.png b/doc/images/screenshots/en/debian-raw.png
new file mode 100644
index 0000000..cd8414a
Binary files /dev/null and b/doc/images/screenshots/en/debian-raw.png differ
diff --git a/doc/images/screenshots/en/debian.png b/doc/images/screenshots/en/debian.png
new file mode 100644
index 0000000..185ea8a
Binary files /dev/null and b/doc/images/screenshots/en/debian.png differ
diff --git a/doc/images/screenshots/en/green-circle-raw.png b/doc/images/screenshots/en/green-circle-raw.png
new file mode 100644
index 0000000..8e51392
Binary files /dev/null and b/doc/images/screenshots/en/green-circle-raw.png differ
diff --git a/doc/images/screenshots/en/green-circle.png b/doc/images/screenshots/en/green-circle.png
new file mode 100644
index 0000000..3ac342e
Binary files /dev/null and b/doc/images/screenshots/en/green-circle.png differ
diff --git a/doc/images/screenshots/en/night-black-raw.png b/doc/images/screenshots/en/night-black-raw.png
new file mode 100644
index 0000000..bb1b510
Binary files /dev/null and b/doc/images/screenshots/en/night-black-raw.png differ
diff --git a/doc/images/screenshots/en/night-black.png b/doc/images/screenshots/en/night-black.png
new file mode 100644
index 0000000..37936d9
Binary files /dev/null and b/doc/images/screenshots/en/night-black.png differ
diff --git a/doc/images/screenshots/en/rabbit-raw.png b/doc/images/screenshots/en/rabbit-raw.png
new file mode 100644
index 0000000..d9bcd57
Binary files /dev/null and b/doc/images/screenshots/en/rabbit-raw.png differ
diff --git a/doc/images/screenshots/en/rabbit.png b/doc/images/screenshots/en/rabbit.png
new file mode 100644
index 0000000..3c98e51
Binary files /dev/null and b/doc/images/screenshots/en/rabbit.png differ
diff --git a/doc/images/screenshots/en/ranguba-raw.png b/doc/images/screenshots/en/ranguba-raw.png
new file mode 100644
index 0000000..31472db
Binary files /dev/null and b/doc/images/screenshots/en/ranguba-raw.png differ
diff --git a/doc/images/screenshots/en/ranguba.png b/doc/images/screenshots/en/ranguba.png
new file mode 100644
index 0000000..dab6763
Binary files /dev/null and b/doc/images/screenshots/en/ranguba.png differ
diff --git a/doc/images/screenshots/en/red-frame-raw.png b/doc/images/screenshots/en/red-frame-raw.png
new file mode 100644
index 0000000..3108538
Binary files /dev/null and b/doc/images/screenshots/en/red-frame-raw.png differ
diff --git a/doc/images/screenshots/en/red-frame.png b/doc/images/screenshots/en/red-frame.png
new file mode 100644
index 0000000..ea14010
Binary files /dev/null and b/doc/images/screenshots/en/red-frame.png differ
diff --git a/doc/images/screenshots/en/ruby-gnome2-raw.png b/doc/images/screenshots/en/ruby-gnome2-raw.png
new file mode 100644
index 0000000..f61ee8a
Binary files /dev/null and b/doc/images/screenshots/en/ruby-gnome2-raw.png differ
diff --git a/doc/images/screenshots/en/ruby-gnome2.png b/doc/images/screenshots/en/ruby-gnome2.png
new file mode 100644
index 0000000..5585e7b
Binary files /dev/null and b/doc/images/screenshots/en/ruby-gnome2.png differ
diff --git a/doc/images/screenshots/en/rubykaigi2011-raw.png b/doc/images/screenshots/en/rubykaigi2011-raw.png
new file mode 100644
index 0000000..3dea974
Binary files /dev/null and b/doc/images/screenshots/en/rubykaigi2011-raw.png differ
diff --git a/doc/images/screenshots/en/rubykaigi2011.png b/doc/images/screenshots/en/rubykaigi2011.png
new file mode 100644
index 0000000..ed8c24f
Binary files /dev/null and b/doc/images/screenshots/en/rubykaigi2011.png differ
diff --git a/doc/images/screenshots/ja/blue-circle.png b/doc/images/screenshots/ja/blue-circle.png
index 2cd231b..f5bdd78 100644
Binary files a/doc/images/screenshots/ja/blue-circle.png and b/doc/images/screenshots/ja/blue-circle.png differ
diff --git a/doc/images/screenshots/ja/clear-blue-raw.png b/doc/images/screenshots/ja/clear-blue-raw.png
index 8f70ed0..954be31 100644
Binary files a/doc/images/screenshots/ja/clear-blue-raw.png and b/doc/images/screenshots/ja/clear-blue-raw.png differ
diff --git a/doc/images/screenshots/ja/clear-blue.png b/doc/images/screenshots/ja/clear-blue.png
index 9300fec..b10763d 100644
Binary files a/doc/images/screenshots/ja/clear-blue.png and b/doc/images/screenshots/ja/clear-blue.png differ
diff --git a/doc/images/screenshots/ja/cozmixng-raw.png b/doc/images/screenshots/ja/cozmixng-raw.png
index 43ec14b..20cb842 100644
Binary files a/doc/images/screenshots/ja/cozmixng-raw.png and b/doc/images/screenshots/ja/cozmixng-raw.png differ
diff --git a/doc/images/screenshots/ja/cozmixng.png b/doc/images/screenshots/ja/cozmixng.png
index 0383535..6065360 100644
Binary files a/doc/images/screenshots/ja/cozmixng.png and b/doc/images/screenshots/ja/cozmixng.png differ
diff --git a/doc/images/screenshots/ja/dark-gradation.png b/doc/images/screenshots/ja/dark-gradation.png
index 27ca0f4..ef58a36 100644
Binary files a/doc/images/screenshots/ja/dark-gradation.png and b/doc/images/screenshots/ja/dark-gradation.png differ
diff --git a/doc/images/screenshots/ja/day-white.png b/doc/images/screenshots/ja/day-white.png
index a7c70bb..ee9183d 100644
Binary files a/doc/images/screenshots/ja/day-white.png and b/doc/images/screenshots/ja/day-white.png differ
diff --git a/doc/images/screenshots/ja/debian.png b/doc/images/screenshots/ja/debian.png
new file mode 100644
index 0000000..306452f
Binary files /dev/null and b/doc/images/screenshots/ja/debian.png differ
diff --git a/doc/images/screenshots/ja/green-circle-raw.png b/doc/images/screenshots/ja/green-circle-raw.png
new file mode 100644
index 0000000..68bfbcc
Binary files /dev/null and b/doc/images/screenshots/ja/green-circle-raw.png differ
diff --git a/doc/images/screenshots/ja/green-circle.png b/doc/images/screenshots/ja/green-circle.png
new file mode 100644
index 0000000..3b7999b
Binary files /dev/null and b/doc/images/screenshots/ja/green-circle.png differ
diff --git a/doc/images/screenshots/ja/night-black-raw.png b/doc/images/screenshots/ja/night-black-raw.png
new file mode 100644
index 0000000..eb73de8
Binary files /dev/null and b/doc/images/screenshots/ja/night-black-raw.png differ
diff --git a/doc/images/screenshots/ja/night-black.png b/doc/images/screenshots/ja/night-black.png
new file mode 100644
index 0000000..44fb93d
Binary files /dev/null and b/doc/images/screenshots/ja/night-black.png differ
diff --git a/doc/images/screenshots/ja/rabbit-raw.png b/doc/images/screenshots/ja/rabbit-raw.png
new file mode 100644
index 0000000..c308233
Binary files /dev/null and b/doc/images/screenshots/ja/rabbit-raw.png differ
diff --git a/doc/images/screenshots/ja/rabbit.png b/doc/images/screenshots/ja/rabbit.png
new file mode 100644
index 0000000..e6704a0
Binary files /dev/null and b/doc/images/screenshots/ja/rabbit.png differ
diff --git a/doc/images/screenshots/ja/ranguba-raw.png b/doc/images/screenshots/ja/ranguba-raw.png
new file mode 100644
index 0000000..dc779c5
Binary files /dev/null and b/doc/images/screenshots/ja/ranguba-raw.png differ
diff --git a/doc/images/screenshots/ja/ranguba.png b/doc/images/screenshots/ja/ranguba.png
new file mode 100644
index 0000000..596999e
Binary files /dev/null and b/doc/images/screenshots/ja/ranguba.png differ
diff --git a/doc/images/screenshots/ja/red-frame-raw.png b/doc/images/screenshots/ja/red-frame-raw.png
new file mode 100644
index 0000000..19eee5a
Binary files /dev/null and b/doc/images/screenshots/ja/red-frame-raw.png differ
diff --git a/doc/images/screenshots/ja/red-frame.png b/doc/images/screenshots/ja/red-frame.png
new file mode 100644
index 0000000..60c0dfb
Binary files /dev/null and b/doc/images/screenshots/ja/red-frame.png differ
diff --git a/doc/images/screenshots/ja/ruby-gnome2-raw.png b/doc/images/screenshots/ja/ruby-gnome2-raw.png
new file mode 100644
index 0000000..2ff4ad1
Binary files /dev/null and b/doc/images/screenshots/ja/ruby-gnome2-raw.png differ
diff --git a/doc/images/screenshots/ja/ruby-gnome2.png b/doc/images/screenshots/ja/ruby-gnome2.png
new file mode 100644
index 0000000..df59a1b
Binary files /dev/null and b/doc/images/screenshots/ja/ruby-gnome2.png differ
diff --git a/doc/images/screenshots/ja/rubykaigi2011-raw.png b/doc/images/screenshots/ja/rubykaigi2011-raw.png
new file mode 100644
index 0000000..1a2cfc2
Binary files /dev/null and b/doc/images/screenshots/ja/rubykaigi2011-raw.png differ
diff --git a/doc/images/screenshots/ja/rubykaigi2011.png b/doc/images/screenshots/ja/rubykaigi2011.png
new file mode 100644
index 0000000..27ccf24
Binary files /dev/null and b/doc/images/screenshots/ja/rubykaigi2011.png differ
diff --git a/doc/ja/how-to-make/markdown.md b/doc/ja/how-to-make/markdown.md
index f759da9..069e829 100644
--- a/doc/ja/how-to-make/markdown.md
+++ b/doc/ja/how-to-make/markdown.md
@@ -26,6 +26,8 @@ title: Markdown記法でのスライドの作り方
 
 この例だと二ページになります。
 
+通常のMarkdownと異なり、改行は無視されません。
+
 ### タイトルページ
 
 最初のページはタイトルページになります。タイトルページには見
@@ -48,6 +50,38 @@ Rabbitを起動するときにテーマが指定されなかった場合に使
 
 TODO: 他にもメタデータが増えているはず。
 
-### ...
+### 強調
+
+\*を使って文字列を囲むと、強調することができます。
+
+    *強調*
+
+### 画像
+
+通常のMarkdownと同様に記述できます。
+
+    ![image](lavie.png)
+
+### 表
+
+表を組むこともできます。
+
+    |みだし1       |みだし2       |みだし3         |
+    |:-----------|------------:|:------------:|
+    |内容1        |内容2         |内容3         |
+
+### 箇条書き
+
+Markdownのリスト記法のうち、\* \+ \- のいずれかを使えます。
+
+    * レベル1-1
+      * レベル2-1
+    * レベル1-2
+    * レベル1-3
+
+### 引用
+
+\>を行の先頭に置くと引用文になります。
 
-TODO: 他の書き方についても書く
+    > You take the *red pill*, you stay in Wonderland and
+    > I show you how deep the *rabbit-hole* goes.
diff --git a/doc/ja/index.rd b/doc/ja/index.rd
index 41d1f8e..bb94e48 100644
--- a/doc/ja/index.rd
+++ b/doc/ja/index.rd
@@ -175,7 +175,8 @@ Framework|URL:http://prototype.conio.net/>))を見てください。
 data/rabbit/image/rubykaigi2011-images/rubykaigi2011-background-white.jpg
 と
 data/rabbit/image/rubykaigi2011-images/rubykaigi2011-background-black.jpg
-の作者はnorioさんでラインセンスはCC-BY-3.0です。
+の作者はnorioさんでライセンスは
+((<CC-BY-3.0|URL:http://creativecommons.org/licenses/by/3.0/>))です。
 
 == メーリングリスト
 
diff --git a/doc/ja/install/homebrew.rd b/doc/ja/install/homebrew.rd
index 249b5e4..2df262c 100644
--- a/doc/ja/install/homebrew.rd
+++ b/doc/ja/install/homebrew.rd
@@ -32,7 +32,7 @@ Rabbit をインストール、利用する手順について説明します。
 
 gem install を実行します。
 
-  $ sudo gem install rabbit
+  $ sudo PKG_CONFIG_PATH=/usr/local/opt/libffi/lib/pkgconfig gem install rabbit
   $ sudo gem install rabbiter # Twitter連携機能を使う場合
 
 === 環境変数の設定
diff --git a/doc/ja/install/windows.rd b/doc/ja/install/windows.rd
index b3ead7a..ca83637 100644
--- a/doc/ja/install/windows.rd
+++ b/doc/ja/install/windows.rd
@@ -4,59 +4,43 @@ title: Windowsへインストール
 ---
 == Windowsでのインストール方法
 
-Windows上でRabbitをインストール、利用する手順について説明し
-ます。
-
-必ずインストールしなければいけないソフトウェアと、なくても動
-くけどあると便利なソフトウェアがあります。
+Windows上でRabbitをインストールする方法、起動方法について説明します。
 
-=== 必須のソフトウェアのインストール
+=== インストール方法
 
-以下が必須のソフトウェアです。
+以下のソフトウェアをインストールします。
 
   * Ruby
   * Rabbit
 
-まずは必須のソフトウェアをインストールしましょう。
+それぞれ説明します。
 
-==== Ruby 本体のインストール
+==== Rubyのインストール方法
 
 ((<RubyInstall for Windowsのダウンロードページ(英語)
-|URL:http://rubyinstaller.org/downloads/>))からRuby 2.0.0 以降の
-インストーラをダウンロードします。Ruby 2.0.0-p576のインストー
-ラは以下のURLからダウンロードできます。
-
-: rubyinstaller-2.0.0-p576.exe
-   ((<URL:http://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-2.0.0-p576.exe>))
-
-注意:64bit版Windowsを使っている場合でも、32bit版のRubyをインストールしてください。
-現在のところ、RabbitはWindows上の64bit版Rubyでは動作しません。
+|URL:http://rubyinstaller.org/downloads/>))からインストーラーをダウン
+ロードして実行します。32bit版のRubyでも64bit版のRubyでもかまいません。
 
-==== Rabbitのインストール
+==== Rabbitのインストール方法
 
-RubyInstallerをインストールするとスタートメニューに「Start
-Command Prompt with Ruby」(日本語の場合は「Ruby コマンド
-プロンプトを開く」)というプログラムが追加されます。こ
-のプログラムを実行するとruby.exeにパスが通ったコマンドプロン
-プトが表示されます。ここで以下のコマンドを実行することで
-Rabbitをインストールできます。Ruby/GTK2など関連するソフトウェ
-アも一緒にインストールされます。
+RubyInstallerをインストールするとスタートメニューに「Start Command
+Prompt with Ruby」(日本語の場合は「Ruby コマンドプロンプトを開く」)
+というプログラムが追加されます。このプログラムを実行すると
+(({ruby.exe}))にパスが通ったコマンドプロンプトが表示されます。ここで以
+下のコマンドを実行することでRabbitをインストールできます。Ruby/GTK2な
+ど関連するソフトウェアも一緒にインストールされます。
 
   > gem install rabbit
 
-=== 必須ではないソフトウェアのインストール
+=== 起動方法
 
-以下がなくても動くけどあると便利なソフトウェアです。
-
-  * Ghostscript
-
-それではあると便利なソフトウェアをインストールしましょう。
-
-==== EPS を表示する
+Rabbitのインストール時に使ったコマンドプロンプトで次のコマンドを実行し
+ます。
 
-(1) AFPL Ghostscript 8.53 for Win32 をインストールする。
+  > rabbit
 
-    : gs853w32.exe
-        ((<URL:http://www.cs.wisc.edu/~ghost/>))
+実行するとスライドファイルを開くダイアログが表示されるので作成したスラ
+イドファイルを指定します。
 
-(2) インストール後 <インストール先>/gs/gs8.53/bin に PATH を通す。
+スライドファイルの作成方法は((<スライドの作り方|URL:../how-to-make/>))
+を参考にしてください。
diff --git a/doc/ja/news.rd b/doc/ja/news.rd
index 27766ab..9b46eb0 100644
--- a/doc/ja/news.rd
+++ b/doc/ja/news.rd
@@ -4,6 +4,105 @@ title: お知らせ
 apply_data: false
 ---
 {% raw %}
+== 2.1.9: 2016-05-27
+
+Markdownサポートを強化したリリース。
+
+=== 改良
+
+==== rabbit
+
+  * Ruby 2.3での警告を削除。
+    [GitHub#77][takiy33さんがパッチ提供]
+
+  * Markdownマークアップ: GFM(GitHub Flavored Markdown)での取り消し
+    線マークアップに対応した。
+    [yoku0825さんが提案]
+
+    構文:
+
+      ~~deleted text~~
+
+  * Markdownマークアップ: 直接HTMLを記述する方法をサポートしていないた
+    め、HTMLを書いたらエラーになるようにした。
+
+  * エスケープキーで検索を止められるようにした。
+
+  * RDマークアップ: (({pango})) block verbatimをサポートした。
+    ((<Pangoのマークアップ|URL:https://developer.gnome.org/pango/stable/PangoMarkupFormat.html>))をしたテキストを指定できる。
+
+    構文:
+
+      # pango
+
+      <span foreground="red">Red Text</span>
+
+  * ファイル選択ダイアログでMarkdownファイルのみを絞り込めるようにした。
+    [GitHub#83][tSU_Rootさんがパッチ提供]
+
+  * Markdownマークアップ: サポートしていない平行線マークアップを使った
+    場合はエラーを報告するようにした。
+    [GitHub#84][tSU_RooTさんが報告]
+
+  * Markdownマークアップ: リスト内でのリストをサポートした。
+    [GitHub#85][tSU_RooTさんが報告]
+
+==== テーマ
+
+  * default-title-text: (({@title_slide_font_size}))で作者のフォントサ
+    イズをカスタマイズできるようにした。
+
+  * background-image-toolkit: 縦方向の整列方法として(({bottom}))をサポー
+    トした。
+
+  * image-viewer: コメントをサポートした。
+
+  * syntax-highlighting: diff形式をサポートした。
+
+  * syntax-highlighting: 数字を色付けすることをやめた。
+
+  * clear-blue: シンタックスハイライト部分の枠の色を指定した。
+
+==== ドキュメント
+
+  * ライセンスの詳細をリンクにした。
+    [GitHub#86][tSU_Rootさんがパッチ提供]
+
+  * Markdownでのスライドの書き方ドキュメントを更新した。
+    [GitHub#89][tSU_Rootさんがパッチ提供]
+
+=== 修正
+
+==== rabbit
+
+  * 不正な内容のスライドを指定するとクラッシュする問題を修正した。
+    [GitHub#76][takiy33さんが報告]
+
+  * (({--margin}))オプションの値のパース方法が間違っていた問題を修正し
+    た。
+    [GitHub#82][zundaさんがパッチ提供]
+
+==== テーマ
+
+   * image: Markdownマークアップとimage-timerテーマを一緒に使うと画像
+     が小さくなる問題を修正した。
+     [GitHub#78][とみたまさひろさんが報告]
+
+   * image: キャプション付き画像のサイズが安定しない問題を修正した。
+     [GitHub#88][とみたまさひろさんが報告]
+
+=== 感謝
+
+  * takiy33さん
+
+  * yoku0825さん
+
+  * とみたまさひろさん
+
+  * zundaさん
+
+  * tSU_Rootさん
+
 == 2.1.8: 2015-09-06
 
 2.1.7がWindowsで動かない問題を修正したリリース
diff --git a/entities/ent2rb.rb b/entities/ent2rb.rb
index 24efad8..a224f60 100755
--- a/entities/ent2rb.rb
+++ b/entities/ent2rb.rb
@@ -17,6 +17,25 @@ def expand_ext_ref(str, table)
   end
 end
 
+external_params = {}
+entities = {}
+ARGF.each do |line|
+  case line
+  when /^<!ENTITY\s+%\s+(\w+)\s+"(\S+)"\s*>/
+    # p ["%", $1, $2]
+    external_params[$1] = expand_ref($2)
+  when /^<!ENTITY\s+(\w+)\s+"(\S+)"\s*>\s*<!--\s*(.+)\s*-->/
+    key = $1
+    comment = $3.strip
+    value = expand_ext_ref($2.gsub(/&/, '&'), external_params)
+    next if entities.key?(key)
+    entities[key] = {
+      :value   => value,
+      :comment => comment,
+    }
+  end
+end
+
 File.open(File.join(*%W(lib rabbit parser ext entity)) + ".rb", "w") do |out|
   out.print <<-HEADER
 require 'rabbit/element'
@@ -26,32 +45,21 @@ module Rabbit
     module Ext
       module Entity
         TABLE = {
-HEADER
-
-      ext_param = {}
-      ARGF.each do |line|
-        case line
-        when /^<!ENTITY\s+%\s+(\w+)\s+"(\S+)"\s*>/
-          # p ["%", $1, $2]
-          ext_param[$1] = expand_ref($2)
-        when /^<!ENTITY\s+(\w+)\s+"(\S+)"\s*>\s*<!--\s*(.+)\s*-->/
-          key = $1
-          comment = $3.strip
-          value = expand_ext_ref($2.gsub(/&/, '&'), ext_param)
-          out.print <<-ITEM
-          # #{comment}
-          #{key.dump} => #{value.dump},
-ITEM
-          # p [key, value, comment, name]
-        end
-      end
+  HEADER
 
-      out.print <<-FOOTER
+  entities.keys.sort.each do |key|
+    attributes = entities[key]
+    value   = attributes[:value]
+    comment = attributes[:comment]
+    out.puts("          # #{comment}") unless comment.empty?
+    out.puts("          #{key.dump} => #{value.dump},")
+  end
+
+  out.print <<-FOOTER
         }
       end
     end
   end
 end
-FOOTER
-
+  FOOTER
 end
diff --git a/lib/rabbit/command/rabbit.rb b/lib/rabbit/command/rabbit.rb
index 49e9825..648de7f 100644
--- a/lib/rabbit/command/rabbit.rb
+++ b/lib/rabbit/command/rabbit.rb
@@ -52,13 +52,16 @@ module Rabbit
         succeeded = false
         application.signal_connect("command-line") do |_, command_line|
           application.activate
-          0
+          succeeded ? 0 : 1
         end
         application.signal_connect("activate") do
-          succeeded = __send__("do_#{@options.action}")
+          begin
+            succeeded = __send__("do_#{@options.action}")
+          rescue
+            @logger.error($!)
+          end
         end
-        application.run
-        succeeded
+        application.run.zero?
       end
 
       private
@@ -444,7 +447,7 @@ module Rabbit
                     Array,
                     _("Set page margin.")) do |margins|
             begin
-              top, right, bottom, left = Utils.parse_four_dimensions(margins)
+              top, right, bottom, left = Utils.parse_four_way(margins)
               options.page_margin_top = top
               options.page_margin_right = right
               options.page_margin_bottom = bottom
@@ -648,6 +651,7 @@ module Rabbit
         add_source_dialog_filter(dialog, "RD files", "*.rd")
         add_source_dialog_filter(dialog, "Hiki files", "*.hiki")
         add_source_dialog_filter(dialog, "PDF files", "*.pdf")
+        add_source_dialog_filter(dialog, "Markdown files", "*.md")
         add_source_dialog_filter(dialog, "All files", "*")
         file_name = nil
         if dialog.run == Gtk::Dialog::RESPONSE_ACCEPT
diff --git a/lib/rabbit/parser/ext/entity.rb b/lib/rabbit/parser/ext/entity.rb
index 539793f..14099fe 100644
--- a/lib/rabbit/parser/ext/entity.rb
+++ b/lib/rabbit/parser/ext/entity.rb
@@ -5,3036 +5,152 @@ module Rabbit
     module Ext
       module Entity
         TABLE = {
-          # angle with down zig-zag arrow
-          "angzarr" => "&#x0237C;",
-          # circle, mid below
-          "cirmid" => "&#x02AEF;",
-          # left, curved, down arrow
-          "cudarrl" => "&#x02938;",
-          # right, curved, down arrow
-          "cudarrr" => "&#x02935;",
-          # /curvearrowleft A: left curved arrow
-          "cularr" => "&#x021B6;",
-          # curved left arrow with plus
-          "cularrp" => "&#x0293D;",
-          # /curvearrowright A: rt curved arrow
-          "curarr" => "&#x021B7;",
-          # curved right arrow with minus
-          "curarrm" => "&#x0293C;",
-          # down two-headed arrow
-          "Darr" => "&#x021A1;",
-          # /Downarrow A: down dbl arrow
-          "dArr" => "&#x021D3;",
-          # /downdownarrows A: two down arrows
-          "ddarr" => "&#x021CA;",
+          # =capital AE diphthong (ligature)
+          "AElig" => "&#x000C6;",
+          # =capital A, acute accent
+          "Aacute" => "&#x000C1;",
+          # =capital A, breve
+          "Abreve" => "&#x00102;",
+          # =capital A, circumflex accent
+          "Acirc" => "&#x000C2;",
+          # =capital A, Cyrillic
+          "Acy" => "&#x00410;",
+          # /frak A, upper case a
+          "Afr" => "&#x1D504;",
+          # =capital A, grave accent
+          "Agrave" => "&#x000C0;",
+          # =capital A, macron
+          "Amacr" => "&#x00100;",
+          # dbl logical and
+          "And" => "&#x02A53;",
+          # =capital A, ogonek
+          "Aogon" => "&#x00104;",
+          # /Bbb A, open face A
+          "Aopf" => "&#x1D538;",
+          # character showing function application in presentation tagging
+          "ApplyFunction" => "&#x02061;",
+          # =capital A, ring
+          "Aring" => "&#x000C5;",
+          # /scr A, script letter A
+          "Ascr" => "&#x1D49C;",
+          # assignment operator, alias ISOAMSR colone
+          "Assign" => "&#x02254;",
+          # =capital A, tilde
+          "Atilde" => "&#x000C3;",
+          # =capital A, dieresis or umlaut mark
+          "Auml" => "&#x000C4;",
+          # alias ISOAMSB setmn
+          "Backslash" => "&#x02216;",
+          # vert, dbl bar (over)
+          "Barv" => "&#x02AE7;",
+          # /doublebarwedge B: log and, dbl bar above
+          "Barwed" => "&#x02306;",
+          # =capital BE, Cyrillic
+          "Bcy" => "&#x00411;",
+          # alias ISOTECH becaus
+          "Because" => "&#x02235;",
+          # alias ISOTECH bernou
+          "Bernoullis" => "&#x0212C;",
+          # /frak B, upper case b
+          "Bfr" => "&#x1D505;",
+          # /Bbb B, open face B
+          "Bopf" => "&#x1D539;",
+          # alias ISODIA breve
+          "Breve" => "&#x002D8;",
+          # /scr B, script letter B
+          "Bscr" => "&#x0212C;",
+          # alias ISOAMSR bump
+          "Bumpeq" => "&#x0224E;",
+          # =capital CHE, Cyrillic
+          "CHcy" => "&#x00427;",
+          # =capital C, acute accent
+          "Cacute" => "&#x00106;",
+          # /Cap /doublecap B: dbl intersection
+          "Cap" => "&#x022D2;",
+          # D for use in differentials, e.g., within integrals
+          "CapitalDifferentialD" => "&#x02145;",
+          # the non-associative ring of octonions or Cayley numbers
+          "Cayleys" => "&#x0212D;",
+          # =capital C, caron
+          "Ccaron" => "&#x0010C;",
+          # =capital C, cedilla
+          "Ccedil" => "&#x000C7;",
+          # =capital C, circumflex accent
+          "Ccirc" => "&#x00108;",
+          # triple contour integral operator
+          "Cconint" => "&#x02230;",
+          # =capital C, dot above
+          "Cdot" => "&#x0010A;",
+          # alias ISODIA cedil
+          "Cedilla" => "&#x000B8;",
+          # alias ISONUM middot
+          "CenterDot" => "&#x000B7;",
+          # /frak C, upper case c
+          "Cfr" => "&#x0212D;",
+          # alias ISOAMSB odot
+          "CircleDot" => "&#x02299;",
+          # alias ISOAMSB ominus
+          "CircleMinus" => "&#x02296;",
+          # alias ISOAMSB oplus
+          "CirclePlus" => "&#x02295;",
+          # alias ISOAMSB otimes
+          "CircleTimes" => "&#x02297;",
+          # alias ISOTECH cwconint
+          "ClockwiseContourIntegral" => "&#x02232;",
+          # alias ISONUM rdquo
+          "CloseCurlyDoubleQuote" => "&#x0201D;",
+          # alias ISONUM rsquo
+          "CloseCurlyQuote" => "&#x02019;",
+          # /Colon, two colons
+          "Colon" => "&#x02237;",
+          # double colon, equals
+          "Colone" => "&#x02A74;",
+          # alias ISOTECH equiv
+          "Congruent" => "&#x02261;",
+          # double contour integral operator
+          "Conint" => "&#x0222F;",
+          # alias ISOTECH conint
+          "ContourIntegral" => "&#x0222E;",
+          # /Bbb C, open face C
+          "Copf" => "&#x02102;",
+          # alias ISOAMSB coprod
+          "Coproduct" => "&#x02210;",
+          # alias ISOTECH awconint
+          "CounterClockwiseContourIntegral" => "&#x02233;",
+          # cross or vector product
+          "Cross" => "&#x02A2F;",
+          # /scr C, script letter C
+          "Cscr" => "&#x1D49E;",
+          # /Cup /doublecup B: dbl union
+          "Cup" => "&#x022D3;",
+          # alias asympeq
+          "CupCap" => "&#x0224D;",
+          # D for use in differentials, e.g., within integrals
+          "DD" => "&#x02145;",
           # right arrow with dotted stem
           "DDotrahd" => "&#x02911;",
-          # down fish tail
-          "dfisht" => "&#x0297F;",
-          # down harpoon-left, down harpoon-right
-          "dHar" => "&#x02965;",
-          # /downharpoonleft A: dn harpoon-left
-          "dharl" => "&#x021C3;",
-          # /downharpoonright A: down harpoon-rt
-          "dharr" => "&#x021C2;",
-          # down arrow, up arrow
-          "duarr" => "&#x021F5;",
-          # down harp, up harp
-          "duhar" => "&#x0296F;",
-          # right long zig-zag arrow
-          "dzigrarr" => "&#x027FF;",
-          # equal, right arrow below
-          "erarr" => "&#x02971;",
-          # /Leftrightarrow A: l&r dbl arrow
-          "hArr" => "&#x021D4;",
-          # /leftrightarrow A: l&r arrow
-          "harr" => "&#x02194;",
-          # left and right arrow with a circle
-          "harrcir" => "&#x02948;",
-          # /leftrightsquigarrow A: l&r arr-wavy
-          "harrw" => "&#x021AD;",
-          # horizontal open arrow
-          "hoarr" => "&#x021FF;",
-          # image of
-          "imof" => "&#x022B7;",
-          # /Lleftarrow A: left triple arrow
-          "lAarr" => "&#x021DA;",
-          # /twoheadleftarrow A:
-          "Larr" => "&#x0219E;",
-          # left arrow-bar, filled square
-          "larrbfs" => "&#x0291F;",
-          # left arrow, filled square
-          "larrfs" => "&#x0291D;",
-          # /hookleftarrow A: left arrow-hooked
-          "larrhk" => "&#x021A9;",
-          # /looparrowleft A: left arrow-looped
-          "larrlp" => "&#x021AB;",
-          # left arrow, plus
-          "larrpl" => "&#x02939;",
-          # left arrow, similar
-          "larrsim" => "&#x02973;",
-          # /leftarrowtail A: left arrow-tailed
-          "larrtl" => "&#x021A2;",
-          # left double arrow-tail
-          "lAtail" => "&#x0291B;",
-          # left arrow-tail
-          "latail" => "&#x02919;",
-          # left doubly broken arrow
-          "lBarr" => "&#x0290E;",
-          # left broken arrow
-          "lbarr" => "&#x0290C;",
-          # left down curved arrow
-          "ldca" => "&#x02936;",
-          # left harpoon-down over right harpoon-down
-          "ldrdhar" => "&#x02967;",
-          # left-down-right-up harpoon
-          "ldrushar" => "&#x0294B;",
-          # left down angled arrow
-          "ldsh" => "&#x021B2;",
-          # left fish tail
-          "lfisht" => "&#x0297C;",
-          # left harpoon-up over left harpoon-down
-          "lHar" => "&#x02962;",
-          # /leftharpoondown A: l harpoon-down
-          "lhard" => "&#x021BD;",
-          # /leftharpoonup A: left harpoon-up
-          "lharu" => "&#x021BC;",
-          # left harpoon-up over long dash
-          "lharul" => "&#x0296A;",
-          # /leftleftarrows A: two left arrows
-          "llarr" => "&#x021C7;",
-          # left harpoon-down below long dash
-          "llhard" => "&#x0296B;",
-          # left open arrow
-          "loarr" => "&#x021FD;",
-          # /leftrightarrows A: l arr over r arr
-          "lrarr" => "&#x021C6;",
-          # /leftrightharpoons A: l harp over r
-          "lrhar" => "&#x021CB;",
-          # right harpoon-down below long dash
-          "lrhard" => "&#x0296D;",
-          # /Lsh A:
-          "lsh" => "&#x021B0;",
-          # left-up-right-down harpoon
-          "lurdshar" => "&#x0294A;",
-          # left harpoon-up over right harpoon-up
-          "luruhar" => "&#x02966;",
-          # twoheaded mapsto
-          "Map" => "&#x02905;",
-          # /mapsto A:
-          "map" => "&#x021A6;",
-          # mid, circle below
-          "midcir" => "&#x02AF0;",
-          # /multimap A:
-          "mumap" => "&#x022B8;",
-          # NE arrow-hooked
-          "nearhk" => "&#x02924;",
-          # NE pointing dbl arrow
-          "neArr" => "&#x021D7;",
-          # /nearrow A: NE pointing arrow
-          "nearr" => "&#x02197;",
-          # /toea A: NE & SE arrows
-          "nesear" => "&#x02928;",
-          # /nLeftrightarrow A: not l&r dbl arr
-          "nhArr" => "&#x021CE;",
-          # /nleftrightarrow A: not l&r arrow
-          "nharr" => "&#x021AE;",
-          # /nLeftarrow A: not implied by
-          "nlArr" => "&#x021CD;",
-          # /nleftarrow A: not left arrow
-          "nlarr" => "&#x0219A;",
-          # /nRightarrow A: not implies
-          "nrArr" => "&#x021CF;",
-          # /nrightarrow A: not right arrow
-          "nrarr" => "&#x0219B;",
-          # not right arrow-curved
-          "nrarrc" => "&#x02933;&#x00338;",
-          # not right arrow-wavy
-          "nrarrw" => "&#x0219D;&#x00338;",
-          # not, vert, left and right double arrow
-          "nvHarr" => "&#x02904;",
-          # not, vert, left double arrow
-          "nvlArr" => "&#x02902;",
-          # not, vert, right double arrow
-          "nvrArr" => "&#x02903;",
-          # NW arrow-hooked
-          "nwarhk" => "&#x02923;",
-          # NW pointing dbl arrow
-          "nwArr" => "&#x021D6;",
-          # /nwarrow A: NW pointing arrow
-          "nwarr" => "&#x02196;",
-          # NW & NE arrows
-          "nwnear" => "&#x02927;",
-          # /circlearrowleft A: l arr in circle
-          "olarr" => "&#x021BA;",
-          # /circlearrowright A: r arr in circle
-          "orarr" => "&#x021BB;",
-          # original of
-          "origof" => "&#x022B6;",
-          # /Rrightarrow A: right triple arrow
-          "rAarr" => "&#x021DB;",
-          # /twoheadrightarrow A:
-          "Rarr" => "&#x021A0;",
-          # approximate, right arrow above
-          "rarrap" => "&#x02975;",
-          # right arrow-bar, filled square
-          "rarrbfs" => "&#x02920;",
-          # right arrow-curved
-          "rarrc" => "&#x02933;",
-          # right arrow, filled square
-          "rarrfs" => "&#x0291E;",
-          # /hookrightarrow A: rt arrow-hooked
-          "rarrhk" => "&#x021AA;",
-          # /looparrowright A: rt arrow-looped
-          "rarrlp" => "&#x021AC;",
-          # right arrow, plus
-          "rarrpl" => "&#x02945;",
-          # right arrow, similar
-          "rarrsim" => "&#x02974;",
-          # right two-headed arrow with tail
-          "Rarrtl" => "&#x02916;",
-          # /rightarrowtail A: rt arrow-tailed
-          "rarrtl" => "&#x021A3;",
-          # /rightsquigarrow A: rt arrow-wavy
-          "rarrw" => "&#x0219D;",
-          # right double arrow-tail
-          "rAtail" => "&#x0291C;",
-          # right arrow-tail
-          "ratail" => "&#x0291A;",
-          # /drbkarow A: twoheaded right broken arrow
-          "RBarr" => "&#x02910;",
-          # /dbkarow A: right doubly broken arrow
-          "rBarr" => "&#x0290F;",
-          # /bkarow A: right broken arrow
-          "rbarr" => "&#x0290D;",
-          # right down curved arrow
-          "rdca" => "&#x02937;",
-          # right harpoon-down over left harpoon-down
-          "rdldhar" => "&#x02969;",
-          # right down angled arrow
-          "rdsh" => "&#x021B3;",
-          # right fish tail
-          "rfisht" => "&#x0297D;",
-          # right harpoon-up over right harpoon-down
-          "rHar" => "&#x02964;",
-          # /rightharpoondown A: rt harpoon-down
-          "rhard" => "&#x021C1;",
-          # /rightharpoonup A: rt harpoon-up
-          "rharu" => "&#x021C0;",
-          # right harpoon-up over long dash
-          "rharul" => "&#x0296C;",
-          # /rightleftarrows A: r arr over l arr
-          "rlarr" => "&#x021C4;",
-          # /rightleftharpoons A: r harp over l
-          "rlhar" => "&#x021CC;",
-          # right open arrow
-          "roarr" => "&#x021FE;",
-          # /rightrightarrows A: two rt arrows
-          "rrarr" => "&#x021C9;",
-          # /Rsh A:
-          "rsh" => "&#x021B1;",
-          # right harpoon-up over left harpoon-up
-          "ruluhar" => "&#x02968;",
-          # /hksearow A: SE arrow-hooken
-          "searhk" => "&#x02925;",
-          # SE pointing dbl arrow
-          "seArr" => "&#x021D8;",
-          # /searrow A: SE pointing arrow
-          "searr" => "&#x02198;",
-          # /tosa A: SE & SW arrows
-          "seswar" => "&#x02929;",
-          # similar, right arrow below
-          "simrarr" => "&#x02972;",
-          # short left arrow
-          "slarr" => "&#x02190;",
-          # short right arrow
-          "srarr" => "&#x02192;",
-          # /hkswarow A: SW arrow-hooked
-          "swarhk" => "&#x02926;",
-          # SW pointing dbl arrow
-          "swArr" => "&#x021D9;",
-          # /swarrow A: SW pointing arrow
-          "swarr" => "&#x02199;",
-          # SW & NW arrows
-          "swnwar" => "&#x0292A;",
-          # up two-headed arrow
-          "Uarr" => "&#x0219F;",
-          # /Uparrow A: up dbl arrow
-          "uArr" => "&#x021D1;",
-          # up two-headed arrow above circle
-          "Uarrocir" => "&#x02949;",
-          # up arrow, down arrow
-          "udarr" => "&#x021C5;",
-          # up harp, down harp
-          "udhar" => "&#x0296E;",
-          # up fish tail
-          "ufisht" => "&#x0297E;",
-          # up harpoon-left, up harpoon-right
-          "uHar" => "&#x02963;",
-          # /upharpoonleft A: up harpoon-left
-          "uharl" => "&#x021BF;",
-          # /upharpoonright /restriction A: up harp-r
-          "uharr" => "&#x021BE;",
-          # /upuparrows A: two up arrows
-          "uuarr" => "&#x021C8;",
-          # /Updownarrow A: up&down dbl arrow
-          "vArr" => "&#x021D5;",
-          # /updownarrow A: up&down arrow
-          "varr" => "&#x02195;",
-          # /Longleftrightarrow A: long l&r dbl arr
-          "xhArr" => "&#x027FA;",
-          # /longleftrightarrow A: long l&r arr
-          "xharr" => "&#x027F7;",
-          # /Longleftarrow A: long l dbl arrow
-          "xlArr" => "&#x027F8;",
-          # /longleftarrow A: long left arrow
-          "xlarr" => "&#x027F5;",
-          # /longmapsto A:
-          "xmap" => "&#x027FC;",
-          # /Longrightarrow A: long rt dbl arr
-          "xrArr" => "&#x027F9;",
-          # /longrightarrow A: long right arrow
-          "xrarr" => "&#x027F6;",
-          # right zig-zag arrow
-          "zigrarr" => "&#x021DD;",
-          # most positive
-          "ac" => "&#x0223E;",
-          # most positive, two lines below
-          "acE" => "&#x0223E;&#x00333;",
-          # /amalg B: amalgamation or coproduct
-          "amalg" => "&#x02A3F;",
-          # bar, vee
-          "barvee" => "&#x022BD;",
-          # /doublebarwedge B: log and, dbl bar above
-          "Barwed" => "&#x02306;",
-          # /barwedge B: logical and, bar above
-          "barwed" => "&#x02305;",
-          # reverse solidus in square
-          "bsolb" => "&#x029C5;",
-          # /Cap /doublecap B: dbl intersection
-          "Cap" => "&#x022D2;",
-          # intersection, and
-          "capand" => "&#x02A44;",
-          # intersection, bar, union
-          "capbrcup" => "&#x02A49;",
-          # intersection, intersection, joined
-          "capcap" => "&#x02A4B;",
-          # intersection above union
-          "capcup" => "&#x02A47;",
-          # intersection, with dot
-          "capdot" => "&#x02A40;",
-          # intersection, serifs
-          "caps" => "&#x02229;&#x0FE00;",
-          # closed intersection, serifs
-          "ccaps" => "&#x02A4D;",
-          # closed union, serifs
-          "ccups" => "&#x02A4C;",
-          # closed union, serifs, smash product
-          "ccupssm" => "&#x02A50;",
-          # /coprod L: coproduct operator
-          "coprod" => "&#x02210;",
-          # /Cup /doublecup B: dbl union
-          "Cup" => "&#x022D3;",
-          # union, bar, intersection
-          "cupbrcap" => "&#x02A48;",
-          # union above intersection
-          "cupcap" => "&#x02A46;",
-          # union, union, joined
-          "cupcup" => "&#x02A4A;",
-          # union, with dot
-          "cupdot" => "&#x0228D;",
-          # union, or
-          "cupor" => "&#x02A45;",
-          # union, serifs
-          "cups" => "&#x0222A;&#x0FE00;",
-          # /curlyvee B: curly logical or
-          "cuvee" => "&#x022CE;",
-          # /curlywedge B: curly logical and
-          "cuwed" => "&#x022CF;",
+          # =capital DJE, Serbian
+          "DJcy" => "&#x00402;",
+          # =capital DSE, Macedonian
+          "DScy" => "&#x00405;",
+          # =capital dze, Serbian
+          "DZcy" => "&#x0040F;",
           # /ddagger B: double dagger relation
           "Dagger" => "&#x02021;",
-          # /dagger B: dagger relation
-          "dagger" => "&#x02020;",
-          # /diamond B: open diamond
-          "diam" => "&#x022C4;",
-          # /divideontimes B: division on times
-          "divonx" => "&#x022C7;",
-          # equal, plus
-          "eplus" => "&#x02A71;",
-          # hermitian conjugate matrix
-          "hercon" => "&#x022B9;",
-          # /intercal B: intercal
-          "intcal" => "&#x022BA;",
-          # /intprod
-          "iprod" => "&#x02A3C;",
-          # plus sign in left half circle
-          "loplus" => "&#x02A2D;",
-          # multiply sign in left half circle
-          "lotimes" => "&#x02A34;",
-          # /leftthreetimes B:
-          "lthree" => "&#x022CB;",
-          # /ltimes B: times sign, left closed
-          "ltimes" => "&#x022C9;",
-          # /ast B: asterisk
-          "midast" => "&#x0002A;",
-          # /boxminus B: minus sign in box
-          "minusb" => "&#x0229F;",
-          # /dotminus B: minus sign, dot above
-          "minusd" => "&#x02238;",
-          # minus sign, dot below
-          "minusdu" => "&#x02A2A;",
-          # bar, intersection
-          "ncap" => "&#x02A43;",
-          # bar, union
-          "ncup" => "&#x02A42;",
-          # /circledast B: asterisk in circle
-          "oast" => "&#x0229B;",
-          # /circledcirc B: small circle in circle
-          "ocir" => "&#x0229A;",
-          # /circleddash B: hyphen in circle
-          "odash" => "&#x0229D;",
-          # divide in circle
-          "odiv" => "&#x02A38;",
-          # /odot B: middle dot in circle
-          "odot" => "&#x02299;",
-          # dot, solidus, dot in circle
-          "odsold" => "&#x029BC;",
-          # filled circle in circle
-          "ofcir" => "&#x029BF;",
-          # greater-than in circle
-          "ogt" => "&#x029C1;",
-          # circle with horizontal bar
-          "ohbar" => "&#x029B5;",
-          # large circle in circle
-          "olcir" => "&#x029BE;",
-          # less-than in circle
-          "olt" => "&#x029C0;",
-          # vertical bar in circle
-          "omid" => "&#x029B6;",
-          # /ominus B: minus sign in circle
-          "ominus" => "&#x02296;",
-          # parallel in circle
-          "opar" => "&#x029B7;",
-          # perpendicular in circle
-          "operp" => "&#x029B9;",
-          # /oplus B: plus sign in circle
-          "oplus" => "&#x02295;",
-          # /oslash B: solidus in circle
-          "osol" => "&#x02298;",
-          # multiply sign in double circle
-          "Otimes" => "&#x02A37;",
-          # /otimes B: multiply sign in circle
-          "otimes" => "&#x02297;",
-          # multiply sign in circle, circumflex accent
-          "otimesas" => "&#x02A36;",
-          # circle with vertical bar
-          "ovbar" => "&#x0233D;",
-          # plus, circumflex accent above
-          "plusacir" => "&#x02A23;",
-          # /boxplus B: plus sign in box
-          "plusb" => "&#x0229E;",
-          # plus, small circle above
-          "pluscir" => "&#x02A22;",
-          # /dotplus B: plus sign, dot above
-          "plusdo" => "&#x02214;",
-          # plus sign, dot below
-          "plusdu" => "&#x02A25;",
-          # plus, equals
-          "pluse" => "&#x02A72;",
-          # plus, similar below
-          "plussim" => "&#x02A26;",
-          # plus, two; Nim-addition
-          "plustwo" => "&#x02A27;",
-          # /prod L: product operator
-          "prod" => "&#x0220F;",
-          # reverse most positive, line below
-          "race" => "&#x029DA;",
-          # plus sign in right half circle
-          "roplus" => "&#x02A2E;",
-          # multiply sign in right half circle
-          "rotimes" => "&#x02A35;",
-          # /rightthreetimes B:
-          "rthree" => "&#x022CC;",
-          # /rtimes B: times sign, right closed
-          "rtimes" => "&#x022CA;",
-          # /cdot B: small middle dot
-          "sdot" => "&#x022C5;",
-          # /dotsquare /boxdot B: small dot in box
-          "sdotb" => "&#x022A1;",
-          # /setminus B: reverse solidus
-          "setmn" => "&#x02216;",
-          # plus, similar above
-          "simplus" => "&#x02A24;",
-          # smash product
-          "smashp" => "&#x02A33;",
-          # solidus in square
-          "solb" => "&#x029C4;",
-          # /sqcap B: square intersection
-          "sqcap" => "&#x02293;",
-          # square intersection, serifs
-          "sqcaps" => "&#x02293;&#x0FE00;",
-          # /sqcup B: square union
-          "sqcup" => "&#x02294;",
-          # square union, serifs
-          "sqcups" => "&#x02294;&#x0FE00;",
-          # /smallsetminus B: sm reverse solidus
-          "ssetmn" => "&#x02216;",
-          # /star B: small star, filled
-          "sstarf" => "&#x022C6;",
-          # subset, with dot
-          "subdot" => "&#x02ABD;",
-          # /sum L: summation operator
-          "sum" => "&#x02211;",
-          # superset, with dot
-          "supdot" => "&#x02ABE;",
-          # /boxtimes B: multiply sign in box
-          "timesb" => "&#x022A0;",
-          # multiply sign, bar below
-          "timesbar" => "&#x02A31;",
-          # times, dot
-          "timesd" => "&#x02A30;",
-          # dot in triangle
-          "tridot" => "&#x025EC;",
-          # minus in triangle
-          "triminus" => "&#x02A3A;",
-          # plus in triangle
-          "triplus" => "&#x02A39;",
-          # triangle, serifs at bottom
-          "trisb" => "&#x029CD;",
-          # multiply in triangle
-          "tritime" => "&#x02A3B;",
-          # /uplus B: plus sign in union
-          "uplus" => "&#x0228E;",
-          # /veebar B: logical or, bar below
-          "veebar" => "&#x022BB;",
-          # wedge, bar below
-          "wedbar" => "&#x02A5F;",
-          # /wr B: wreath product
-          "wreath" => "&#x02240;",
-          # /bigcap L: intersection operator
-          "xcap" => "&#x022C2;",
-          # /bigcirc B: large circle
-          "xcirc" => "&#x025EF;",
-          # /bigcup L: union operator
-          "xcup" => "&#x022C3;",
-          # /bigtriangledown B: big dn tri, open
-          "xdtri" => "&#x025BD;",
-          # /bigodot L: circle dot operator
-          "xodot" => "&#x02A00;",
-          # /bigoplus L: circle plus operator
-          "xoplus" => "&#x02A01;",
-          # /bigotimes L: circle times operator
-          "xotime" => "&#x02A02;",
-          # /bigsqcup L: square union operator
-          "xsqcup" => "&#x02A06;",
-          # /biguplus L:
-          "xuplus" => "&#x02A04;",
-          # /bigtriangleup B: big up tri, open
-          "xutri" => "&#x025B3;",
-          # /bigvee L: logical and operator
-          "xvee" => "&#x022C1;",
-          # /bigwedge L: logical or operator
-          "xwedge" => "&#x022C0;",
-          # /llcorner O: lower left corner
-          "dlcorn" => "&#x0231E;",
-          # /lrcorner C: lower right corner
-          "drcorn" => "&#x0231F;",
-          # dbl left parenthesis, greater
-          "gtlPar" => "&#x02995;",
-          # left angle, dot
-          "langd" => "&#x02991;",
-          # left bracket, equal
-          "lbrke" => "&#x0298B;",
-          # left bracket, solidus bottom corner
-          "lbrksld" => "&#x0298F;",
-          # left bracket, solidus top corner
-          "lbrkslu" => "&#x0298D;",
-          # /lceil O: left ceiling
-          "lceil" => "&#x02308;",
-          # /lfloor O: left floor
-          "lfloor" => "&#x0230A;",
-          # /lmoustache
-          "lmoust" => "&#x023B0;",
-          # O: left parenthesis, lt
-          "lparlt" => "&#x02993;",
-          # dbl right parenthesis, less
-          "ltrPar" => "&#x02996;",
-          # right angle, dot
-          "rangd" => "&#x02992;",
-          # right bracket, equal
-          "rbrke" => "&#x0298C;",
-          # right bracket, solidus bottom corner
-          "rbrksld" => "&#x0298E;",
-          # right bracket, solidus top corner
-          "rbrkslu" => "&#x02990;",
-          # /rceil C: right ceiling
-          "rceil" => "&#x02309;",
-          # /rfloor C: right floor
-          "rfloor" => "&#x0230B;",
-          # /rmoustache
-          "rmoust" => "&#x023B1;",
-          # C: right paren, gt
-          "rpargt" => "&#x02994;",
-          # /ulcorner O: upper left corner
-          "ulcorn" => "&#x0231C;",
-          # /urcorner C: upper right corner
-          "urcorn" => "&#x0231D;",
-          # /gnapprox N: greater, not approximate
-          "gnap" => "&#x02A8A;",
-          # /gneqq N: greater, not dbl equals
-          "gnE" => "&#x02269;",
-          # /gneq N: greater, not equals
-          "gne" => "&#x02A88;",
-          # /gnsim N: greater, not similar
-          "gnsim" => "&#x022E7;",
-          # /gvertneqq N: gt, vert, not dbl eq
-          "gvnE" => "&#x02269;&#x0FE00;",
-          # /lnapprox N: less, not approximate
-          "lnap" => "&#x02A89;",
-          # /lneqq N: less, not double equals
-          "lnE" => "&#x02268;",
-          # /lneq N: less, not equals
-          "lne" => "&#x02A87;",
-          # /lnsim N: less, not similar
-          "lnsim" => "&#x022E6;",
-          # /lvertneqq N: less, vert, not dbl eq
-          "lvnE" => "&#x02268;&#x0FE00;",
-          # /napprox N: not approximate
-          "nap" => "&#x02249;",
-          # not approximately equal or equal to
-          "napE" => "&#x02A70;&#x00338;",
-          # not approximately identical to
-          "napid" => "&#x0224B;&#x00338;",
-          # /ncong N: not congruent with
-          "ncong" => "&#x02247;",
-          # not congruent, dot
-          "ncongdot" => "&#x02A6D;&#x00338;",
-          # /nequiv N: not identical with
-          "nequiv" => "&#x02262;",
-          # /ngeqq N: not greater, dbl equals
-          "ngE" => "&#x02267;&#x00338;",
-          # /ngeq N: not greater-than-or-equal
-          "nge" => "&#x02271;",
-          # /ngeqslant N: not gt-or-eq, slanted
-          "nges" => "&#x02A7E;&#x00338;",
-          # not triple greater than
-          "nGg" => "&#x022D9;&#x00338;",
-          # not greater, similar
-          "ngsim" => "&#x02275;",
-          # not, vert, much greater than
-          "nGt" => "&#x0226B;&#x020D2;",
-          # /ngtr N: not greater-than
-          "ngt" => "&#x0226F;",
-          # not much greater than, variant
-          "nGtv" => "&#x0226B;&#x00338;",
-          # /nleqq N: not less, dbl equals
-          "nlE" => "&#x02266;&#x00338;",
-          # /nleq N: not less-than-or-equal
-          "nle" => "&#x02270;",
-          # /nleqslant N: not less-or-eq, slant
-          "nles" => "&#x02A7D;&#x00338;",
-          # not triple less than
-          "nLl" => "&#x022D8;&#x00338;",
-          # not less, similar
-          "nlsim" => "&#x02274;",
-          # not, vert, much less than
-          "nLt" => "&#x0226A;&#x020D2;",
-          # /nless N: not less-than
-          "nlt" => "&#x0226E;",
-          # /ntriangleleft N: not left triangle
-          "nltri" => "&#x022EA;",
-          # /ntrianglelefteq N: not l tri, eq
-          "nltrie" => "&#x022EC;",
-          # not much less than, variant
-          "nLtv" => "&#x0226A;&#x00338;",
-          # /nmid
-          "nmid" => "&#x02224;",
-          # /nparallel N: not parallel
-          "npar" => "&#x02226;",
-          # /nprec N: not precedes
-          "npr" => "&#x02280;",
-          # not curly precedes, eq
-          "nprcue" => "&#x022E0;",
-          # /npreceq N: not precedes, equals
-          "npre" => "&#x02AAF;&#x00338;",
-          # /ntriangleright N: not rt triangle
-          "nrtri" => "&#x022EB;",
-          # /ntrianglerighteq N: not r tri, eq
-          "nrtrie" => "&#x022ED;",
-          # /nsucc N: not succeeds
-          "nsc" => "&#x02281;",
-          # not succeeds, curly eq
-          "nsccue" => "&#x022E1;",
-          # /nsucceq N: not succeeds, equals
-          "nsce" => "&#x02AB0;&#x00338;",
-          # /nsim N: not similar
-          "nsim" => "&#x02241;",
-          # /nsimeq N: not similar, equals
-          "nsime" => "&#x02244;",
-          # /nshortmid
-          "nsmid" => "&#x02224;",
-          # /nshortparallel N: not short par
-          "nspar" => "&#x02226;",
-          # not, square subset, equals
-          "nsqsube" => "&#x022E2;",
-          # not, square superset, equals
-          "nsqsupe" => "&#x022E3;",
-          # not subset
-          "nsub" => "&#x02284;",
-          # /nsubseteqq N: not subset, dbl eq
-          "nsubE" => "&#x02AC5;&#x00338;",
-          # /nsubseteq N: not subset, equals
-          "nsube" => "&#x02288;",
-          # not superset
-          "nsup" => "&#x02285;",
-          # /nsupseteqq N: not superset, dbl eq
-          "nsupE" => "&#x02AC6;&#x00338;",
-          # /nsupseteq N: not superset, equals
-          "nsupe" => "&#x02289;",
-          # not greater, less
-          "ntgl" => "&#x02279;",
-          # not less, greater
-          "ntlg" => "&#x02278;",
-          # not, vert, approximate
-          "nvap" => "&#x0224D;&#x020D2;",
-          # /nVDash N: not dbl vert, dbl dash
-          "nVDash" => "&#x022AF;",
-          # /nVdash N: not dbl vertical, dash
-          "nVdash" => "&#x022AE;",
-          # /nvDash N: not vertical, dbl dash
-          "nvDash" => "&#x022AD;",
-          # /nvdash N: not vertical, dash
-          "nvdash" => "&#x022AC;",
-          # not, vert, greater-than-or-equal
-          "nvge" => "&#x02265;&#x020D2;",
-          # not, vert, greater-than
-          "nvgt" => "&#x0003E;&#x020D2;",
-          # not, vert, less-than-or-equal
-          "nvle" => "&#x02264;&#x020D2;",
-          # not, vert, less-than
-          "nvlt" => "&#x0003C;&#x020D2;",
-          # not, vert, left triangle, equals
-          "nvltrie" => "&#x022B4;&#x020D2;",
-          # not, vert, right triangle, equals
-          "nvrtrie" => "&#x022B5;&#x020D2;",
-          # not, vert, similar
-          "nvsim" => "&#x0223C;&#x020D2;",
-          # parallel, similar
-          "parsim" => "&#x02AF3;",
-          # /precnapprox N: precedes, not approx
-          "prnap" => "&#x02AB9;",
-          # /precneqq N: precedes, not dbl eq
-          "prnE" => "&#x02AB5;",
-          # /precnsim N: precedes, not similar
-          "prnsim" => "&#x022E8;",
-          # reverse /nmid
-          "rnmid" => "&#x02AEE;",
-          # /succnapprox N: succeeds, not approx
-          "scnap" => "&#x02ABA;",
-          # /succneqq N: succeeds, not dbl eq
-          "scnE" => "&#x02AB6;",
-          # /succnsim N: succeeds, not similar
-          "scnsim" => "&#x022E9;",
-          # similar, not equals
-          "simne" => "&#x02246;",
-          # solidus, bar through
-          "solbar" => "&#x0233F;",
-          # /subsetneqq N: subset, not dbl eq
-          "subnE" => "&#x02ACB;",
-          # /subsetneq N: subset, not equals
-          "subne" => "&#x0228A;",
-          # /supsetneqq N: superset, not dbl eq
-          "supnE" => "&#x02ACC;",
-          # /supsetneq N: superset, not equals
-          "supne" => "&#x0228B;",
-          # /nsubset N: not subset, var
-          "vnsub" => "&#x02282;&#x020D2;",
-          # /nsupset N: not superset, var
-          "vnsup" => "&#x02283;&#x020D2;",
-          # /varsubsetneqq N: subset not dbl eq, var
-          "vsubnE" => "&#x02ACB;&#x0FE00;",
-          # /varsubsetneq N: subset, not eq, var
-          "vsubne" => "&#x0228A;&#x0FE00;",
-          # /varsupsetneqq N: super not dbl eq, var
-          "vsupnE" => "&#x02ACC;&#x0FE00;",
-          # /varsupsetneq N: superset, not eq, var
-          "vsupne" => "&#x0228B;&#x0FE00;",
-          # /angle - angle
-          "ang" => "&#x02220;",
-          # angle, equal
-          "ange" => "&#x029A4;",
-          # /measuredangle - angle-measured
-          "angmsd" => "&#x02221;",
-          # angle-measured, arrow, up, right
-          "angmsdaa" => "&#x029A8;",
-          # angle-measured, arrow, up, left
-          "angmsdab" => "&#x029A9;",
-          # angle-measured, arrow, down, right
-          "angmsdac" => "&#x029AA;",
-          # angle-measured, arrow, down, left
-          "angmsdad" => "&#x029AB;",
-          # angle-measured, arrow, right, up
-          "angmsdae" => "&#x029AC;",
-          # angle-measured, arrow, left, up
-          "angmsdaf" => "&#x029AD;",
-          # angle-measured, arrow, right, down
-          "angmsdag" => "&#x029AE;",
-          # angle-measured, arrow, left, down
-          "angmsdah" => "&#x029AF;",
-          # right angle-measured
-          "angrtvb" => "&#x022BE;",
-          # right angle-measured, dot
-          "angrtvbd" => "&#x0299D;",
-          # bottom square bracket
-          "bbrk" => "&#x023B5;",
-          # bottom above top square bracket
-          "bbrktbrk" => "&#x023B6;",
-          # reversed circle, slash
-          "bemptyv" => "&#x029B0;",
-          # /beth - beth, Hebrew
-          "beth" => "&#x02136;",
-          # two joined squares
-          "boxbox" => "&#x029C9;",
-          # /backprime - reverse prime
-          "bprime" => "&#x02035;",
-          # reverse semi-colon
-          "bsemi" => "&#x0204F;",
-          # circle, slash, small circle above
-          "cemptyv" => "&#x029B2;",
-          # circle, two horizontal stroked to the right
-          "cirE" => "&#x029C3;",
-          # circle, small circle to the right
-          "cirscir" => "&#x029C2;",
-          # /complement - complement sign
-          "comp" => "&#x02201;",
-          # /daleth - daleth, Hebrew
-          "daleth" => "&#x02138;",
-          # circle, slash, bar above
-          "demptyv" => "&#x029B1;",
-          # /ell - cursive small l
-          "ell" => "&#x02113;",
-          # /emptyset - zero, slash
-          "empty" => "&#x02205;",
-          # /varnothing - circle, slash
-          "emptyv" => "&#x02205;",
-          # /gimel - gimel, Hebrew
-          "gimel" => "&#x02137;",
-          # inverted iota
-          "iiota" => "&#x02129;",
-          # /Im - imaginary
-          "image" => "&#x02111;",
-          # /imath - small i, no dot
-          "imath" => "&#x00131;",
-          # /jmath - small j, no dot
-          "jmath" => "&#x0006A;",
-          # circle, slash, left arrow above
-          "laemptyv" => "&#x029B4;",
-          # lower left triangle
-          "lltri" => "&#x025FA;",
-          # lower right triangle
-          "lrtri" => "&#x022BF;",
-          # /mho - conductance
-          "mho" => "&#x02127;",
-          # not, vert, angle
-          "nang" => "&#x02220;&#x020D2;",
-          # /nexists - negated exists
-          "nexist" => "&#x02204;",
-          # /circledS - capital S in circle
-          "oS" => "&#x024C8;",
-          # /hbar - Planck's over 2pi
-          "planck" => "&#x0210F;",
-          # /hslash - variant Planck's over 2pi
-          "plankv" => "&#x0210F;",
-          # circle, slash, right arrow above
-          "raemptyv" => "&#x029B3;",
-          # reverse angle, equal
-          "range" => "&#x029A5;",
-          # /Re - real
-          "real" => "&#x0211C;",
-          # top square bracket
-          "tbrk" => "&#x023B4;",
-          # trapezium
-          "trpezium" => "&#x0FFFD;",
-          # upper left triangle
-          "ultri" => "&#x025F8;",
-          # upper right triangle
-          "urtri" => "&#x025F9;",
-          # vertical zig-zag line
-          "vzigzag" => "&#x0299A;",
-          # /wp - Weierstrass p
-          "weierp" => "&#x02118;",
-          # approximately equal or equal to
-          "apE" => "&#x02A70;",
-          # /approxeq R: approximate, equals
-          "ape" => "&#x0224A;",
-          # approximately identical to
-          "apid" => "&#x0224B;",
-          # /asymp R: asymptotically equal to
-          "asymp" => "&#x02248;",
-          # vert, dbl bar (over)
-          "Barv" => "&#x02AE7;",
-          # /backcong R: reverse congruent
-          "bcong" => "&#x0224C;",
-          # /backepsilon R: such that
-          "bepsi" => "&#x003F6;",
-          # /bowtie R:
-          "bowtie" => "&#x022C8;",
-          # /backsim R: reverse similar
-          "bsim" => "&#x0223D;",
-          # /backsimeq R: reverse similar, eq
-          "bsime" => "&#x022CD;",
-          # reverse solidus, subset
-          "bsolhsub" => "&#x0005C;&#x02282;",
-          # /Bumpeq R: bumpy equals
-          "bump" => "&#x0224E;",
-          # bump, equals
-          "bumpE" => "&#x02AAE;",
-          # /bumpeq R: bumpy equals, equals
-          "bumpe" => "&#x0224F;",
-          # /circeq R: circle, equals
-          "cire" => "&#x02257;",
-          # /Colon, two colons
-          "Colon" => "&#x02237;",
-          # double colon, equals
-          "Colone" => "&#x02A74;",
-          # /coloneq R: colon, equals
-          "colone" => "&#x02254;",
-          # congruent, dot
-          "congdot" => "&#x02A6D;",
-          # subset, closed
-          "csub" => "&#x02ACF;",
-          # subset, closed, equals
-          "csube" => "&#x02AD1;",
-          # superset, closed
-          "csup" => "&#x02AD0;",
-          # superset, closed, equals
-          "csupe" => "&#x02AD2;",
-          # /curlyeqprec R: curly eq, precedes
-          "cuepr" => "&#x022DE;",
-          # /curlyeqsucc R: curly eq, succeeds
-          "cuesc" => "&#x022DF;",
-          # dbl dash, vertical
-          "Dashv" => "&#x02AE4;",
-          # /dashv R: dash, vertical
-          "dashv" => "&#x022A3;",
-          # equal, asterisk above
-          "easter" => "&#x02A6E;",
-          # /eqcirc R: circle on equals sign
-          "ecir" => "&#x02256;",
-          # /eqcolon R: equals, colon
-          "ecolon" => "&#x02255;",
-          # /ddotseq R: equal with four dots
-          "eDDot" => "&#x02A77;",
-          # /doteqdot /Doteq R: eq, even dots
-          "eDot" => "&#x02251;",
-          # /fallingdotseq R: eq, falling dots
-          "efDot" => "&#x02252;",
-          # equal-or-greater
-          "eg" => "&#x02A9A;",
-          # /eqslantgtr R: equal-or-gtr, slanted
-          "egs" => "&#x02A96;",
-          # equal-or-greater, slanted, dot inside
-          "egsdot" => "&#x02A98;",
-          # equal-or-less
-          "el" => "&#x02A99;",
-          # /eqslantless R: eq-or-less, slanted
-          "els" => "&#x02A95;",
-          # equal-or-less, slanted, dot inside
-          "elsdot" => "&#x02A97;",
-          # /questeq R: equal with questionmark
-          "equest" => "&#x0225F;",
-          # equivalent, four dots above
-          "equivDD" => "&#x02A78;",
-          # /risingdotseq R: eq, rising dots
-          "erDot" => "&#x02253;",
-          # /doteq R: equals, single dot above
-          "esdot" => "&#x02250;",
-          # equal, similar
-          "Esim" => "&#x02A73;",
-          # /esim R: equals, similar
-          "esim" => "&#x02242;",
-          # /pitchfork R: pitchfork
-          "fork" => "&#x022D4;",
-          # fork, variant
-          "forkv" => "&#x02AD9;",
-          # /frown R: down curve
-          "frown" => "&#x02322;",
-          # /gtrapprox R: greater, approximate
-          "gap" => "&#x02A86;",
-          # /geqq R: greater, double equals
-          "gE" => "&#x02267;",
-          # /gtreqqless R: gt, dbl equals, less
-          "gEl" => "&#x02A8C;",
-          # /gtreqless R: greater, equals, less
-          "gel" => "&#x022DB;",
-          # /geqslant R: gt-or-equal, slanted
-          "ges" => "&#x02A7E;",
-          # greater than, closed by curve, equal, slanted
-          "gescc" => "&#x02AA9;",
-          # greater-than-or-equal, slanted, dot inside
-          "gesdot" => "&#x02A80;",
-          # greater-than-or-equal, slanted, dot above
-          "gesdoto" => "&#x02A82;",
-          # greater-than-or-equal, slanted, dot above left
-          "gesdotol" => "&#x02A84;",
-          # greater, equal, slanted, less
-          "gesl" => "&#x022DB;&#x0FE00;",
-          # greater, equal, slanted, less, equal, slanted
-          "gesles" => "&#x02A94;",
-          # /ggg /Gg /gggtr R: triple gtr-than
-          "Gg" => "&#x022D9;",
-          # /gtrless R: greater, less
-          "gl" => "&#x02277;",
-          # greater, less, apart
-          "gla" => "&#x02AA5;",
-          # greater, less, equal
-          "glE" => "&#x02A92;",
-          # greater, less, overlapping
-          "glj" => "&#x02AA4;",
-          # /gtrsim R: greater, similar
-          "gsim" => "&#x02273;",
-          # greater, similar, equal
-          "gsime" => "&#x02A8E;",
-          # greater, similar, less
-          "gsiml" => "&#x02A90;",
-          # /gg R: dbl greater-than sign
-          "Gt" => "&#x0226B;",
-          # greater than, closed by curve
-          "gtcc" => "&#x02AA7;",
-          # greater than, circle inside
-          "gtcir" => "&#x02A7A;",
-          # /gtrdot R: greater than, with dot
-          "gtdot" => "&#x022D7;",
-          # greater than, questionmark above
-          "gtquest" => "&#x02A7C;",
-          # greater than, right arrow
-          "gtrarr" => "&#x02978;",
-          # homothetic
-          "homtht" => "&#x0223B;",
-          # /lessapprox R: less, approximate
-          "lap" => "&#x02A85;",
-          # larger than
-          "lat" => "&#x02AAB;",
-          # larger than or equal
-          "late" => "&#x02AAD;",
-          # larger than or equal, slanted
-          "lates" => "&#x02AAD;&#x0FE00;",
-          # /leqq R: less, double equals
-          "lE" => "&#x02266;",
-          # /lesseqqgtr R: less, dbl eq, greater
-          "lEg" => "&#x02A8B;",
-          # /lesseqgtr R: less, eq, greater
-          "leg" => "&#x022DA;",
-          # /leqslant R: less-than-or-eq, slant
-          "les" => "&#x02A7D;",
-          # less than, closed by curve, equal, slanted
-          "lescc" => "&#x02AA8;",
-          # less-than-or-equal, slanted, dot inside
-          "lesdot" => "&#x02A7F;",
-          # less-than-or-equal, slanted, dot above
-          "lesdoto" => "&#x02A81;",
-          # less-than-or-equal, slanted, dot above right
-          "lesdotor" => "&#x02A83;",
-          # less, equal, slanted, greater
-          "lesg" => "&#x022DA;&#x0FE00;",
-          # less, equal, slanted, greater, equal, slanted
-          "lesges" => "&#x02A93;",
-          # /lessgtr R: less, greater
-          "lg" => "&#x02276;",
-          # less, greater, equal
-          "lgE" => "&#x02A91;",
-          # /Ll /lll /llless R: triple less-than
-          "Ll" => "&#x022D8;",
-          # /lesssim R: less, similar
-          "lsim" => "&#x02272;",
-          # less, similar, equal
-          "lsime" => "&#x02A8D;",
-          # less, similar, greater
-          "lsimg" => "&#x02A8F;",
-          # /ll R: double less-than sign
-          "Lt" => "&#x0226A;",
-          # less than, closed by curve
-          "ltcc" => "&#x02AA6;",
-          # less than, circle inside
-          "ltcir" => "&#x02A79;",
-          # /lessdot R: less than, with dot
-          "ltdot" => "&#x022D6;",
-          # less than, left arrow
-          "ltlarr" => "&#x02976;",
-          # less than, questionmark above
-          "ltquest" => "&#x02A7B;",
-          # /trianglelefteq R: left triangle, eq
-          "ltrie" => "&#x022B4;",
-          # minus, comma above
-          "mcomma" => "&#x02A29;",
-          # minus with four dots, geometric properties
-          "mDDot" => "&#x0223A;",
-          # /mid R:
-          "mid" => "&#x02223;",
-          # /mlcp
-          "mlcp" => "&#x02ADB;",
-          # /models R:
-          "models" => "&#x022A7;",
-          # most positive
-          "mstpos" => "&#x0223E;",
-          # dbl precedes
-          "Pr" => "&#x02ABB;",
-          # /prec R: precedes
-          "pr" => "&#x0227A;",
-          # /precapprox R: precedes, approximate
-          "prap" => "&#x02AB7;",
-          # /preccurlyeq R: precedes, curly eq
-          "prcue" => "&#x0227C;",
-          # precedes, dbl equals
-          "prE" => "&#x02AB3;",
-          # /preceq R: precedes, equals
-          "pre" => "&#x02AAF;",
-          # /precsim R: precedes, similar
-          "prsim" => "&#x0227E;",
-          # element precedes under relation
-          "prurel" => "&#x022B0;",
-          # /ratio
-          "ratio" => "&#x02236;",
-          # /trianglerighteq R: right tri, eq
-          "rtrie" => "&#x022B5;",
-          # right triangle above left triangle
-          "rtriltri" => "&#x029CE;",
-          # dbl succeeds
-          "Sc" => "&#x02ABC;",
-          # /succ R: succeeds
-          "sc" => "&#x0227B;",
-          # /succapprox R: succeeds, approximate
-          "scap" => "&#x02AB8;",
-          # /succcurlyeq R: succeeds, curly eq
-          "sccue" => "&#x0227D;",
-          # succeeds, dbl equals
-          "scE" => "&#x02AB4;",
-          # /succeq R: succeeds, equals
-          "sce" => "&#x02AB0;",
-          # /succsim R: succeeds, similar
-          "scsim" => "&#x0227F;",
-          # equal, dot below
-          "sdote" => "&#x02A66;",
-          # /smallfrown R: small down curve
-          "sfrown" => "&#x02322;",
-          # similar, greater
-          "simg" => "&#x02A9E;",
-          # similar, greater, equal
-          "simgE" => "&#x02AA0;",
-          # similar, less
-          "siml" => "&#x02A9D;",
-          # similar, less, equal
-          "simlE" => "&#x02A9F;",
-          # /shortmid R:
-          "smid" => "&#x02223;",
-          # /smile R: up curve
-          "smile" => "&#x02323;",
-          # smaller than
-          "smt" => "&#x02AAA;",
-          # smaller than or equal
-          "smte" => "&#x02AAC;",
-          # smaller than or equal, slanted
-          "smtes" => "&#x02AAC;&#x0FE00;",
-          # /shortparallel R: short parallel
-          "spar" => "&#x02225;",
-          # /sqsubset R: square subset
-          "sqsub" => "&#x0228F;",
-          # /sqsubseteq R: square subset, equals
-          "sqsube" => "&#x02291;",
-          # /sqsupset R: square superset
-          "sqsup" => "&#x02290;",
-          # /sqsupseteq R: square superset, eq
-          "sqsupe" => "&#x02292;",
-          # /smallsmile R: small up curve
-          "ssmile" => "&#x02323;",
-          # /Subset R: double subset
-          "Sub" => "&#x022D0;",
-          # /subseteqq R: subset, dbl equals
-          "subE" => "&#x02AC5;",
-          # subset, equals, dot
-          "subedot" => "&#x02AC3;",
-          # subset, multiply
-          "submult" => "&#x02AC1;",
-          # subset, plus
-          "subplus" => "&#x02ABF;",
-          # subset, right arrow
-          "subrarr" => "&#x02979;",
-          # subset, similar
-          "subsim" => "&#x02AC7;",
-          # subset above subset
-          "subsub" => "&#x02AD5;",
-          # subset above superset
-          "subsup" => "&#x02AD3;",
-          # /Supset R: dbl superset
-          "Sup" => "&#x022D1;",
-          # superset, subset, dash joining them
-          "supdsub" => "&#x02AD8;",
-          # /supseteqq R: superset, dbl equals
-          "supE" => "&#x02AC6;",
-          # superset, equals, dot
-          "supedot" => "&#x02AC4;",
-          # superset, solidus
-          "suphsol" => "&#x02283;&#x0002F;",
-          # superset, subset
-          "suphsub" => "&#x02AD7;",
-          # superset, left arrow
-          "suplarr" => "&#x0297B;",
-          # superset, multiply
-          "supmult" => "&#x02AC2;",
-          # superset, plus
-          "supplus" => "&#x02AC0;",
-          # superset, similar
-          "supsim" => "&#x02AC8;",
-          # superset above subset
-          "supsub" => "&#x02AD4;",
-          # superset above superset
-          "supsup" => "&#x02AD6;",
-          # /thickapprox R: thick approximate
-          "thkap" => "&#x02248;",
-          # /thicksim R: thick similar
-          "thksim" => "&#x0223C;",
-          # fork with top
-          "topfork" => "&#x02ADA;",
-          # /triangleq R: triangle, equals
-          "trie" => "&#x0225C;",
-          # /between R: between
-          "twixt" => "&#x0226C;",
-          # dbl vert, bar (under)
-          "Vbar" => "&#x02AEB;",
-          # vert, dbl bar (under)
-          "vBar" => "&#x02AE8;",
-          # dbl bar, vert over and under
-          "vBarv" => "&#x02AE9;",
-          # dbl vert, dbl dash
-          "VDash" => "&#x022AB;",
-          # /Vdash R: dbl vertical, dash
-          "Vdash" => "&#x022A9;",
-          # /vDash R: vertical, dbl dash
-          "vDash" => "&#x022A8;",
-          # /vdash R: vertical, dash
-          "vdash" => "&#x022A2;",
-          # vertical, dash (long)
-          "Vdashl" => "&#x02AE6;",
-          # /vartriangleleft R: l tri, open, var
-          "vltri" => "&#x022B2;",
-          # /varpropto R: proportional, variant
-          "vprop" => "&#x0221D;",
-          # /vartriangleright R: r tri, open, var
-          "vrtri" => "&#x022B3;",
-          # /Vvdash R: triple vertical, dash
-          "Vvdash" => "&#x022AA;",
-          # lower left quadrant
-          "boxDL" => "&#x02557;",
-          # lower left quadrant
-          "boxDl" => "&#x02556;",
-          # lower left quadrant
-          "boxdL" => "&#x02555;",
-          # lower left quadrant
-          "boxdl" => "&#x02510;",
-          # lower right quadrant
-          "boxDR" => "&#x02554;",
-          # lower right quadrant
-          "boxDr" => "&#x02553;",
-          # lower right quadrant
-          "boxdR" => "&#x02552;",
-          # lower right quadrant
-          "boxdr" => "&#x0250C;",
-          # horizontal line
-          "boxH" => "&#x02550;",
-          # horizontal line
-          "boxh" => "&#x02500;",
-          # lower left and right quadrants
-          "boxHD" => "&#x02566;",
-          # lower left and right quadrants
-          "boxHd" => "&#x02564;",
-          # lower left and right quadrants
-          "boxhD" => "&#x02565;",
-          # lower left and right quadrants
-          "boxhd" => "&#x0252C;",
-          # upper left and right quadrants
-          "boxHU" => "&#x02569;",
-          # upper left and right quadrants
-          "boxHu" => "&#x02567;",
-          # upper left and right quadrants
-          "boxhU" => "&#x02568;",
-          # upper left and right quadrants
-          "boxhu" => "&#x02534;",
-          # upper left quadrant
-          "boxUL" => "&#x0255D;",
-          # upper left quadrant
-          "boxUl" => "&#x0255C;",
-          # upper left quadrant
-          "boxuL" => "&#x0255B;",
-          # upper left quadrant
-          "boxul" => "&#x02518;",
-          # upper right quadrant
-          "boxUR" => "&#x0255A;",
-          # upper right quadrant
-          "boxUr" => "&#x02559;",
-          # upper right quadrant
-          "boxuR" => "&#x02558;",
-          # upper right quadrant
-          "boxur" => "&#x02514;",
-          # vertical line
-          "boxV" => "&#x02551;",
-          # vertical line
-          "boxv" => "&#x02502;",
-          # all four quadrants
-          "boxVH" => "&#x0256C;",
-          # all four quadrants
-          "boxVh" => "&#x0256B;",
-          # all four quadrants
-          "boxvH" => "&#x0256A;",
-          # all four quadrants
-          "boxvh" => "&#x0253C;",
-          # upper and lower left quadrants
-          "boxVL" => "&#x02563;",
-          # upper and lower left quadrants
-          "boxVl" => "&#x02562;",
-          # upper and lower left quadrants
-          "boxvL" => "&#x02561;",
-          # upper and lower left quadrants
-          "boxvl" => "&#x02524;",
-          # upper and lower right quadrants
-          "boxVR" => "&#x02560;",
-          # upper and lower right quadrants
-          "boxVr" => "&#x0255F;",
-          # upper and lower right quadrants
-          "boxvR" => "&#x0255E;",
-          # upper and lower right quadrants
-          "boxvr" => "&#x0251C;",
-          # =capital A, Cyrillic
-          "Acy" => "&#x00410;",
-          # =small a, Cyrillic
-          "acy" => "&#x00430;",
-          # =capital BE, Cyrillic
-          "Bcy" => "&#x00411;",
-          # =small be, Cyrillic
-          "bcy" => "&#x00431;",
-          # =capital CHE, Cyrillic
-          "CHcy" => "&#x00427;",
-          # =small che, Cyrillic
-          "chcy" => "&#x00447;",
-          # =capital DE, Cyrillic
-          "Dcy" => "&#x00414;",
-          # =small de, Cyrillic
-          "dcy" => "&#x00434;",
-          # =capital E, Cyrillic
-          "Ecy" => "&#x0042D;",
-          # =small e, Cyrillic
-          "ecy" => "&#x0044D;",
-          # =capital EF, Cyrillic
-          "Fcy" => "&#x00424;",
-          # =small ef, Cyrillic
-          "fcy" => "&#x00444;",
-          # =capital GHE, Cyrillic
-          "Gcy" => "&#x00413;",
-          # =small ghe, Cyrillic
-          "gcy" => "&#x00433;",
-          # =capital HARD sign, Cyrillic
-          "HARDcy" => "&#x0042A;",
-          # =small hard sign, Cyrillic
-          "hardcy" => "&#x0044A;",
-          # =capital I, Cyrillic
-          "Icy" => "&#x00418;",
-          # =small i, Cyrillic
-          "icy" => "&#x00438;",
-          # =capital IE, Cyrillic
-          "IEcy" => "&#x00415;",
-          # =small ie, Cyrillic
-          "iecy" => "&#x00435;",
-          # =capital IO, Russian
-          "IOcy" => "&#x00401;",
-          # =small io, Russian
-          "iocy" => "&#x00451;",
-          # =capital short I, Cyrillic
-          "Jcy" => "&#x00419;",
-          # =small short i, Cyrillic
-          "jcy" => "&#x00439;",
-          # =capital KA, Cyrillic
-          "Kcy" => "&#x0041A;",
-          # =small ka, Cyrillic
-          "kcy" => "&#x0043A;",
-          # =capital HA, Cyrillic
-          "KHcy" => "&#x00425;",
-          # =small ha, Cyrillic
-          "khcy" => "&#x00445;",
-          # =capital EL, Cyrillic
-          "Lcy" => "&#x0041B;",
-          # =small el, Cyrillic
-          "lcy" => "&#x0043B;",
-          # =capital EM, Cyrillic
-          "Mcy" => "&#x0041C;",
-          # =small em, Cyrillic
-          "mcy" => "&#x0043C;",
-          # =capital EN, Cyrillic
-          "Ncy" => "&#x0041D;",
-          # =small en, Cyrillic
-          "ncy" => "&#x0043D;",
-          # =numero sign
-          "numero" => "&#x02116;",
-          # =capital O, Cyrillic
-          "Ocy" => "&#x0041E;",
-          # =small o, Cyrillic
-          "ocy" => "&#x0043E;",
-          # =capital PE, Cyrillic
-          "Pcy" => "&#x0041F;",
-          # =small pe, Cyrillic
-          "pcy" => "&#x0043F;",
-          # =capital ER, Cyrillic
-          "Rcy" => "&#x00420;",
-          # =small er, Cyrillic
-          "rcy" => "&#x00440;",
-          # =capital ES, Cyrillic
-          "Scy" => "&#x00421;",
-          # =small es, Cyrillic
-          "scy" => "&#x00441;",
-          # =capital SHCHA, Cyrillic
-          "SHCHcy" => "&#x00429;",
-          # =small shcha, Cyrillic
-          "shchcy" => "&#x00449;",
-          # =capital SHA, Cyrillic
-          "SHcy" => "&#x00428;",
-          # =small sha, Cyrillic
-          "shcy" => "&#x00448;",
-          # =capital SOFT sign, Cyrillic
-          "SOFTcy" => "&#x0042C;",
-          # =small soft sign, Cyrillic
-          "softcy" => "&#x0044C;",
-          # =capital TE, Cyrillic
-          "Tcy" => "&#x00422;",
-          # =small te, Cyrillic
-          "tcy" => "&#x00442;",
-          # =capital TSE, Cyrillic
-          "TScy" => "&#x00426;",
-          # =small tse, Cyrillic
-          "tscy" => "&#x00446;",
-          # =capital U, Cyrillic
-          "Ucy" => "&#x00423;",
-          # =small u, Cyrillic
-          "ucy" => "&#x00443;",
-          # =capital VE, Cyrillic
-          "Vcy" => "&#x00412;",
-          # =small ve, Cyrillic
-          "vcy" => "&#x00432;",
-          # =capital YA, Cyrillic
-          "YAcy" => "&#x0042F;",
-          # =small ya, Cyrillic
-          "yacy" => "&#x0044F;",
-          # =capital YERU, Cyrillic
-          "Ycy" => "&#x0042B;",
-          # =small yeru, Cyrillic
-          "ycy" => "&#x0044B;",
-          # =capital YU, Cyrillic
-          "YUcy" => "&#x0042E;",
-          # =small yu, Cyrillic
-          "yucy" => "&#x0044E;",
-          # =capital ZE, Cyrillic
-          "Zcy" => "&#x00417;",
-          # =small ze, Cyrillic
-          "zcy" => "&#x00437;",
-          # =capital ZHE, Cyrillic
-          "ZHcy" => "&#x00416;",
-          # =small zhe, Cyrillic
-          "zhcy" => "&#x00436;",
-          # =capital DJE, Serbian
-          "DJcy" => "&#x00402;",
-          # =small dje, Serbian
-          "djcy" => "&#x00452;",
-          # =capital DSE, Macedonian
-          "DScy" => "&#x00405;",
-          # =small dse, Macedonian
-          "dscy" => "&#x00455;",
-          # =capital dze, Serbian
-          "DZcy" => "&#x0040F;",
-          # =small dze, Serbian
-          "dzcy" => "&#x0045F;",
-          # =capital GJE Macedonian
-          "GJcy" => "&#x00403;",
-          # =small gje, Macedonian
-          "gjcy" => "&#x00453;",
-          # =capital I, Ukrainian
-          "Iukcy" => "&#x00406;",
-          # =small i, Ukrainian
-          "iukcy" => "&#x00456;",
-          # =capital JE, Serbian
-          "Jsercy" => "&#x00408;",
-          # =small je, Serbian
-          "jsercy" => "&#x00458;",
-          # =capital JE, Ukrainian
-          "Jukcy" => "&#x00404;",
-          # =small je, Ukrainian
-          "jukcy" => "&#x00454;",
-          # =capital KJE, Macedonian
-          "KJcy" => "&#x0040C;",
-          # =small kje Macedonian
-          "kjcy" => "&#x0045C;",
-          # =capital LJE, Serbian
-          "LJcy" => "&#x00409;",
-          # =small lje, Serbian
-          "ljcy" => "&#x00459;",
-          # =capital NJE, Serbian
-          "NJcy" => "&#x0040A;",
-          # =small nje, Serbian
-          "njcy" => "&#x0045A;",
-          # =capital TSHE, Serbian
-          "TSHcy" => "&#x0040B;",
-          # =small tshe, Serbian
-          "tshcy" => "&#x0045B;",
-          # =capital U, Byelorussian
-          "Ubrcy" => "&#x0040E;",
-          # =small u, Byelorussian
-          "ubrcy" => "&#x0045E;",
-          # =capital YI, Ukrainian
-          "YIcy" => "&#x00407;",
-          # =small yi, Ukrainian
-          "yicy" => "&#x00457;",
-          # =acute accent
-          "acute" => "&#x000B4;",
-          # =breve
-          "breve" => "&#x002D8;",
-          # =caron
-          "caron" => "&#x002C7;",
-          # =cedilla
-          "cedil" => "&#x000B8;",
-          # circumflex accent
-          "circ" => "&#x002C6;",
-          # =double acute accent
-          "dblac" => "&#x002DD;",
-          # =dieresis
-          "die" => "&#x000A8;",
-          # =dot above
-          "dot" => "&#x002D9;",
-          # =grave accent
-          "grave" => "&#x00060;",
-          # =macron
-          "macr" => "&#x000AF;",
-          # =ogonek
-          "ogon" => "&#x002DB;",
-          # =ring
-          "ring" => "&#x002DA;",
-          # =tilde
-          "tilde" => "&#x002DC;",
-          # =umlaut mark
-          "uml" => "&#x000A8;",
-          # /alpha small alpha, Greek
-          "alpha" => "&#x003B1;",
-          # /beta small beta, Greek
-          "beta" => "&#x003B2;",
-          # /chi small chi, Greek
-          "chi" => "&#x003C7;",
-          # /Delta capital Delta, Greek
-          "Delta" => "&#x00394;",
-          # /delta small delta, Greek
-          "delta" => "&#x003B4;",
-          # /straightepsilon, small epsilon, Greek
-          "epsi" => "&#x003F5;",
-          # /varepsilon
-          "epsiv" => "&#x003B5;",
-          # /eta small eta, Greek
-          "eta" => "&#x003B7;",
-          # /Gamma capital Gamma, Greek
-          "Gamma" => "&#x00393;",
-          # /gamma small gamma, Greek
-          "gamma" => "&#x003B3;",
-          # capital digamma
-          "Gammad" => "&#x003DC;",
-          # /digamma
-          "gammad" => "&#x003DD;",
-          # /iota small iota, Greek
-          "iota" => "&#x003B9;",
-          # /kappa small kappa, Greek
-          "kappa" => "&#x003BA;",
-          # /varkappa
-          "kappav" => "&#x003F0;",
-          # /Lambda capital Lambda, Greek
-          "Lambda" => "&#x0039B;",
-          # /lambda small lambda, Greek
-          "lambda" => "&#x003BB;",
-          # /mu small mu, Greek
-          "mu" => "&#x003BC;",
-          # /nu small nu, Greek
-          "nu" => "&#x003BD;",
-          # /Omega capital Omega, Greek
-          "Omega" => "&#x003A9;",
-          # /omega small omega, Greek
-          "omega" => "&#x003C9;",
-          # /Phi capital Phi, Greek
-          "Phi" => "&#x003A6;",
-          # /straightphi - small phi, Greek
-          "phi" => "&#x003D5;",
-          # /varphi - curly or open phi
-          "phiv" => "&#x003C6;",
-          # /Pi capital Pi, Greek
-          "Pi" => "&#x003A0;",
-          # /pi small pi, Greek
-          "pi" => "&#x003C0;",
-          # /varpi
-          "piv" => "&#x003D6;",
-          # /Psi capital Psi, Greek
-          "Psi" => "&#x003A8;",
-          # /psi small psi, Greek
-          "psi" => "&#x003C8;",
-          # /rho small rho, Greek
-          "rho" => "&#x003C1;",
-          # /varrho
-          "rhov" => "&#x003F1;",
-          # /Sigma capital Sigma, Greek
-          "Sigma" => "&#x003A3;",
-          # /sigma small sigma, Greek
-          "sigma" => "&#x003C3;",
-          # /varsigma
-          "sigmav" => "&#x003C2;",
-          # /tau small tau, Greek
-          "tau" => "&#x003C4;",
-          # /Theta capital Theta, Greek
-          "Theta" => "&#x00398;",
-          # /theta straight theta, small theta, Greek
-          "theta" => "&#x003B8;",
-          # /vartheta - curly or open theta
-          "thetav" => "&#x003D1;",
-          # /Upsilon capital Upsilon, Greek
-          "Upsi" => "&#x003D2;",
-          # /upsilon small upsilon, Greek
-          "upsi" => "&#x003C5;",
-          # /Xi capital Xi, Greek
-          "Xi" => "&#x0039E;",
-          # /xi small xi, Greek
-          "xi" => "&#x003BE;",
-          # /zeta small zeta, Greek
-          "zeta" => "&#x003B6;",
-          # =capital A, acute accent
-          "Aacute" => "&#x000C1;",
-          # =small a, acute accent
-          "aacute" => "&#x000E1;",
-          # =capital A, circumflex accent
-          "Acirc" => "&#x000C2;",
-          # =small a, circumflex accent
-          "acirc" => "&#x000E2;",
-          # =capital AE diphthong (ligature)
-          "AElig" => "&#x000C6;",
-          # =small ae diphthong (ligature)
-          "aelig" => "&#x000E6;",
-          # =capital A, grave accent
-          "Agrave" => "&#x000C0;",
-          # =small a, grave accent
-          "agrave" => "&#x000E0;",
-          # =capital A, ring
-          "Aring" => "&#x000C5;",
-          # =small a, ring
-          "aring" => "&#x000E5;",
-          # =capital A, tilde
-          "Atilde" => "&#x000C3;",
-          # =small a, tilde
-          "atilde" => "&#x000E3;",
-          # =capital A, dieresis or umlaut mark
-          "Auml" => "&#x000C4;",
-          # =small a, dieresis or umlaut mark
-          "auml" => "&#x000E4;",
-          # =capital C, cedilla
-          "Ccedil" => "&#x000C7;",
-          # =small c, cedilla
-          "ccedil" => "&#x000E7;",
-          # =capital E, acute accent
-          "Eacute" => "&#x000C9;",
-          # =small e, acute accent
-          "eacute" => "&#x000E9;",
-          # =capital E, circumflex accent
-          "Ecirc" => "&#x000CA;",
-          # =small e, circumflex accent
-          "ecirc" => "&#x000EA;",
-          # =capital E, grave accent
-          "Egrave" => "&#x000C8;",
-          # =small e, grave accent
-          "egrave" => "&#x000E8;",
-          # =capital Eth, Icelandic
-          "ETH" => "&#x000D0;",
-          # =small eth, Icelandic
-          "eth" => "&#x000F0;",
-          # =capital E, dieresis or umlaut mark
-          "Euml" => "&#x000CB;",
-          # =small e, dieresis or umlaut mark
-          "euml" => "&#x000EB;",
-          # =capital I, acute accent
-          "Iacute" => "&#x000CD;",
-          # =small i, acute accent
-          "iacute" => "&#x000ED;",
-          # =capital I, circumflex accent
-          "Icirc" => "&#x000CE;",
-          # =small i, circumflex accent
-          "icirc" => "&#x000EE;",
-          # =capital I, grave accent
-          "Igrave" => "&#x000CC;",
-          # =small i, grave accent
-          "igrave" => "&#x000EC;",
-          # =capital I, dieresis or umlaut mark
-          "Iuml" => "&#x000CF;",
-          # =small i, dieresis or umlaut mark
-          "iuml" => "&#x000EF;",
-          # =capital N, tilde
-          "Ntilde" => "&#x000D1;",
-          # =small n, tilde
-          "ntilde" => "&#x000F1;",
-          # =capital O, acute accent
-          "Oacute" => "&#x000D3;",
-          # =small o, acute accent
-          "oacute" => "&#x000F3;",
-          # =capital O, circumflex accent
-          "Ocirc" => "&#x000D4;",
-          # =small o, circumflex accent
-          "ocirc" => "&#x000F4;",
-          # =capital O, grave accent
-          "Ograve" => "&#x000D2;",
-          # =small o, grave accent
-          "ograve" => "&#x000F2;",
-          # =capital O, slash
-          "Oslash" => "&#x000D8;",
-          # latin small letter o with stroke
-          "oslash" => "&#x000F8;",
-          # =capital O, tilde
-          "Otilde" => "&#x000D5;",
-          # =small o, tilde
-          "otilde" => "&#x000F5;",
-          # =capital O, dieresis or umlaut mark
-          "Ouml" => "&#x000D6;",
-          # =small o, dieresis or umlaut mark
-          "ouml" => "&#x000F6;",
-          # =small sharp s, German (sz ligature)
-          "szlig" => "&#x000DF;",
-          # =capital THORN, Icelandic
-          "THORN" => "&#x000DE;",
-          # =small thorn, Icelandic
-          "thorn" => "&#x000FE;",
-          # =capital U, acute accent
-          "Uacute" => "&#x000DA;",
-          # =small u, acute accent
-          "uacute" => "&#x000FA;",
-          # =capital U, circumflex accent
-          "Ucirc" => "&#x000DB;",
-          # =small u, circumflex accent
-          "ucirc" => "&#x000FB;",
-          # =capital U, grave accent
-          "Ugrave" => "&#x000D9;",
-          # =small u, grave accent
-          "ugrave" => "&#x000F9;",
-          # =capital U, dieresis or umlaut mark
-          "Uuml" => "&#x000DC;",
-          # =small u, dieresis or umlaut mark
-          "uuml" => "&#x000FC;",
-          # =capital Y, acute accent
-          "Yacute" => "&#x000DD;",
-          # =small y, acute accent
-          "yacute" => "&#x000FD;",
-          # =small y, dieresis or umlaut mark
-          "yuml" => "&#x000FF;",
-          # =capital A, breve
-          "Abreve" => "&#x00102;",
-          # =small a, breve
-          "abreve" => "&#x00103;",
-          # =capital A, macron
-          "Amacr" => "&#x00100;",
-          # =small a, macron
-          "amacr" => "&#x00101;",
-          # =capital A, ogonek
-          "Aogon" => "&#x00104;",
-          # =small a, ogonek
-          "aogon" => "&#x00105;",
-          # =capital C, acute accent
-          "Cacute" => "&#x00106;",
-          # =small c, acute accent
-          "cacute" => "&#x00107;",
-          # =capital C, caron
-          "Ccaron" => "&#x0010C;",
-          # =small c, caron
-          "ccaron" => "&#x0010D;",
-          # =capital C, circumflex accent
-          "Ccirc" => "&#x00108;",
-          # =small c, circumflex accent
-          "ccirc" => "&#x00109;",
-          # =capital C, dot above
-          "Cdot" => "&#x0010A;",
-          # =small c, dot above
-          "cdot" => "&#x0010B;",
-          # =capital D, caron
-          "Dcaron" => "&#x0010E;",
-          # =small d, caron
-          "dcaron" => "&#x0010F;",
-          # =capital D, stroke
-          "Dstrok" => "&#x00110;",
-          # =small d, stroke
-          "dstrok" => "&#x00111;",
-          # =capital E, caron
-          "Ecaron" => "&#x0011A;",
-          # =small e, caron
-          "ecaron" => "&#x0011B;",
-          # =capital E, dot above
-          "Edot" => "&#x00116;",
-          # =small e, dot above
-          "edot" => "&#x00117;",
-          # =capital E, macron
-          "Emacr" => "&#x00112;",
-          # =small e, macron
-          "emacr" => "&#x00113;",
-          # =capital ENG, Lapp
-          "ENG" => "&#x0014A;",
-          # =small eng, Lapp
-          "eng" => "&#x0014B;",
-          # =capital E, ogonek
-          "Eogon" => "&#x00118;",
-          # =small e, ogonek
-          "eogon" => "&#x00119;",
-          # =small g, acute accent
-          "gacute" => "&#x001F5;",
-          # =capital G, breve
-          "Gbreve" => "&#x0011E;",
-          # =small g, breve
-          "gbreve" => "&#x0011F;",
-          # =capital G, cedilla
-          "Gcedil" => "&#x00122;",
-          # =capital G, circumflex accent
-          "Gcirc" => "&#x0011C;",
-          # =small g, circumflex accent
-          "gcirc" => "&#x0011D;",
-          # =capital G, dot above
-          "Gdot" => "&#x00120;",
-          # =small g, dot above
-          "gdot" => "&#x00121;",
-          # =capital H, circumflex accent
-          "Hcirc" => "&#x00124;",
-          # =small h, circumflex accent
-          "hcirc" => "&#x00125;",
-          # =capital H, stroke
-          "Hstrok" => "&#x00126;",
-          # =small h, stroke
-          "hstrok" => "&#x00127;",
-          # =capital I, dot above
-          "Idot" => "&#x00130;",
-          # =capital IJ ligature
-          "IJlig" => "&#x00132;",
-          # =small ij ligature
-          "ijlig" => "&#x00133;",
-          # =capital I, macron
-          "Imacr" => "&#x0012A;",
-          # =small i, macron
-          "imacr" => "&#x0012B;",
-          # =small i without dot
-          "inodot" => "&#x00131;",
-          # =capital I, ogonek
-          "Iogon" => "&#x0012E;",
-          # =small i, ogonek
-          "iogon" => "&#x0012F;",
-          # =capital I, tilde
-          "Itilde" => "&#x00128;",
-          # =small i, tilde
-          "itilde" => "&#x00129;",
-          # =capital J, circumflex accent
-          "Jcirc" => "&#x00134;",
-          # =small j, circumflex accent
-          "jcirc" => "&#x00135;",
-          # =capital K, cedilla
-          "Kcedil" => "&#x00136;",
-          # =small k, cedilla
-          "kcedil" => "&#x00137;",
-          # =small k, Greenlandic
-          "kgreen" => "&#x00138;",
-          # =capital L, acute accent
-          "Lacute" => "&#x00139;",
-          # =small l, acute accent
-          "lacute" => "&#x0013A;",
-          # =capital L, caron
-          "Lcaron" => "&#x0013D;",
-          # =small l, caron
-          "lcaron" => "&#x0013E;",
-          # =capital L, cedilla
-          "Lcedil" => "&#x0013B;",
-          # =small l, cedilla
-          "lcedil" => "&#x0013C;",
-          # =capital L, middle dot
-          "Lmidot" => "&#x0013F;",
-          # =small l, middle dot
-          "lmidot" => "&#x00140;",
-          # =capital L, stroke
-          "Lstrok" => "&#x00141;",
-          # =small l, stroke
-          "lstrok" => "&#x00142;",
-          # =capital N, acute accent
-          "Nacute" => "&#x00143;",
-          # =small n, acute accent
-          "nacute" => "&#x00144;",
-          # =small n, apostrophe
-          "napos" => "&#x00149;",
-          # =capital N, caron
-          "Ncaron" => "&#x00147;",
-          # =small n, caron
-          "ncaron" => "&#x00148;",
-          # =capital N, cedilla
-          "Ncedil" => "&#x00145;",
-          # =small n, cedilla
-          "ncedil" => "&#x00146;",
-          # =capital O, double acute accent
-          "Odblac" => "&#x00150;",
-          # =small o, double acute accent
-          "odblac" => "&#x00151;",
-          # =capital OE ligature
-          "OElig" => "&#x00152;",
-          # =small oe ligature
-          "oelig" => "&#x00153;",
-          # =capital O, macron
-          "Omacr" => "&#x0014C;",
-          # =small o, macron
-          "omacr" => "&#x0014D;",
-          # =capital R, acute accent
-          "Racute" => "&#x00154;",
-          # =small r, acute accent
-          "racute" => "&#x00155;",
-          # =capital R, caron
-          "Rcaron" => "&#x00158;",
-          # =small r, caron
-          "rcaron" => "&#x00159;",
-          # =capital R, cedilla
-          "Rcedil" => "&#x00156;",
-          # =small r, cedilla
-          "rcedil" => "&#x00157;",
-          # =capital S, acute accent
-          "Sacute" => "&#x0015A;",
-          # =small s, acute accent
-          "sacute" => "&#x0015B;",
-          # =capital S, caron
-          "Scaron" => "&#x00160;",
-          # =small s, caron
-          "scaron" => "&#x00161;",
-          # =capital S, cedilla
-          "Scedil" => "&#x0015E;",
-          # =small s, cedilla
-          "scedil" => "&#x0015F;",
-          # =capital S, circumflex accent
-          "Scirc" => "&#x0015C;",
-          # =small s, circumflex accent
-          "scirc" => "&#x0015D;",
-          # =capital T, caron
-          "Tcaron" => "&#x00164;",
-          # =small t, caron
-          "tcaron" => "&#x00165;",
-          # =capital T, cedilla
-          "Tcedil" => "&#x00162;",
-          # =small t, cedilla
-          "tcedil" => "&#x00163;",
-          # =capital T, stroke
-          "Tstrok" => "&#x00166;",
-          # =small t, stroke
-          "tstrok" => "&#x00167;",
-          # =capital U, breve
-          "Ubreve" => "&#x0016C;",
-          # =small u, breve
-          "ubreve" => "&#x0016D;",
-          # =capital U, double acute accent
-          "Udblac" => "&#x00170;",
-          # =small u, double acute accent
-          "udblac" => "&#x00171;",
-          # =capital U, macron
-          "Umacr" => "&#x0016A;",
-          # =small u, macron
-          "umacr" => "&#x0016B;",
-          # =capital U, ogonek
-          "Uogon" => "&#x00172;",
-          # =small u, ogonek
-          "uogon" => "&#x00173;",
-          # =capital U, ring
-          "Uring" => "&#x0016E;",
-          # =small u, ring
-          "uring" => "&#x0016F;",
-          # =capital U, tilde
-          "Utilde" => "&#x00168;",
-          # =small u, tilde
-          "utilde" => "&#x00169;",
-          # =capital W, circumflex accent
-          "Wcirc" => "&#x00174;",
-          # =small w, circumflex accent
-          "wcirc" => "&#x00175;",
-          # =capital Y, circumflex accent
-          "Ycirc" => "&#x00176;",
-          # =small y, circumflex accent
-          "ycirc" => "&#x00177;",
-          # =capital Y, dieresis or umlaut mark
-          "Yuml" => "&#x00178;",
-          # =capital Z, acute accent
-          "Zacute" => "&#x00179;",
-          # =small z, acute accent
-          "zacute" => "&#x0017A;",
-          # =capital Z, caron
-          "Zcaron" => "&#x0017D;",
-          # =small z, caron
-          "zcaron" => "&#x0017E;",
-          # =capital Z, dot above
-          "Zdot" => "&#x0017B;",
-          # =small z, dot above
-          "zdot" => "&#x0017C;",
-          # /frak A, upper case a
-          "Afr" => "&#x1D504;",
-          # /frak a, lower case a
-          "afr" => "&#x1D51E;",
-          # /frak B, upper case b
-          "Bfr" => "&#x1D505;",
-          # /frak b, lower case b
-          "bfr" => "&#x1D51F;",
-          # /frak C, upper case c
-          "Cfr" => "&#x0212D;",
-          # /frak c, lower case c
-          "cfr" => "&#x1D520;",
-          # /frak D, upper case d
-          "Dfr" => "&#x1D507;",
-          # /frak d, lower case d
-          "dfr" => "&#x1D521;",
-          # /frak E, upper case e
-          "Efr" => "&#x1D508;",
-          # /frak e, lower case e
-          "efr" => "&#x1D522;",
-          # /frak F, upper case f
-          "Ffr" => "&#x1D509;",
-          # /frak f, lower case f
-          "ffr" => "&#x1D523;",
-          # /frak G, upper case g
-          "Gfr" => "&#x1D50A;",
-          # /frak g, lower case g
-          "gfr" => "&#x1D524;",
-          # /frak H, upper case h
-          "Hfr" => "&#x0210C;",
-          # /frak h, lower case h
-          "hfr" => "&#x1D525;",
-          # /frak I, upper case i
-          "Ifr" => "&#x02111;",
-          # /frak i, lower case i
-          "ifr" => "&#x1D526;",
-          # /frak J, upper case j
-          "Jfr" => "&#x1D50D;",
-          # /frak j, lower case j
-          "jfr" => "&#x1D527;",
-          # /frak K, upper case k
-          "Kfr" => "&#x1D50E;",
-          # /frak k, lower case k
-          "kfr" => "&#x1D528;",
-          # /frak L, upper case l
-          "Lfr" => "&#x1D50F;",
-          # /frak l, lower case l
-          "lfr" => "&#x1D529;",
-          # /frak M, upper case m
-          "Mfr" => "&#x1D510;",
-          # /frak m, lower case m
-          "mfr" => "&#x1D52A;",
-          # /frak N, upper case n
-          "Nfr" => "&#x1D511;",
-          # /frak n, lower case n
-          "nfr" => "&#x1D52B;",
-          # /frak O, upper case o
-          "Ofr" => "&#x1D512;",
-          # /frak o, lower case o
-          "ofr" => "&#x1D52C;",
-          # /frak P, upper case p
-          "Pfr" => "&#x1D513;",
-          # /frak p, lower case p
-          "pfr" => "&#x1D52D;",
-          # /frak Q, upper case q
-          "Qfr" => "&#x1D514;",
-          # /frak q, lower case q
-          "qfr" => "&#x1D52E;",
-          # /frak R, upper case r
-          "Rfr" => "&#x0211C;",
-          # /frak r, lower case r
-          "rfr" => "&#x1D52F;",
-          # /frak S, upper case s
-          "Sfr" => "&#x1D516;",
-          # /frak s, lower case s
-          "sfr" => "&#x1D530;",
-          # /frak T, upper case t
-          "Tfr" => "&#x1D517;",
-          # /frak t, lower case t
-          "tfr" => "&#x1D531;",
-          # /frak U, upper case u
-          "Ufr" => "&#x1D518;",
-          # /frak u, lower case u
-          "ufr" => "&#x1D532;",
-          # /frak V, upper case v
-          "Vfr" => "&#x1D519;",
-          # /frak v, lower case v
-          "vfr" => "&#x1D533;",
-          # /frak W, upper case w
-          "Wfr" => "&#x1D51A;",
-          # /frak w, lower case w
-          "wfr" => "&#x1D534;",
-          # /frak X, upper case x
-          "Xfr" => "&#x1D51B;",
-          # /frak x, lower case x
-          "xfr" => "&#x1D535;",
-          # /frak Y, upper case y
-          "Yfr" => "&#x1D51C;",
-          # /frak y, lower case y
-          "yfr" => "&#x1D536;",
-          # /frak Z, upper case z
-          "Zfr" => "&#x02128;",
-          # /frak z, lower case z
-          "zfr" => "&#x1D537;",
-          # /Bbb A, open face A
-          "Aopf" => "&#x1D538;",
-          # /Bbb B, open face B
-          "Bopf" => "&#x1D539;",
-          # /Bbb C, open face C
-          "Copf" => "&#x02102;",
-          # /Bbb D, open face D
-          "Dopf" => "&#x1D53B;",
-          # /Bbb E, open face E
-          "Eopf" => "&#x1D53C;",
-          # /Bbb F, open face F
-          "Fopf" => "&#x1D53D;",
-          # /Bbb G, open face G
-          "Gopf" => "&#x1D53E;",
-          # /Bbb H, open face H
-          "Hopf" => "&#x0210D;",
-          # /Bbb I, open face I
-          "Iopf" => "&#x1D540;",
-          # /Bbb J, open face J
-          "Jopf" => "&#x1D541;",
-          # /Bbb K, open face K
-          "Kopf" => "&#x1D542;",
-          # /Bbb L, open face L
-          "Lopf" => "&#x1D543;",
-          # /Bbb M, open face M
-          "Mopf" => "&#x1D544;",
-          # /Bbb N, open face N
-          "Nopf" => "&#x02115;",
-          # /Bbb O, open face O
-          "Oopf" => "&#x1D546;",
-          # /Bbb P, open face P
-          "Popf" => "&#x02119;",
-          # /Bbb Q, open face Q
-          "Qopf" => "&#x0211A;",
-          # /Bbb R, open face R
-          "Ropf" => "&#x0211D;",
-          # /Bbb S, open face S
-          "Sopf" => "&#x1D54A;",
-          # /Bbb T, open face T
-          "Topf" => "&#x1D54B;",
-          # /Bbb U, open face U
-          "Uopf" => "&#x1D54C;",
-          # /Bbb V, open face V
-          "Vopf" => "&#x1D54D;",
-          # /Bbb W, open face W
-          "Wopf" => "&#x1D54E;",
-          # /Bbb X, open face X
-          "Xopf" => "&#x1D54F;",
-          # /Bbb Y, open face Y
-          "Yopf" => "&#x1D550;",
-          # /Bbb Z, open face Z
-          "Zopf" => "&#x02124;",
-          # /scr A, script letter A
-          "Ascr" => "&#x1D49C;",
-          # /scr a, script letter a
-          "ascr" => "&#x1D4B6;",
-          # /scr B, script letter B
-          "Bscr" => "&#x0212C;",
-          # /scr b, script letter b
-          "bscr" => "&#x1D4B7;",
-          # /scr C, script letter C
-          "Cscr" => "&#x1D49E;",
-          # /scr c, script letter c
-          "cscr" => "&#x1D4B8;",
-          # /scr D, script letter D
-          "Dscr" => "&#x1D49F;",
-          # /scr d, script letter d
-          "dscr" => "&#x1D4B9;",
-          # /scr E, script letter E
-          "Escr" => "&#x02130;",
-          # /scr e, script letter e
-          "escr" => "&#x0212F;",
-          # /scr F, script letter F
-          "Fscr" => "&#x02131;",
-          # /scr f, script letter f
-          "fscr" => "&#x1D4BB;",
-          # /scr G, script letter G
-          "Gscr" => "&#x1D4A2;",
-          # /scr g, script letter g
-          "gscr" => "&#x0210A;",
-          # /scr H, script letter H
-          "Hscr" => "&#x0210B;",
-          # /scr h, script letter h
-          "hscr" => "&#x1D4BD;",
-          # /scr I, script letter I
-          "Iscr" => "&#x02110;",
-          # /scr i, script letter i
-          "iscr" => "&#x1D4BE;",
-          # /scr J, script letter J
-          "Jscr" => "&#x1D4A5;",
-          # /scr j, script letter j
-          "jscr" => "&#x1D4BF;",
-          # /scr K, script letter K
-          "Kscr" => "&#x1D4A6;",
-          # /scr k, script letter k
-          "kscr" => "&#x1D4C0;",
-          # /scr L, script letter L
-          "Lscr" => "&#x02112;",
-          # /scr l, script letter l
-          "lscr" => "&#x1D4C1;",
-          # /scr M, script letter M
-          "Mscr" => "&#x02133;",
-          # /scr m, script letter m
-          "mscr" => "&#x1D4C2;",
-          # /scr N, script letter N
-          "Nscr" => "&#x1D4A9;",
-          # /scr n, script letter n
-          "nscr" => "&#x1D4C3;",
-          # /scr O, script letter O
-          "Oscr" => "&#x1D4AA;",
-          # /scr o, script letter o
-          "oscr" => "&#x02134;",
-          # /scr P, script letter P
-          "Pscr" => "&#x1D4AB;",
-          # /scr p, script letter p
-          "pscr" => "&#x1D4C5;",
-          # /scr Q, script letter Q
-          "Qscr" => "&#x1D4AC;",
-          # /scr q, script letter q
-          "qscr" => "&#x1D4C6;",
-          # /scr R, script letter R
-          "Rscr" => "&#x0211B;",
-          # /scr r, script letter r
-          "rscr" => "&#x1D4C7;",
-          # /scr S, script letter S
-          "Sscr" => "&#x1D4AE;",
-          # /scr s, script letter s
-          "sscr" => "&#x1D4C8;",
-          # /scr T, script letter T
-          "Tscr" => "&#x1D4AF;",
-          # /scr t, script letter t
-          "tscr" => "&#x1D4C9;",
-          # /scr U, script letter U
-          "Uscr" => "&#x1D4B0;",
-          # /scr u, script letter u
-          "uscr" => "&#x1D4CA;",
-          # /scr V, script letter V
-          "Vscr" => "&#x1D4B1;",
-          # /scr v, script letter v
-          "vscr" => "&#x1D4CB;",
-          # /scr W, script letter W
-          "Wscr" => "&#x1D4B2;",
-          # /scr w, script letter w
-          "wscr" => "&#x1D4CC;",
-          # /scr X, script letter X
-          "Xscr" => "&#x1D4B3;",
-          # /scr x, script letter x
-          "xscr" => "&#x1D4CD;",
-          # /scr Y, script letter Y
-          "Yscr" => "&#x1D4B4;",
-          # /scr y, script letter y
-          "yscr" => "&#x1D4CE;",
-          # /scr Z, script letter Z
-          "Zscr" => "&#x1D4B5;",
-          # /scr z, script letter z
-          "zscr" => "&#x1D4CF;",
-          # =ampersand
-          "amp" => "&",
-          # =apostrophe
-          "apos" => "&#x00027;",
-          # /ast B: =asterisk
-          "ast" => "&#x0002A;",
-          # =broken (vertical) bar
-          "brvbar" => "&#x000A6;",
-          # /backslash =reverse solidus
-          "bsol" => "&#x0005C;",
-          # =cent sign
-          "cent" => "&#x000A2;",
-          # /colon P:
-          "colon" => "&#x0003A;",
-          # P: =comma
-          "comma" => "&#x0002C;",
-          # =commercial at
-          "commat" => "&#x00040;",
-          # =copyright sign
-          "copy" => "&#x000A9;",
-          # =general currency sign
-          "curren" => "&#x000A4;",
-          # /downarrow A: =downward arrow
-          "darr" => "&#x02193;",
-          # =degree sign
-          "deg" => "&#x000B0;",
-          # /div B: =divide sign
-          "divide" => "&#x000F7;",
-          # =dollar sign
-          "dollar" => "&#x00024;",
-          # =equals sign R:
-          "equals" => "&#x0003D;",
-          # =exclamation mark
-          "excl" => "&#x00021;",
-          # =fraction one-half
-          "frac12" => "&#x000BD;",
-          # =fraction one-quarter
-          "frac14" => "&#x000BC;",
-          # =fraction one-eighth
-          "frac18" => "&#x0215B;",
-          # =fraction three-quarters
-          "frac34" => "&#x000BE;",
-          # =fraction three-eighths
-          "frac38" => "&#x0215C;",
-          # =fraction five-eighths
-          "frac58" => "&#x0215D;",
-          # =fraction seven-eighths
-          "frac78" => "&#x0215E;",
-          # =greater-than sign R:
-          "gt" => "&#x0003E;",
-          # =fraction one-half
-          "half" => "&#x000BD;",
-          # =horizontal bar
-          "horbar" => "&#x02015;",
-          # =hyphen
-          "hyphen" => "&#x02010;",
-          # =inverted exclamation mark
-          "iexcl" => "&#x000A1;",
-          # =inverted question mark
-          "iquest" => "&#x000BF;",
-          # =angle quotation mark, left
-          "laquo" => "&#x000AB;",
-          # /leftarrow /gets A: =leftward arrow
-          "larr" => "&#x02190;",
-          # /lbrace O: =left curly bracket
-          "lcub" => "&#x0007B;",
-          # =double quotation mark, left
-          "ldquo" => "&#x0201C;",
-          # =low line
-          "lowbar" => "&#x0005F;",
-          # O: =left parenthesis
-          "lpar" => "&#x00028;",
-          # /lbrack O: =left square bracket
-          "lsqb" => "&#x0005B;",
-          # =single quotation mark, left
-          "lsquo" => "&#x02018;",
-          # =less-than sign R:
-          "lt" => "<",
-          # =micro sign
-          "micro" => "&#x000B5;",
-          # /centerdot B: =middle dot
-          "middot" => "&#x000B7;",
-          # =no break (required) space
-          "nbsp" => "&#x000A0;",
-          # /neg /lnot =not sign
-          "not" => "&#x000AC;",
-          # =number sign
-          "num" => "&#x00023;",
-          # =ohm sign
-          "ohm" => "&#x02126;",
-          # =ordinal indicator, feminine
-          "ordf" => "&#x000AA;",
-          # =ordinal indicator, masculine
-          "ordm" => "&#x000BA;",
-          # =pilcrow (paragraph sign)
-          "para" => "&#x000B6;",
-          # =percent sign
-          "percnt" => "&#x00025;",
-          # =full stop, period
-          "period" => "&#x0002E;",
-          # =plus sign B:
-          "plus" => "&#x0002B;",
-          # /pm B: =plus-or-minus sign
-          "plusmn" => "&#x000B1;",
-          # =pound sign
-          "pound" => "&#x000A3;",
-          # =question mark
-          "quest" => "&#x0003F;",
-          # =quotation mark
-          "quot" => "&#x00022;",
-          # =angle quotation mark, right
-          "raquo" => "&#x000BB;",
-          # /rightarrow /to A: =rightward arrow
-          "rarr" => "&#x02192;",
-          # /rbrace C: =right curly bracket
-          "rcub" => "&#x0007D;",
-          # =double quotation mark, right
-          "rdquo" => "&#x0201D;",
-          # /circledR =registered sign
-          "reg" => "&#x000AE;",
-          # C: =right parenthesis
-          "rpar" => "&#x00029;",
-          # /rbrack C: =right square bracket
-          "rsqb" => "&#x0005D;",
-          # =single quotation mark, right
-          "rsquo" => "&#x02019;",
-          # =section sign
-          "sect" => "&#x000A7;",
-          # =semicolon P:
-          "semi" => "&#x0003B;",
-          # =soft hyphen
-          "shy" => "&#x000AD;",
-          # =solidus
-          "sol" => "&#x0002F;",
-          # =music note (sung text sign)
-          "sung" => "&#x0266A;",
-          # =superscript one
-          "sup1" => "&#x000B9;",
-          # =superscript two
-          "sup2" => "&#x000B2;",
-          # =superscript three
-          "sup3" => "&#x000B3;",
-          # /times B: =multiply sign
-          "times" => "&#x000D7;",
-          # =trade mark sign
-          "trade" => "&#x02122;",
-          # /uparrow A: =upward arrow
-          "uarr" => "&#x02191;",
-          # /vert =vertical bar
-          "verbar" => "&#x0007C;",
-          # /yen =yen sign
-          "yen" => "&#x000A5;",
-          # =significant blank symbol
-          "blank" => "&#x02423;",
-          # =50% shaded block
-          "blk12" => "&#x02592;",
-          # =25% shaded block
-          "blk14" => "&#x02591;",
-          # =75% shaded block
-          "blk34" => "&#x02593;",
-          # =full block
-          "block" => "&#x02588;",
-          # /bullet B: =round bullet, filled
-          "bull" => "&#x02022;",
-          # =caret (insertion mark)
-          "caret" => "&#x02041;",
-          # /checkmark =tick, check mark
-          "check" => "&#x02713;",
-          # /circ B: =circle, open
-          "cir" => "&#x025CB;",
-          # /clubsuit =club suit symbol
-          "clubs" => "&#x02663;",
-          # =sound recording copyright sign
-          "copysr" => "&#x02117;",
-          # =ballot cross
-          "cross" => "&#x02717;",
-          # /ddagger B: =double dagger
-          "Dagger" => "&#x02021;",
-          # /dagger B: =dagger
-          "dagger" => "&#x02020;",
-          # =hyphen (true graphic)
-          "dash" => "&#x02010;",
-          # /diamondsuit =diamond suit symbol
-          "diams" => "&#x02666;",
-          # downward left crop mark
-          "dlcrop" => "&#x0230D;",
-          # downward right crop mark
-          "drcrop" => "&#x0230C;",
-          # /triangledown =down triangle, open
-          "dtri" => "&#x025BF;",
-          # /blacktriangledown =dn tri, filled
-          "dtrif" => "&#x025BE;",
-          # =em space
-          "emsp" => "&#x02003;",
-          # =1/3-em space
-          "emsp13" => "&#x02004;",
-          # =1/4-em space
-          "emsp14" => "&#x02005;",
-          # =en space (1/2-em)
-          "ensp" => "&#x02002;",
-          # =female symbol
-          "female" => "&#x02640;",
-          # small ffi ligature
-          "ffilig" => "&#x0FB03;",
-          # small ff ligature
-          "fflig" => "&#x0FB00;",
-          # small ffl ligature
-          "ffllig" => "&#x0FB04;",
-          # small fi ligature
-          "filig" => "&#x0FB01;",
-          # /flat =musical flat
-          "flat" => "&#x0266D;",
-          # small fl ligature
-          "fllig" => "&#x0FB02;",
-          # =fraction one-third
-          "frac13" => "&#x02153;",
-          # =fraction one-fifth
-          "frac15" => "&#x02155;",
-          # =fraction one-sixth
-          "frac16" => "&#x02159;",
-          # =fraction two-thirds
-          "frac23" => "&#x02154;",
-          # =fraction two-fifths
-          "frac25" => "&#x02156;",
-          # =fraction three-fifths
-          "frac35" => "&#x02157;",
-          # =fraction four-fifths
-          "frac45" => "&#x02158;",
-          # =fraction five-sixths
-          "frac56" => "&#x0215A;",
-          # =hair space
-          "hairsp" => "&#x0200A;",
-          # /heartsuit =heart suit symbol
-          "hearts" => "&#x02665;",
-          # =ellipsis (horizontal)
-          "hellip" => "&#x02026;",
-          # rectangle, filled (hyphen bullet)
-          "hybull" => "&#x02043;",
-          # =in-care-of symbol
-          "incare" => "&#x02105;",
-          # =rising dbl quote, left (low)
-          "ldquor" => "&#x0201E;",
-          # =lower half block
-          "lhblk" => "&#x02584;",
-          # /lozenge - lozenge or total mark
-          "loz" => "&#x025CA;",
-          # /blacklozenge - lozenge, filled
-          "lozf" => "&#x029EB;",
-          # =rising single quote, left (low)
-          "lsquor" => "&#x0201A;",
-          # /triangleleft B: l triangle, open
-          "ltri" => "&#x025C3;",
-          # /blacktriangleleft R: =l tri, filled
-          "ltrif" => "&#x025C2;",
-          # =male symbol
-          "male" => "&#x02642;",
-          # /maltese =maltese cross
-          "malt" => "&#x02720;",
-          # =histogram marker
-          "marker" => "&#x025AE;",
-          # =em dash
-          "mdash" => "&#x02014;",
-          # em leader
-          "mldr" => "&#x02026;",
-          # /natural - music natural
-          "natur" => "&#x0266E;",
-          # =en dash
-          "ndash" => "&#x02013;",
-          # =double baseline dot (en leader)
-          "nldr" => "&#x02025;",
-          # =digit space (width of a number)
-          "numsp" => "&#x02007;",
-          # =telephone symbol
-          "phone" => "&#x0260E;",
-          # =punctuation space (width of comma)
-          "puncsp" => "&#x02008;",
-          # rising dbl quote, right (high)
-          "rdquor" => "&#x0201D;",
-          # =rectangle, open
-          "rect" => "&#x025AD;",
-          # rising single quote, right (high)
-          "rsquor" => "&#x02019;",
-          # /triangleright B: r triangle, open
-          "rtri" => "&#x025B9;",
-          # /blacktriangleright R: =r tri, filled
-          "rtrif" => "&#x025B8;",
-          # pharmaceutical prescription (Rx)
-          "rx" => "&#x0211E;",
-          # sextile (6-pointed star)
-          "sext" => "&#x02736;",
-          # /sharp =musical sharp
-          "sharp" => "&#x0266F;",
-          # /spadesuit =spades suit symbol
-          "spades" => "&#x02660;",
-          # =square, open
-          "squ" => "&#x025A1;",
-          # /blacksquare =sq bullet, filled
-          "squf" => "&#x025AA;",
-          # =star, open
-          "star" => "&#x02606;",
-          # /bigstar - star, filled
-          "starf" => "&#x02605;",
-          # register mark or target
-          "target" => "&#x02316;",
-          # =telephone recorder symbol
-          "telrec" => "&#x02315;",
-          # =thin space (1/6-em)
-          "thinsp" => "&#x02009;",
-          # =upper half block
-          "uhblk" => "&#x02580;",
-          # upward left crop mark
-          "ulcrop" => "&#x0230F;",
-          # upward right crop mark
-          "urcrop" => "&#x0230E;",
-          # /triangle =up triangle, open
-          "utri" => "&#x025B5;",
-          # /blacktriangle =up tri, filled
-          "utrif" => "&#x025B4;",
-          # vertical ellipsis
-          "vellip" => "&#x022EE;",
-          # ac current
-          "acd" => "&#x0223F;",
-          # /aleph aleph, Hebrew
-          "aleph" => "&#x02135;",
-          # dbl logical and
-          "And" => "&#x02A53;",
-          # /wedge /land B: logical and
-          "and" => "&#x02227;",
-          # two logical and
-          "andand" => "&#x02A55;",
-          # and, horizontal dash
-          "andd" => "&#x02A5C;",
-          # sloping large and
-          "andslope" => "&#x02A58;",
-          # and with middle stem
-          "andv" => "&#x02A5A;",
-          # right (90 degree) angle
-          "angrt" => "&#x0221F;",
-          # /sphericalangle angle-spherical
-          "angsph" => "&#x02222;",
-          # Angstrom capital A, ring
-          "angst" => "&#x0212B;",
-          # /approx R: approximate
-          "ap" => "&#x02248;",
-          # approximate, circumflex accent
-          "apacir" => "&#x02A6F;",
-          # contour integral, anti-clockwise
-          "awconint" => "&#x02233;",
-          # anti clock-wise integration
-          "awint" => "&#x02A11;",
-          # /because R: because
-          "becaus" => "&#x02235;",
-          # Bernoulli function (script capital B)
-          "bernou" => "&#x0212C;",
-          # reverse not equal
-          "bne" => "&#x0003D;&#x020E5;",
-          # reverse not equivalent
-          "bnequiv" => "&#x02261;&#x020E5;",
-          # reverse not with two horizontal strokes
-          "bNot" => "&#x02AED;",
-          # reverse not
-          "bnot" => "&#x02310;",
-          # /bot bottom
-          "bottom" => "&#x022A5;",
-          # /cap B: intersection
-          "cap" => "&#x02229;",
-          # triple contour integral operator
-          "Cconint" => "&#x02230;",
-          # circulation function
-          "cirfnint" => "&#x02A10;",
-          # /circ B: composite function (small circle)
-          "compfn" => "&#x02218;",
-          # /cong R: congruent with
-          "cong" => "&#x02245;",
-          # double contour integral operator
-          "Conint" => "&#x0222F;",
-          # /oint L: contour integral operator
-          "conint" => "&#x0222E;",
-          # /cdots, three dots, centered
-          "ctdot" => "&#x022EF;",
-          # /cup B: union or logical sum
-          "cup" => "&#x0222A;",
-          # contour integral, clockwise
-          "cwconint" => "&#x02232;",
-          # clockwise integral
-          "cwint" => "&#x02231;",
-          # cylindricity
-          "cylcty" => "&#x0232D;",
-          # set membership, long horizontal stroke
-          "disin" => "&#x022F2;",
-          # dieresis or umlaut mark
-          "Dot" => "&#x000A8;",
-          # solidus, bar above
-          "dsol" => "&#x029F6;",
-          # /ddots, three dots, descending
-          "dtdot" => "&#x022F1;",
-          # large downward pointing angle
-          "dwangle" => "&#x029A6;",
-          # electrical intersection
-          "elinters" => "&#x0FFFD;",
-          # parallel, equal; equal or parallel
-          "epar" => "&#x022D5;",
-          # parallel, slanted, equal; homothetically congruent to
-          "eparsl" => "&#x029E3;",
-          # /equiv R: identical with
-          "equiv" => "&#x02261;",
-          # equivalent, equal; congruent and parallel
-          "eqvparsl" => "&#x029E5;",
-          # /exists at least one exists
-          "exist" => "&#x02203;",
-          # flatness
-          "fltns" => "&#x025B1;",
-          # function of (italic small f)
-          "fnof" => "&#x00192;",
-          # /forall for all
-          "forall" => "&#x02200;",
-          # finite part integral
-          "fpartint" => "&#x02A0D;",
-          # /geq /ge R: greater-than-or-equal
-          "ge" => "&#x02265;",
-          # Hamiltonian (script capital H)
-          "hamilt" => "&#x0210B;",
-          # /iff if and only if
-          "iff" => "&#x021D4;",
-          # infinity sign, incomplete
-          "iinfin" => "&#x029DC;",
-          # impedance
-          "imped" => "&#x001B5;",
-          # /infty infinity
-          "infin" => "&#x0221E;",
-          # tie, infinity
-          "infintie" => "&#x029DD;",
-          # double integral operator
-          "Int" => "&#x0222C;",
-          # /int L: integral operator
-          "int" => "&#x0222B;",
-          # integral, left arrow with hook
-          "intlarhk" => "&#x02A17;",
-          # /in R: set membership
-          "isin" => "&#x02208;",
-          # set membership, dot above
-          "isindot" => "&#x022F5;",
-          # set membership, two horizontal strokes
-          "isinE" => "&#x022F9;",
-          # set membership, vertical bar on horizontal stroke
-          "isins" => "&#x022F4;",
-          # large set membership, vertical bar on horizontal stroke
-          "isinsv" => "&#x022F3;",
-          # set membership, variant
-          "isinv" => "&#x02208;",
-          # Lagrangian (script capital L)
-          "lagran" => "&#x02112;",
-          # left angle bracket, double
-          "Lang" => "&#x0300A;",
-          # /langle O: left angle bracket
-          "lang" => "&#x02329;",
-          # /Leftarrow A: is implied by
-          "lArr" => "&#x021D0;",
-          # left broken bracket
-          "lbbrk" => "&#x03014;",
-          # /leq /le R: less-than-or-equal
-          "le" => "&#x02264;",
-          # left open angular bracket
-          "loang" => "&#x03018;",
-          # left open bracket
-          "lobrk" => "&#x0301A;",
-          # left open parenthesis
-          "lopar" => "&#x02985;",
-          # low asterisk
-          "lowast" => "&#x02217;",
-          # B: minus sign
-          "minus" => "&#x02212;",
-          # /mp B: minus-or-plus sign
-          "mnplus" => "&#x02213;",
-          # /nabla del, Hamilton operator
-          "nabla" => "&#x02207;",
-          # /ne /neq R: not equal
-          "ne" => "&#x02260;",
-          # not equal, dot
-          "nedot" => "&#x02250;&#x00338;",
-          # not, horizontal, parallel
-          "nhpar" => "&#x02AF2;",
-          # /ni /owns R: contains
-          "ni" => "&#x0220B;",
-          # contains, vertical bar on horizontal stroke
-          "nis" => "&#x022FC;",
-          # contains, long horizontal stroke
-          "nisd" => "&#x022FA;",
-          # contains, variant
-          "niv" => "&#x0220B;",
-          # not with two horizontal strokes
-          "Not" => "&#x02AEC;",
-          # /notin N: negated set membership
-          "notin" => "&#x02209;",
-          # negated set membership, dot above
-          "notindot" => "&#x022F5;&#x00338;",
-          # negated set membership, two horizontal strokes
-          "notinE" => "&#x022F9;&#x00338;",
-          # negated set membership, variant
-          "notinva" => "&#x02209;",
-          # negated set membership, variant
-          "notinvb" => "&#x022F7;",
-          # negated set membership, variant
-          "notinvc" => "&#x022F6;",
-          # negated contains
-          "notni" => "&#x0220C;",
-          # negated contains, variant
-          "notniva" => "&#x0220C;",
-          # contains, variant
-          "notnivb" => "&#x022FE;",
-          # contains, variant
-          "notnivc" => "&#x022FD;",
-          # not parallel, slanted
-          "nparsl" => "&#x02AFD;&#x020E5;",
-          # not partial differential
-          "npart" => "&#x02202;&#x00338;",
-          # line integration, not including the pole
-          "npolint" => "&#x02A14;",
-          # not, vert, infinity
-          "nvinfin" => "&#x029DE;",
-          # circle, cross
-          "olcross" => "&#x029BB;",
-          # dbl logical or
-          "Or" => "&#x02A54;",
-          # /vee /lor B: logical or
-          "or" => "&#x02228;",
-          # or, horizontal dash
-          "ord" => "&#x02A5D;",
-          # order of (script small o)
-          "order" => "&#x02134;",
-          # two logical or
-          "oror" => "&#x02A56;",
-          # sloping large or
-          "orslope" => "&#x02A57;",
-          # or with middle stem
-          "orv" => "&#x02A5B;",
-          # /parallel R: parallel
-          "par" => "&#x02225;",
-          # parallel, slanted
-          "parsl" => "&#x02AFD;",
-          # /partial partial differential
-          "part" => "&#x02202;",
-          # per thousand
-          "permil" => "&#x02030;",
-          # /perp R: perpendicular
-          "perp" => "&#x022A5;",
-          # per 10 thousand
-          "pertenk" => "&#x02031;",
-          # physics M-matrix (script capital M)
-          "phmmat" => "&#x02133;",
-          # integral around a point operator
-          "pointint" => "&#x02A15;",
-          # double prime or second
-          "Prime" => "&#x02033;",
-          # /prime prime or minute
-          "prime" => "&#x02032;",
-          # all-around profile
-          "profalar" => "&#x0232E;",
-          # profile of a line
-          "profline" => "&#x02312;",
-          # profile of a surface
-          "profsurf" => "&#x02313;",
-          # /propto R: is proportional to
-          "prop" => "&#x0221D;",
-          # /iiiint quadruple integral operator
-          "qint" => "&#x02A0C;",
-          # quadruple prime
-          "qprime" => "&#x02057;",
-          # quaternion integral operator
-          "quatint" => "&#x02A16;",
-          # /surd radical
-          "radic" => "&#x0221A;",
-          # right angle bracket, double
-          "Rang" => "&#x0300B;",
-          # /rangle C: right angle bracket
-          "rang" => "&#x0232A;",
-          # /Rightarrow A: implies
-          "rArr" => "&#x021D2;",
-          # right broken bracket
-          "rbbrk" => "&#x03015;",
-          # right open angular bracket
-          "roang" => "&#x03019;",
-          # right open bracket
-          "robrk" => "&#x0301B;",
-          # right open parenthesis
-          "ropar" => "&#x02986;",
-          # line integration, rectangular path around pole
-          "rppolint" => "&#x02A12;",
-          # line integration, semi-circular path around pole
-          "scpolint" => "&#x02A13;",
-          # /sim R: similar
-          "sim" => "&#x0223C;",
-          # similar, dot
-          "simdot" => "&#x02A6A;",
-          # /simeq R: similar, equals
-          "sime" => "&#x02243;",
-          # similar, parallel, slanted, equal
-          "smeparsl" => "&#x029E4;",
-          # /square, square
-          "square" => "&#x025A1;",
-          # /blacksquare, square, filled
-          "squarf" => "&#x025AA;",
-          # straightness
-          "strns" => "&#x000AF;",
-          # /subset R: subset or is implied by
-          "sub" => "&#x02282;",
-          # /subseteq R: subset, equals
-          "sube" => "&#x02286;",
-          # /supset R: superset or implies
-          "sup" => "&#x02283;",
-          # /supseteq R: superset, equals
-          "supe" => "&#x02287;",
-          # /therefore R: therefore
-          "there4" => "&#x02234;",
-          # /iiint triple integral operator
-          "tint" => "&#x0222D;",
-          # /top top
-          "top" => "&#x022A4;",
-          # top and bottom
-          "topbot" => "&#x02336;",
-          # top, circle below
-          "topcir" => "&#x02AF1;",
-          # triple prime
-          "tprime" => "&#x02034;",
-          # three dots, ascending
-          "utdot" => "&#x022F0;",
-          # large upward pointing angle
-          "uwangle" => "&#x029A7;",
-          # right angle, variant
-          "vangrt" => "&#x0299C;",
-          # logical or, equals
-          "veeeq" => "&#x0225A;",
-          # /Vert dbl vertical bar
-          "Verbar" => "&#x02016;",
-          # /wedgeq R: corresponds to (wedge, equals)
-          "wedgeq" => "&#x02259;",
-          # large contains, vertical bar on horizontal stroke
-          "xnis" => "&#x022FB;",
-          # alias ISOAMSO ang
-          "angle" => "&#x02220;",
-          # character showing function application in presentation tagging
-          "ApplyFunction" => "&#x02061;",
-          # alias ISOTECH ap
-          "approx" => "&#x02248;",
-          # alias ISOAMSR ape
-          "approxeq" => "&#x0224A;",
-          # assignment operator, alias ISOAMSR colone
-          "Assign" => "&#x02254;",
-          # alias ISOAMSR bcong
-          "backcong" => "&#x0224C;",
-          # alias ISOAMSR bepsi
-          "backepsilon" => "&#x003F6;",
-          # alias ISOAMSO bprime
-          "backprime" => "&#x02035;",
-          # alias ISOAMSR bsim
-          "backsim" => "&#x0223D;",
-          # alias ISOAMSR bsime
-          "backsimeq" => "&#x022CD;",
-          # alias ISOAMSB setmn
-          "Backslash" => "&#x02216;",
-          # alias ISOAMSB barwed
-          "barwedge" => "&#x02305;",
-          # alias ISOTECH becaus
-          "Because" => "&#x02235;",
-          # alias ISOTECH becaus
-          "because" => "&#x02235;",
-          # alias ISOTECH bernou
-          "Bernoullis" => "&#x0212C;",
-          # alias ISOAMSR twixt
-          "between" => "&#x0226C;",
-          # alias ISOAMSB xcap
-          "bigcap" => "&#x022C2;",
-          # alias ISOAMSB xcirc
-          "bigcirc" => "&#x025EF;",
-          # alias ISOAMSB xcup
-          "bigcup" => "&#x022C3;",
-          # alias ISOAMSB xodot
-          "bigodot" => "&#x02A00;",
-          # alias ISOAMSB xoplus
-          "bigoplus" => "&#x02A01;",
-          # alias ISOAMSB xotime
-          "bigotimes" => "&#x02A02;",
-          # alias ISOAMSB xsqcup
-          "bigsqcup" => "&#x02A06;",
-          # ISOPUB    starf
-          "bigstar" => "&#x02605;",
-          # alias ISOAMSB xdtri
-          "bigtriangledown" => "&#x025BD;",
-          # alias ISOAMSB xutri
-          "bigtriangleup" => "&#x025B3;",
-          # alias ISOAMSB xuplus
-          "biguplus" => "&#x02A04;",
-          # alias ISOAMSB xvee
-          "bigvee" => "&#x022C1;",
-          # alias ISOAMSB xwedge
-          "bigwedge" => "&#x022C0;",
-          # alias ISOAMSA rbarr
-          "bkarow" => "&#x0290D;",
-          # alias ISOPUB lozf
-          "blacklozenge" => "&#x029EB;",
-          # ISOTECH  squarf
-          "blacksquare" => "&#x025AA;",
-          # alias ISOPUB utrif
-          "blacktriangle" => "&#x025B4;",
-          # alias ISOPUB dtrif
-          "blacktriangledown" => "&#x025BE;",
-          # alias ISOPUB ltrif
-          "blacktriangleleft" => "&#x025C2;",
-          # alias ISOPUB rtrif
-          "blacktriangleright" => "&#x025B8;",
-          # alias ISOTECH bottom
-          "bot" => "&#x022A5;",
-          # alias ISOAMSB minusb
-          "boxminus" => "&#x0229F;",
-          # alias ISOAMSB plusb
-          "boxplus" => "&#x0229E;",
-          # alias ISOAMSB timesb
-          "boxtimes" => "&#x022A0;",
-          # alias ISODIA breve
-          "Breve" => "&#x002D8;",
-          # alias ISOPUB bull
-          "bullet" => "&#x02022;",
-          # alias ISOAMSR bump
-          "Bumpeq" => "&#x0224E;",
-          # alias ISOAMSR bumpe
-          "bumpeq" => "&#x0224F;",
-          # D for use in differentials, e.g., within integrals
-          "CapitalDifferentialD" => "&#x02145;",
-          # the non-associative ring of octonions or Cayley numbers
-          "Cayleys" => "&#x0212D;",
-          # alias ISODIA cedil
-          "Cedilla" => "&#x000B8;",
-          # alias ISONUM middot
-          "CenterDot" => "&#x000B7;",
-          # alias ISONUM middot
-          "centerdot" => "&#x000B7;",
-          # alias ISOPUB check
-          "checkmark" => "&#x02713;",
-          # alias ISOAMSR cire
-          "circeq" => "&#x02257;",
-          # alias ISOAMSA olarr
-          "circlearrowleft" => "&#x021BA;",
-          # alias ISOAMSA orarr
-          "circlearrowright" => "&#x021BB;",
-          # alias ISOAMSB oast
-          "circledast" => "&#x0229B;",
-          # alias ISOAMSB ocir
-          "circledcirc" => "&#x0229A;",
-          # alias ISOAMSB odash
-          "circleddash" => "&#x0229D;",
-          # alias ISOAMSB odot
-          "CircleDot" => "&#x02299;",
-          # alias ISONUM reg
-          "circledR" => "&#x000AE;",
-          # alias ISOAMSO oS
-          "circledS" => "&#x024C8;",
-          # alias ISOAMSB ominus
-          "CircleMinus" => "&#x02296;",
-          # alias ISOAMSB oplus
-          "CirclePlus" => "&#x02295;",
-          # alias ISOAMSB otimes
-          "CircleTimes" => "&#x02297;",
-          # alias ISOTECH cwconint
-          "ClockwiseContourIntegral" => "&#x02232;",
-          # alias ISONUM rdquo
-          "CloseCurlyDoubleQuote" => "&#x0201D;",
-          # alias ISONUM rsquo
-          "CloseCurlyQuote" => "&#x02019;",
-          # ISOPUB    clubs
-          "clubsuit" => "&#x02663;",
-          # alias ISOAMSR colone
-          "coloneq" => "&#x02254;",
-          # alias ISOAMSO comp
-          "complement" => "&#x02201;",
-          # the field of complex numbers
-          "complexes" => "&#x02102;",
-          # alias ISOTECH equiv
-          "Congruent" => "&#x02261;",
-          # alias ISOTECH conint
-          "ContourIntegral" => "&#x0222E;",
-          # alias ISOAMSB coprod
-          "Coproduct" => "&#x02210;",
-          # alias ISOTECH awconint
-          "CounterClockwiseContourIntegral" => "&#x02233;",
-          # alias asympeq
-          "CupCap" => "&#x0224D;",
-          # alias ISOAMSR cuepr
-          "curlyeqprec" => "&#x022DE;",
-          # alias ISOAMSR cuesc
-          "curlyeqsucc" => "&#x022DF;",
-          # alias ISOAMSB cuvee
-          "curlyvee" => "&#x022CE;",
-          # alias ISOAMSB cuwed
-          "curlywedge" => "&#x022CF;",
-          # alias ISOAMSA cularr
-          "curvearrowleft" => "&#x021B6;",
-          # alias ISOAMSA curarr
-          "curvearrowright" => "&#x021B7;",
-          # alias ISOAMSA rBarr
-          "dbkarow" => "&#x0290F;",
-          # alias ISOPUB Dagger
-          "ddagger" => "&#x02021;",
-          # alias ISOAMSR eDDot
-          "ddotseq" => "&#x02A77;",
+          # down two-headed arrow
+          "Darr" => "&#x021A1;",
+          # dbl dash, vertical
+          "Dashv" => "&#x02AE4;",
+          # =capital D, caron
+          "Dcaron" => "&#x0010E;",
+          # =capital DE, Cyrillic
+          "Dcy" => "&#x00414;",
           # alias ISOTECH nabla
           "Del" => "&#x02207;",
+          # /Delta capital Delta, Greek
+          "Delta" => "&#x00394;",
+          # /frak D, upper case d
+          "Dfr" => "&#x1D507;",
           # alias ISODIA acute
           "DiacriticalAcute" => "&#x000B4;",
           # alias ISODIA dot
@@ -3047,32 +163,14 @@ module Rabbit
           "DiacriticalTilde" => "&#x002DC;",
           # alias ISOAMSB diam
           "Diamond" => "&#x022C4;",
-          # alias ISOAMSB diam
-          "diamond" => "&#x022C4;",
-          # ISOPUB    diams
-          "diamondsuit" => "&#x02666;",
           # d for use in differentials, e.g., within integrals
           "DifferentialD" => "&#x02146;",
-          # alias ISOGRK3 gammad
-          "digamma" => "&#x003DD;",
-          # alias ISONUM divide
-          "div" => "&#x000F7;",
-          # alias ISOAMSB divonx
-          "divideontimes" => "&#x022C7;",
-          # alias ISOAMSR esdot
-          "doteq" => "&#x02250;",
-          # alias ISOAMSR eDot
-          "doteqdot" => "&#x02251;",
+          # /Bbb D, open face D
+          "Dopf" => "&#x1D53B;",
+          # dieresis or umlaut mark
+          "Dot" => "&#x000A8;",
           # alias ISOAMSR esdot
           "DotEqual" => "&#x02250;",
-          # alias ISOAMSB minusd
-          "dotminus" => "&#x02238;",
-          # alias ISOAMSB plusdo
-          "dotplus" => "&#x02214;",
-          # alias ISOAMSB sdotb
-          "dotsquare" => "&#x022A1;",
-          # alias ISOAMSB Barwed
-          "doublebarwedge" => "&#x02306;",
           # alias ISOTECH Conint
           "DoubleContourIntegral" => "&#x0222F;",
           # alias ISODIA die
@@ -3103,316 +201,378 @@ module Rabbit
           "DoubleVerticalBar" => "&#x02225;",
           # alias ISONUM darr
           "DownArrow" => "&#x02193;",
-          # alias ISOAMSA dArr
-          "Downarrow" => "&#x021D3;",
-          # alias ISONUM darr
-          "downarrow" => "&#x02193;",
+          # down arrow to bar
+          "DownArrowBar" => "&#x02913;",
           # alias ISOAMSA duarr
           "DownArrowUpArrow" => "&#x021F5;",
-          # alias ISOAMSA ddarr
-          "downdownarrows" => "&#x021CA;",
-          # alias ISOAMSA dharl
-          "downharpoonleft" => "&#x021C3;",
-          # alias ISOAMSA dharr
-          "downharpoonright" => "&#x021C2;",
+          # left-down-right-down harpoon
+          "DownLeftRightVector" => "&#x02950;",
+          # left-down harpoon from bar
+          "DownLeftTeeVector" => "&#x0295E;",
           # alias ISOAMSA lhard
           "DownLeftVector" => "&#x021BD;",
+          # left-down harpoon to bar
+          "DownLeftVectorBar" => "&#x02956;",
+          # right-down harpoon from bar
+          "DownRightTeeVector" => "&#x0295F;",
           # alias ISOAMSA rhard
           "DownRightVector" => "&#x021C1;",
+          # right-down harpoon to bar
+          "DownRightVectorBar" => "&#x02957;",
           # alias ISOTECH top
           "DownTee" => "&#x022A4;",
           # alias for mapstodown
           "DownTeeArrow" => "&#x021A7;",
-          # alias ISOAMSA RBarr
-          "drbkarow" => "&#x02910;",
+          # alias ISOAMSA dArr
+          "Downarrow" => "&#x021D3;",
+          # /scr D, script letter D
+          "Dscr" => "&#x1D49F;",
+          # =capital D, stroke
+          "Dstrok" => "&#x00110;",
+          # =capital ENG, Lapp
+          "ENG" => "&#x0014A;",
+          # =capital Eth, Icelandic
+          "ETH" => "&#x000D0;",
+          # =capital E, acute accent
+          "Eacute" => "&#x000C9;",
+          # =capital E, caron
+          "Ecaron" => "&#x0011A;",
+          # =capital E, circumflex accent
+          "Ecirc" => "&#x000CA;",
+          # =capital E, Cyrillic
+          "Ecy" => "&#x0042D;",
+          # =capital E, dot above
+          "Edot" => "&#x00116;",
+          # /frak E, upper case e
+          "Efr" => "&#x1D508;",
+          # =capital E, grave accent
+          "Egrave" => "&#x000C8;",
           # alias ISOTECH isinv
           "Element" => "&#x02208;",
-          # alias ISOAMSO empty
-          "emptyset" => "&#x02205;",
-          # alias ISOAMSR ecir
-          "eqcirc" => "&#x02256;",
-          # alias ISOAMSR ecolon
-          "eqcolon" => "&#x02255;",
-          # alias ISOAMSR esim
-          "eqsim" => "&#x02242;",
-          # alias ISOAMSR egs
-          "eqslantgtr" => "&#x02A96;",
-          # alias ISOAMSR els
-          "eqslantless" => "&#x02A95;",
+          # =capital E, macron
+          "Emacr" => "&#x00112;",
+          # empty small square
+          "EmptySmallSquare" => "&#x025FB;",
+          # empty small square
+          "EmptyVerySmallSquare" => "&#x025AB;",
+          # =capital E, ogonek
+          "Eogon" => "&#x00118;",
+          # /Bbb E, open face E
+          "Eopf" => "&#x1D53C;",
+          # two consecutive equal signs
+          "Equal" => "&#x02A75;",
           # alias ISOAMSR esim
           "EqualTilde" => "&#x02242;",
           # alias ISOAMSA rlhar
           "Equilibrium" => "&#x021CC;",
+          # /scr E, script letter E
+          "Escr" => "&#x02130;",
+          # equal, similar
+          "Esim" => "&#x02A73;",
+          # =capital E, dieresis or umlaut mark
+          "Euml" => "&#x000CB;",
           # alias ISOTECH exist
           "Exists" => "&#x02203;",
-          # expectation (operator)
-          "expectation" => "&#x02130;",
           # e use for the exponential base of the natural logarithms
           "ExponentialE" => "&#x02147;",
-          # base of the Napierian logarithms
-          "exponentiale" => "&#x02147;",
-          # alias ISOAMSR efDot
-          "fallingdotseq" => "&#x02252;",
+          # =capital EF, Cyrillic
+          "Fcy" => "&#x00424;",
+          # /frak F, upper case f
+          "Ffr" => "&#x1D509;",
+          # filled small square
+          "FilledSmallSquare" => "&#x025FC;",
+          # filled very small square
+          "FilledVerySmallSquare" => "&#x025AA;",
+          # /Bbb F, open face F
+          "Fopf" => "&#x1D53D;",
           # alias ISOTECH forall
           "ForAll" => "&#x02200;",
           # Fourier transform
           "Fouriertrf" => "&#x02131;",
-          # alias ISOTECH ge
-          "geq" => "&#x02265;",
-          # alias ISOAMSR gE
-          "geqq" => "&#x02267;",
-          # alias ISOAMSR ges
-          "geqslant" => "&#x02A7E;",
-          # alias ISOAMSR Gt
-          "gg" => "&#x0226B;",
-          # alias ISOAMSR Gg
-          "ggg" => "&#x022D9;",
-          # alias ISOAMSN gnap
-          "gnapprox" => "&#x02A8A;",
-          # alias ISOAMSN gne
-          "gneq" => "&#x02A88;",
-          # alias ISOAMSN gnE
-          "gneqq" => "&#x02269;",
+          # /scr F, script letter F
+          "Fscr" => "&#x02131;",
+          # =capital GJE Macedonian
+          "GJcy" => "&#x00403;",
+          # /Gamma capital Gamma, Greek
+          "Gamma" => "&#x00393;",
+          # capital digamma
+          "Gammad" => "&#x003DC;",
+          # =capital G, breve
+          "Gbreve" => "&#x0011E;",
+          # =capital G, cedilla
+          "Gcedil" => "&#x00122;",
+          # =capital G, circumflex accent
+          "Gcirc" => "&#x0011C;",
+          # =capital GHE, Cyrillic
+          "Gcy" => "&#x00413;",
+          # =capital G, dot above
+          "Gdot" => "&#x00120;",
+          # /frak G, upper case g
+          "Gfr" => "&#x1D50A;",
+          # /ggg /Gg /gggtr R: triple gtr-than
+          "Gg" => "&#x022D9;",
+          # /Bbb G, open face G
+          "Gopf" => "&#x1D53E;",
           # alias ISOTECH ge
           "GreaterEqual" => "&#x02265;",
           # alias ISOAMSR gel
           "GreaterEqualLess" => "&#x022DB;",
           # alias ISOAMSR gE
           "GreaterFullEqual" => "&#x02267;",
+          # alias for GT
+          "GreaterGreater" => "&#x02AA2;",
           # alias ISOAMSR gl
           "GreaterLess" => "&#x02277;",
           # alias ISOAMSR ges
           "GreaterSlantEqual" => "&#x02A7E;",
           # alias ISOAMSR gsim
           "GreaterTilde" => "&#x02273;",
-          # alias ISOAMSR gap
-          "gtrapprox" => "&#x02A86;",
-          # alias ISOAMSR gtdot
-          "gtrdot" => "&#x022D7;",
-          # alias ISOAMSR gel
-          "gtreqless" => "&#x022DB;",
-          # alias ISOAMSR gEl
-          "gtreqqless" => "&#x02A8C;",
-          # alias ISOAMSR gl
-          "gtrless" => "&#x02277;",
-          # alias ISOAMSR gsim
-          "gtrsim" => "&#x02273;",
-          # alias ISOAMSN gvnE
-          "gvertneqq" => "&#x02269;&#x0FE00;",
+          # /scr G, script letter G
+          "Gscr" => "&#x1D4A2;",
+          # /gg R: dbl greater-than sign
+          "Gt" => "&#x0226B;",
+          # =capital HARD sign, Cyrillic
+          "HARDcy" => "&#x0042A;",
           # alias ISODIA caron
           "Hacek" => "&#x002C7;",
-          # alias ISOAMSO plank
-          "hbar" => "&#x0210F;",
-          # ISOPUB hearts
-          "heartsuit" => "&#x02665;",
+          # circumflex accent
+          "Hat" => "&#x0005E;",
+          # =capital H, circumflex accent
+          "Hcirc" => "&#x00124;",
+          # /frak H, upper case h
+          "Hfr" => "&#x0210C;",
           # Hilbert space
           "HilbertSpace" => "&#x0210B;",
-          # alias ISOAMSA searhk
-          "hksearow" => "&#x02925;",
-          # alias ISOAMSA swarhk
-          "hkswarow" => "&#x02926;",
-          # alias ISOAMSA larrhk
-          "hookleftarrow" => "&#x021A9;",
-          # alias ISOAMSA rarrhk
-          "hookrightarrow" => "&#x021AA;",
-          # alias ISOAMSO plankv
-          "hslash" => "&#x0210F;",
+          # /Bbb H, open face H
+          "Hopf" => "&#x0210D;",
+          # short horizontal line
+          "HorizontalLine" => "&#x02500;",
+          # /scr H, script letter H
+          "Hscr" => "&#x0210B;",
+          # =capital H, stroke
+          "Hstrok" => "&#x00126;",
           # alias ISOAMSR bump
           "HumpDownHump" => "&#x0224E;",
           # alias ISOAMSR bumpe
           "HumpEqual" => "&#x0224F;",
-          # alias ISOTECH qint
-          "iiiint" => "&#x02A0C;",
-          # alias ISOTECH tint
-          "iiint" => "&#x0222D;",
+          # =capital IE, Cyrillic
+          "IEcy" => "&#x00415;",
+          # =capital IJ ligature
+          "IJlig" => "&#x00132;",
+          # =capital IO, Russian
+          "IOcy" => "&#x00401;",
+          # =capital I, acute accent
+          "Iacute" => "&#x000CD;",
+          # =capital I, circumflex accent
+          "Icirc" => "&#x000CE;",
+          # =capital I, Cyrillic
+          "Icy" => "&#x00418;",
+          # =capital I, dot above
+          "Idot" => "&#x00130;",
+          # /frak I, upper case i
+          "Ifr" => "&#x02111;",
+          # =capital I, grave accent
+          "Igrave" => "&#x000CC;",
           # alias ISOAMSO image
           "Im" => "&#x02111;",
+          # =capital I, macron
+          "Imacr" => "&#x0012A;",
           # i for use as a square root of -1
           "ImaginaryI" => "&#x02148;",
-          # the geometric imaginary line
-          "imagline" => "&#x02110;",
-          # alias ISOAMSO image
-          "imagpart" => "&#x02111;",
           # alias ISOTECH rArr
           "Implies" => "&#x021D2;",
-          # ISOTECH   isin
-          "in" => "&#x02208;",
-          # the ring of integers
-          "integers" => "&#x02124;",
+          # double integral operator
+          "Int" => "&#x0222C;",
           # alias ISOTECH int
           "Integral" => "&#x0222B;",
-          # alias ISOAMSB intcal
-          "intercal" => "&#x022BA;",
           # alias ISOAMSB xcap
           "Intersection" => "&#x022C2;",
-          # alias ISOAMSB iprod
-          "intprod" => "&#x02A3C;",
           # used as a separator, e.g., in indices
           "InvisibleComma" => "&#x02063;",
           # marks multiplication when it is understood without a mark
           "InvisibleTimes" => "&#x02062;",
-          # alias ISOTECH lang
-          "langle" => "&#x02329;",
+          # =capital I, ogonek
+          "Iogon" => "&#x0012E;",
+          # /Bbb I, open face I
+          "Iopf" => "&#x1D540;",
+          # /scr I, script letter I
+          "Iscr" => "&#x02110;",
+          # =capital I, tilde
+          "Itilde" => "&#x00128;",
+          # =capital I, Ukrainian
+          "Iukcy" => "&#x00406;",
+          # =capital I, dieresis or umlaut mark
+          "Iuml" => "&#x000CF;",
+          # =capital J, circumflex accent
+          "Jcirc" => "&#x00134;",
+          # =capital short I, Cyrillic
+          "Jcy" => "&#x00419;",
+          # /frak J, upper case j
+          "Jfr" => "&#x1D50D;",
+          # /Bbb J, open face J
+          "Jopf" => "&#x1D541;",
+          # /scr J, script letter J
+          "Jscr" => "&#x1D4A5;",
+          # =capital JE, Serbian
+          "Jsercy" => "&#x00408;",
+          # =capital JE, Ukrainian
+          "Jukcy" => "&#x00404;",
+          # =capital HA, Cyrillic
+          "KHcy" => "&#x00425;",
+          # =capital KJE, Macedonian
+          "KJcy" => "&#x0040C;",
+          # =capital K, cedilla
+          "Kcedil" => "&#x00136;",
+          # =capital KA, Cyrillic
+          "Kcy" => "&#x0041A;",
+          # /frak K, upper case k
+          "Kfr" => "&#x1D50E;",
+          # /Bbb K, open face K
+          "Kopf" => "&#x1D542;",
+          # /scr K, script letter K
+          "Kscr" => "&#x1D4A6;",
+          # =capital LJE, Serbian
+          "LJcy" => "&#x00409;",
+          # =capital L, acute accent
+          "Lacute" => "&#x00139;",
+          # /Lambda capital Lambda, Greek
+          "Lambda" => "&#x0039B;",
+          # left angle bracket, double
+          "Lang" => "&#x0300A;",
           # Laplace transform
           "Laplacetrf" => "&#x02112;",
-          # alias ISONUM lcub
-          "lbrace" => "&#x0007B;",
-          # alias ISONUM lsqb
-          "lbrack" => "&#x0005B;",
+          # /twoheadleftarrow A:
+          "Larr" => "&#x0219E;",
+          # =capital L, caron
+          "Lcaron" => "&#x0013D;",
+          # =capital L, cedilla
+          "Lcedil" => "&#x0013B;",
+          # =capital EL, Cyrillic
+          "Lcy" => "&#x0041B;",
           # alias ISOTECH lang
           "LeftAngleBracket" => "&#x02329;",
           # alias ISONUM larr
           "LeftArrow" => "&#x02190;",
-          # alias ISOTECH lArr
-          "Leftarrow" => "&#x021D0;",
-          # alias ISONUM larr
-          "leftarrow" => "&#x02190;",
           # alias for larrb
           "LeftArrowBar" => "&#x021E4;",
           # alias ISOAMSA lrarr
           "LeftArrowRightArrow" => "&#x021C6;",
-          # alias ISOAMSA larrtl
-          "leftarrowtail" => "&#x021A2;",
           # alias ISOAMSC lceil
           "LeftCeiling" => "&#x02308;",
           # left double bracket delimiter
           "LeftDoubleBracket" => "&#x0301A;",
+          # down-left harpoon from bar
+          "LeftDownTeeVector" => "&#x02961;",
           # alias ISOAMSA dharl
           "LeftDownVector" => "&#x021C3;",
-          # alias ISOAMSC lfloor
-          "LeftFloor" => "&#x0230A;",
-          # alias ISOAMSA lhard
-          "leftharpoondown" => "&#x021BD;",
-          # alias ISOAMSA lharu
-          "leftharpoonup" => "&#x021BC;",
-          # alias ISOAMSA llarr
-          "leftleftarrows" => "&#x021C7;",
+          # down-left harpoon to bar
+          "LeftDownVectorBar" => "&#x02959;",
+          # alias ISOAMSC lfloor
+          "LeftFloor" => "&#x0230A;",
           # alias ISOAMSA harr
           "LeftRightArrow" => "&#x02194;",
-          # alias ISOAMSA hArr
-          "Leftrightarrow" => "&#x021D4;",
-          # alias ISOAMSA harr
-          "leftrightarrow" => "&#x02194;",
-          # alias ISOAMSA lrarr
-          "leftrightarrows" => "&#x021C6;",
-          # alias ISOAMSA lrhar
-          "leftrightharpoons" => "&#x021CB;",
-          # alias ISOAMSA harrw
-          "leftrightsquigarrow" => "&#x021AD;",
+          # left-up-right-up harpoon
+          "LeftRightVector" => "&#x0294E;",
           # alias ISOAMSR dashv
           "LeftTee" => "&#x022A3;",
           # alias for mapstoleft
           "LeftTeeArrow" => "&#x021A4;",
-          # alias ISOAMSB lthree
-          "leftthreetimes" => "&#x022CB;",
+          # left-up harpoon from bar
+          "LeftTeeVector" => "&#x0295A;",
           # alias ISOAMSR vltri
           "LeftTriangle" => "&#x022B2;",
+          # left triangle, vertical bar
+          "LeftTriangleBar" => "&#x029CF;",
           # alias ISOAMSR ltrie
           "LeftTriangleEqual" => "&#x022B4;",
+          # up-left-down-left harpoon
+          "LeftUpDownVector" => "&#x02951;",
+          # up-left harpoon from bar
+          "LeftUpTeeVector" => "&#x02960;",
           # alias ISOAMSA uharl
           "LeftUpVector" => "&#x021BF;",
+          # up-left harpoon to bar
+          "LeftUpVectorBar" => "&#x02958;",
           # alias ISOAMSA lharu
           "LeftVector" => "&#x021BC;",
-          # alias ISOTECH le
-          "leq" => "&#x02264;",
-          # alias ISOAMSR lE
-          "leqq" => "&#x02266;",
-          # alias ISOAMSR les
-          "leqslant" => "&#x02A7D;",
-          # alias ISOAMSR lap
-          "lessapprox" => "&#x02A85;",
-          # alias ISOAMSR ltdot
-          "lessdot" => "&#x022D6;",
-          # alias ISOAMSR leg
-          "lesseqgtr" => "&#x022DA;",
-          # alias ISOAMSR lEg
-          "lesseqqgtr" => "&#x02A8B;",
+          # left-up harpoon to bar
+          "LeftVectorBar" => "&#x02952;",
+          # alias ISOTECH lArr
+          "Leftarrow" => "&#x021D0;",
+          # alias ISOAMSA hArr
+          "Leftrightarrow" => "&#x021D4;",
           # alias ISOAMSR leg
           "LessEqualGreater" => "&#x022DA;",
           # alias ISOAMSR lE
           "LessFullEqual" => "&#x02266;",
           # alias ISOAMSR lg
           "LessGreater" => "&#x02276;",
-          # alias ISOAMSR lg
-          "lessgtr" => "&#x02276;",
-          # alias ISOAMSR lsim
-          "lesssim" => "&#x02272;",
+          # alias for Lt
+          "LessLess" => "&#x02AA1;",
           # alias ISOAMSR les
           "LessSlantEqual" => "&#x02A7D;",
           # alias ISOAMSR lsim
           "LessTilde" => "&#x02272;",
-          # alias ISOAMSR Lt
-          "ll" => "&#x0226A;",
-          # alias ISOAMSC dlcorn
-          "llcorner" => "&#x0231E;",
+          # /frak L, upper case l
+          "Lfr" => "&#x1D50F;",
+          # /Ll /lll /llless R: triple less-than
+          "Ll" => "&#x022D8;",
           # alias ISOAMSA lAarr
           "Lleftarrow" => "&#x021DA;",
-          # alias ISOAMSC lmoust
-          "lmoustache" => "&#x023B0;",
-          # alias ISOAMSN lnap
-          "lnapprox" => "&#x02A89;",
-          # alias ISOAMSN lne
-          "lneq" => "&#x02A87;",
-          # alias ISOAMSN lnE
-          "lneqq" => "&#x02268;",
+          # =capital L, middle dot
+          "Lmidot" => "&#x0013F;",
           # alias ISOAMSA xlarr
           "LongLeftArrow" => "&#x027F5;",
-          # alias ISOAMSA xlArr
-          "Longleftarrow" => "&#x027F8;",
-          # alias ISOAMSA xlarr
-          "longleftarrow" => "&#x027F5;",
           # alias ISOAMSA xharr
           "LongLeftRightArrow" => "&#x027F7;",
-          # alias ISOAMSA xhArr
-          "Longleftrightarrow" => "&#x027FA;",
-          # alias ISOAMSA xharr
-          "longleftrightarrow" => "&#x027F7;",
-          # alias ISOAMSA xmap
-          "longmapsto" => "&#x027FC;",
           # alias ISOAMSA xrarr
           "LongRightArrow" => "&#x027F6;",
+          # alias ISOAMSA xlArr
+          "Longleftarrow" => "&#x027F8;",
+          # alias ISOAMSA xhArr
+          "Longleftrightarrow" => "&#x027FA;",
           # alias ISOAMSA xrArr
           "Longrightarrow" => "&#x027F9;",
-          # alias ISOAMSA xrarr
-          "longrightarrow" => "&#x027F6;",
-          # alias ISOAMSA larrlp
-          "looparrowleft" => "&#x021AB;",
-          # alias ISOAMSA rarrlp
-          "looparrowright" => "&#x021AC;",
+          # /Bbb L, open face L
+          "Lopf" => "&#x1D543;",
           # alias ISOAMSA swarr
           "LowerLeftArrow" => "&#x02199;",
           # alias ISOAMSA searr
           "LowerRightArrow" => "&#x02198;",
-          # alias ISOPUB loz
-          "lozenge" => "&#x025CA;",
-          # alias ISOAMSC drcorn
-          "lrcorner" => "&#x0231F;",
+          # /scr L, script letter L
+          "Lscr" => "&#x02112;",
           # alias ISOAMSA lsh
           "Lsh" => "&#x021B0;",
-          # alias ISOAMSN lvnE
-          "lvertneqq" => "&#x02268;&#x0FE00;",
-          # alias ISOPUB malt
-          "maltese" => "&#x02720;",
-          # alias ISOAMSA map
-          "mapsto" => "&#x021A6;",
-          # alias ISOAMSO angmsd
-          "measuredangle" => "&#x02221;",
+          # =capital L, stroke
+          "Lstrok" => "&#x00141;",
+          # /ll R: double less-than sign
+          "Lt" => "&#x0226A;",
+          # twoheaded mapsto
+          "Map" => "&#x02905;",
+          # =capital EM, Cyrillic
+          "Mcy" => "&#x0041C;",
+          # space of width 4/18 em
+          "MediumSpace" => "&#x0205F;",
           # Mellin transform
           "Mellintrf" => "&#x02133;",
+          # /frak M, upper case m
+          "Mfr" => "&#x1D510;",
           # alias ISOTECH mnplus
           "MinusPlus" => "&#x02213;",
-          # alias ISOTECH mnplus
-          "mp" => "&#x02213;",
-          # alias ISOAMSA mumap
-          "multimap" => "&#x022B8;",
-          # alias ISOAMSN nap
-          "napprox" => "&#x02249;",
-          # alias ISOPUB natur
-          "natural" => "&#x0266E;",
-          # the semi-ring of natural numbers
-          "naturals" => "&#x02115;",
-          # alias ISOAMSA nearr
-          "nearrow" => "&#x02197;",
+          # /Bbb M, open face M
+          "Mopf" => "&#x1D544;",
+          # /scr M, script letter M
+          "Mscr" => "&#x02133;",
+          # =capital NJE, Serbian
+          "NJcy" => "&#x0040A;",
+          # =capital N, acute accent
+          "Nacute" => "&#x00143;",
+          # =capital N, caron
+          "Ncaron" => "&#x00147;",
+          # =capital N, cedilla
+          "Ncedil" => "&#x00145;",
+          # =capital EN, Cyrillic
+          "Ncy" => "&#x0041D;",
           # space of width -4/18 em
           "NegativeMediumSpace" => "&#x0200B;",
           # space of width -5/18 em
@@ -3425,36 +585,22 @@ module Rabbit
           "NestedGreaterGreater" => "&#x0226B;",
           # alias ISOAMSR Lt
           "NestedLessLess" => "&#x0226A;",
-          # alias ISOAMSO nexist
-          "nexists" => "&#x02204;",
-          # alias ISOAMSN nge
-          "ngeq" => "&#x02271;",
-          # alias ISOAMSN ngE
-          "ngeqq" => "&#x02267;&#x00338;",
-          # alias ISOAMSN nges
-          "ngeqslant" => "&#x02A7E;&#x00338;",
-          # alias ISOAMSN ngt
-          "ngtr" => "&#x0226F;",
-          # alias ISOAMSA nlArr
-          "nLeftarrow" => "&#x021CD;",
-          # alias ISOAMSA nlarr
-          "nleftarrow" => "&#x0219A;",
-          # alias ISOAMSA nhArr
-          "nLeftrightarrow" => "&#x021CE;",
-          # alias ISOAMSA nharr
-          "nleftrightarrow" => "&#x021AE;",
-          # alias ISOAMSN nle
-          "nleq" => "&#x02270;",
-          # alias ISOAMSN nlE
-          "nleqq" => "&#x02266;&#x00338;",
-          # alias ISOAMSN nles
-          "nleqslant" => "&#x02A7D;&#x00338;",
-          # alias ISOAMSN nlt
-          "nless" => "&#x0226E;",
+          # force a line break; line feed
+          "NewLine" => "&#x0000A;",
+          # /frak N, upper case n
+          "Nfr" => "&#x1D511;",
+          # never break line here
+          "NoBreak" => "&#x02060;",
           # alias ISONUM nbsp
           "NonBreakingSpace" => "&#x000A0;",
+          # /Bbb N, open face N
+          "Nopf" => "&#x02115;",
+          # not with two horizontal strokes
+          "Not" => "&#x02AEC;",
           # alias ISOAMSN nequiv
           "NotCongruent" => "&#x02262;",
+          # alias for &nasymp;
+          "NotCupCap" => "&#x0226D;",
           # alias ISOAMSN npar
           "NotDoubleVerticalBar" => "&#x02226;",
           # alias ISOTECH notin
@@ -3481,8 +627,12 @@ module Rabbit
           "NotGreaterTilde" => "&#x02275;",
           # alias for ≎̸
           "NotHumpDownHump" => "&#x0224E;&#x00338;",
+          # alias for ≏̸
+          "NotHumpEqual" => "&#x0224F;&#x00338;",
           # alias ISOAMSN nltri
           "NotLeftTriangle" => "&#x022EA;",
+          # not left triangle, vertical bar
+          "NotLeftTriangleBar" => "&#x029CF;&#x00338;",
           # alias ISOAMSN nltrie
           "NotLeftTriangleEqual" => "&#x022EC;",
           # alias ISOAMSN nlt
@@ -3497,6 +647,10 @@ module Rabbit
           "NotLessSlantEqual" => "&#x02A7D;&#x00338;",
           # alias ISOAMSN nlsim
           "NotLessTilde" => "&#x02274;",
+          # not double greater-than sign
+          "NotNestedGreaterGreater" => "&#x02AA2;&#x00338;",
+          # not double less-than sign
+          "NotNestedLessLess" => "&#x02AA1;&#x00338;",
           # alias ISOAMSN npr
           "NotPrecedes" => "&#x02280;",
           # alias ISOAMSN npre
@@ -3507,10 +661,16 @@ module Rabbit
           "NotReverseElement" => "&#x0220C;",
           # alias ISOAMSN nrtri
           "NotRightTriangle" => "&#x022EB;",
+          # not vertical bar, right triangle
+          "NotRightTriangleBar" => "&#x029D0;&#x00338;",
           # alias ISOAMSN nrtrie
           "NotRightTriangleEqual" => "&#x022ED;",
+          # square not subset
+          "NotSquareSubset" => "&#x0228F;&#x00338;",
           # alias ISOAMSN nsqsube
           "NotSquareSubsetEqual" => "&#x022E2;",
+          # negated set-like partial order operator
+          "NotSquareSuperset" => "&#x02290;&#x00338;",
           # alias ISOAMSN nsqsupe
           "NotSquareSupersetEqual" => "&#x022E3;",
           # alias ISOAMSN vnsub
@@ -3523,6 +683,8 @@ module Rabbit
           "NotSucceedsEqual" => "&#x02AB0;&#x00338;",
           # alias ISOAMSN nsccue
           "NotSucceedsSlantEqual" => "&#x022E1;",
+          # not succeeds or similar
+          "NotSucceedsTilde" => "&#x0227F;&#x00338;",
           # alias ISOAMSN vnsup
           "NotSuperset" => "&#x02283;&#x020D2;",
           # alias ISOAMSN nsupe
@@ -3537,74 +699,72 @@ module Rabbit
           "NotTildeTilde" => "&#x02249;",
           # alias ISOAMSN nmid
           "NotVerticalBar" => "&#x02224;",
-          # alias ISOAMSN npar
-          "nparallel" => "&#x02226;",
-          # alias ISOAMSN npr
-          "nprec" => "&#x02280;",
-          # alias ISOAMSN npre
-          "npreceq" => "&#x02AAF;&#x00338;",
-          # alias ISOAMSA nrArr
-          "nRightarrow" => "&#x021CF;",
-          # alias ISOAMSA nrarr
-          "nrightarrow" => "&#x0219B;",
-          # alias ISOAMSN nsmid
-          "nshortmid" => "&#x02224;",
-          # alias ISOAMSN nspar
-          "nshortparallel" => "&#x02226;",
-          # alias ISOAMSN nsime
-          "nsimeq" => "&#x02244;",
-          # alias ISOAMSN vnsub
-          "nsubset" => "&#x02282;&#x020D2;",
-          # alias ISOAMSN nsube
-          "nsubseteq" => "&#x02288;",
-          # alias ISOAMSN nsubE
-          "nsubseteqq" => "&#x02AC5;&#x00338;",
-          # alias ISOAMSN nsc
-          "nsucc" => "&#x02281;",
-          # alias ISOAMSN nsce
-          "nsucceq" => "&#x02AB0;&#x00338;",
-          # alias ISOAMSN vnsup
-          "nsupset" => "&#x02283;&#x020D2;",
-          # alias ISOAMSN nsupe
-          "nsupseteq" => "&#x02289;",
-          # alias ISOAMSN nsupE
-          "nsupseteqq" => "&#x02AC6;&#x00338;",
-          # alias ISOAMSN nltri
-          "ntriangleleft" => "&#x022EA;",
-          # alias ISOAMSN nltrie
-          "ntrianglelefteq" => "&#x022EC;",
-          # alias ISOAMSN nrtri
-          "ntriangleright" => "&#x022EB;",
-          # alias ISOAMSN nrtrie
-          "ntrianglerighteq" => "&#x022ED;",
-          # alias ISOAMSA nwarr
-          "nwarrow" => "&#x02196;",
-          # alias ISOTECH conint
-          "oint" => "&#x0222E;",
+          # /scr N, script letter N
+          "Nscr" => "&#x1D4A9;",
+          # =capital N, tilde
+          "Ntilde" => "&#x000D1;",
+          # =capital OE ligature
+          "OElig" => "&#x00152;",
+          # =capital O, acute accent
+          "Oacute" => "&#x000D3;",
+          # =capital O, circumflex accent
+          "Ocirc" => "&#x000D4;",
+          # =capital O, Cyrillic
+          "Ocy" => "&#x0041E;",
+          # =capital O, double acute accent
+          "Odblac" => "&#x00150;",
+          # /frak O, upper case o
+          "Ofr" => "&#x1D512;",
+          # =capital O, grave accent
+          "Ograve" => "&#x000D2;",
+          # =capital O, macron
+          "Omacr" => "&#x0014C;",
+          # /Omega capital Omega, Greek
+          "Omega" => "&#x003A9;",
+          # /Bbb O, open face O
+          "Oopf" => "&#x1D546;",
           # alias ISONUM ldquo
           "OpenCurlyDoubleQuote" => "&#x0201C;",
           # alias ISONUM lsquo
           "OpenCurlyQuote" => "&#x02018;",
-          # alias ISOTECH order
-          "orderof" => "&#x02134;",
-          # alias ISOTECH par
-          "parallel" => "&#x02225;",
+          # dbl logical or
+          "Or" => "&#x02A54;",
+          # /scr O, script letter O
+          "Oscr" => "&#x1D4AA;",
+          # =capital O, slash
+          "Oslash" => "&#x000D8;",
+          # =capital O, tilde
+          "Otilde" => "&#x000D5;",
+          # multiply sign in double circle
+          "Otimes" => "&#x02A37;",
+          # =capital O, dieresis or umlaut mark
+          "Ouml" => "&#x000D6;",
+          # over bar
+          "OverBar" => "&#x000AF;",
+          # over brace
+          "OverBrace" => "&#x0FE37;",
+          # over bracket
+          "OverBracket" => "&#x023B4;",
+          # over parenthesis
+          "OverParenthesis" => "&#x0FE35;",
           # alias ISOTECH part
           "PartialD" => "&#x02202;",
-          # alias ISOAMSR fork
-          "pitchfork" => "&#x022D4;",
+          # =capital PE, Cyrillic
+          "Pcy" => "&#x0041F;",
+          # /frak P, upper case p
+          "Pfr" => "&#x1D513;",
+          # /Phi capital Phi, Greek
+          "Phi" => "&#x003A6;",
+          # /Pi capital Pi, Greek
+          "Pi" => "&#x003A0;",
           # alias ISONUM plusmn
           "PlusMinus" => "&#x000B1;",
-          # alias ISONUM plusmn
-          "pm" => "&#x000B1;",
           # the Poincare upper half-plane
           "Poincareplane" => "&#x0210C;",
-          # alias ISOAMSR pr
-          "prec" => "&#x0227A;",
-          # alias ISOAMSR prap
-          "precapprox" => "&#x02AB7;",
-          # alias ISOAMSR prcue
-          "preccurlyeq" => "&#x0227C;",
+          # /Bbb P, open face P
+          "Popf" => "&#x02119;",
+          # dbl precedes
+          "Pr" => "&#x02ABB;",
           # alias ISOAMSR pr
           "Precedes" => "&#x0227A;",
           # alias ISOAMSR pre
@@ -3613,140 +773,144 @@ module Rabbit
           "PrecedesSlantEqual" => "&#x0227C;",
           # alias ISOAMSR prsim
           "PrecedesTilde" => "&#x0227E;",
-          # alias ISOAMSR pre
-          "preceq" => "&#x02AAF;",
-          # alias ISOAMSN prnap
-          "precnapprox" => "&#x02AB9;",
-          # alias ISOAMSN prnE
-          "precneqq" => "&#x02AB5;",
-          # alias ISOAMSN prnsim
-          "precnsim" => "&#x022E8;",
-          # alias ISOAMSR prsim
-          "precsim" => "&#x0227E;",
-          # the prime natural numbers
-          "primes" => "&#x02119;",
+          # double prime or second
+          "Prime" => "&#x02033;",
+          # alias for ∏
+          "Product" => "&#x0220F;",
           # alias ISOAMSR Colon
           "Proportion" => "&#x02237;",
           # alias ISOTECH prop
           "Proportional" => "&#x0221D;",
-          # alias ISOTECH prop
-          "propto" => "&#x0221D;",
-          # the ring (skew field) of quaternions
-          "quaternions" => "&#x0210D;",
-          # alias ISOAMSR equest
-          "questeq" => "&#x0225F;",
-          # alias ISOTECH rang
-          "rangle" => "&#x0232A;",
-          # the field of rational numbers
-          "rationals" => "&#x0211A;",
-          # alias ISONUM rcub
-          "rbrace" => "&#x0007D;",
-          # alias ISONUM rsqb
-          "rbrack" => "&#x0005D;",
+          # /scr P, script letter P
+          "Pscr" => "&#x1D4AB;",
+          # /Psi capital Psi, Greek
+          "Psi" => "&#x003A8;",
+          # /frak Q, upper case q
+          "Qfr" => "&#x1D514;",
+          # /Bbb Q, open face Q
+          "Qopf" => "&#x0211A;",
+          # /scr Q, script letter Q
+          "Qscr" => "&#x1D4AC;",
+          # /drbkarow A: twoheaded right broken arrow
+          "RBarr" => "&#x02910;",
+          # =capital R, acute accent
+          "Racute" => "&#x00154;",
+          # right angle bracket, double
+          "Rang" => "&#x0300B;",
+          # /twoheadrightarrow A:
+          "Rarr" => "&#x021A0;",
+          # right two-headed arrow with tail
+          "Rarrtl" => "&#x02916;",
+          # =capital R, caron
+          "Rcaron" => "&#x00158;",
+          # =capital R, cedilla
+          "Rcedil" => "&#x00156;",
+          # =capital ER, Cyrillic
+          "Rcy" => "&#x00420;",
           # alias ISOAMSO real
           "Re" => "&#x0211C;",
-          # the geometric real line
-          "realine" => "&#x0211B;",
-          # alias ISOAMSO real
-          "realpart" => "&#x0211C;",
-          # the field of real numbers
-          "reals" => "&#x0211D;",
           # alias ISOTECH niv
           "ReverseElement" => "&#x0220B;",
           # alias ISOAMSA lrhar
           "ReverseEquilibrium" => "&#x021CB;",
           # alias ISOAMSA duhar
           "ReverseUpEquilibrium" => "&#x0296F;",
+          # /frak R, upper case r
+          "Rfr" => "&#x0211C;",
           # alias ISOTECH rang
           "RightAngleBracket" => "&#x0232A;",
           # alias ISONUM rarr
           "RightArrow" => "&#x02192;",
-          # alias ISOTECH rArr
-          "Rightarrow" => "&#x021D2;",
-          # alias ISONUM rarr
-          "rightarrow" => "&#x02192;",
           # alias for rarrb
           "RightArrowBar" => "&#x021E5;",
           # alias ISOAMSA rlarr
           "RightArrowLeftArrow" => "&#x021C4;",
-          # alias ISOAMSA rarrtl
-          "rightarrowtail" => "&#x021A3;",
           # alias ISOAMSC rceil
           "RightCeiling" => "&#x02309;",
           # right double bracket delimiter
           "RightDoubleBracket" => "&#x0301B;",
+          # down-right harpoon from bar
+          "RightDownTeeVector" => "&#x0295D;",
           # alias ISOAMSA dharr
           "RightDownVector" => "&#x021C2;",
+          # down-right harpoon to bar
+          "RightDownVectorBar" => "&#x02955;",
           # alias ISOAMSC rfloor
           "RightFloor" => "&#x0230B;",
-          # alias ISOAMSA rhard
-          "rightharpoondown" => "&#x021C1;",
-          # alias ISOAMSA rharu
-          "rightharpoonup" => "&#x021C0;",
-          # alias ISOAMSA rlarr
-          "rightleftarrows" => "&#x021C4;",
-          # alias ISOAMSA rlhar
-          "rightleftharpoons" => "&#x021CC;",
-          # alias ISOAMSA rrarr
-          "rightrightarrows" => "&#x021C9;",
-          # alias ISOAMSA rarrw
-          "rightsquigarrow" => "&#x0219D;",
           # alias ISOAMSR vdash
           "RightTee" => "&#x022A2;",
           # alias ISOAMSA map
           "RightTeeArrow" => "&#x021A6;",
-          # alias ISOAMSB rthree
-          "rightthreetimes" => "&#x022CC;",
+          # right-up harpoon from bar
+          "RightTeeVector" => "&#x0295B;",
           # alias ISOAMSR vrtri
           "RightTriangle" => "&#x022B3;",
+          # vertical bar, right triangle
+          "RightTriangleBar" => "&#x029D0;",
           # alias ISOAMSR rtrie
           "RightTriangleEqual" => "&#x022B5;",
+          # up-right-down-right harpoon
+          "RightUpDownVector" => "&#x0294F;",
+          # up-right harpoon from bar
+          "RightUpTeeVector" => "&#x0295C;",
           # alias ISOAMSA uharr
           "RightUpVector" => "&#x021BE;",
+          # up-right harpoon to bar
+          "RightUpVectorBar" => "&#x02954;",
           # alias ISOAMSA rharu
           "RightVector" => "&#x021C0;",
-          # alias ISOAMSR erDot
-          "risingdotseq" => "&#x02253;",
-          # alias ISOAMSC rmoust
-          "rmoustache" => "&#x023B1;",
+          # up-right harpoon to bar
+          "RightVectorBar" => "&#x02953;",
+          # alias ISOTECH rArr
+          "Rightarrow" => "&#x021D2;",
+          # /Bbb R, open face R
+          "Ropf" => "&#x0211D;",
+          # round implies
+          "RoundImplies" => "&#x02970;",
           # alias ISOAMSA rAarr
           "Rrightarrow" => "&#x021DB;",
+          # /scr R, script letter R
+          "Rscr" => "&#x0211B;",
           # alias ISOAMSA rsh
           "Rsh" => "&#x021B1;",
-          # alias ISOAMSA searr
-          "searrow" => "&#x02198;",
-          # alias ISOAMSB setmn
-          "setminus" => "&#x02216;",
+          # rule-delayed (colon right arrow)
+          "RuleDelayed" => "&#x029F4;",
+          # =capital SHCHA, Cyrillic
+          "SHCHcy" => "&#x00429;",
+          # =capital SHA, Cyrillic
+          "SHcy" => "&#x00428;",
+          # =capital SOFT sign, Cyrillic
+          "SOFTcy" => "&#x0042C;",
+          # =capital S, acute accent
+          "Sacute" => "&#x0015A;",
+          # dbl succeeds
+          "Sc" => "&#x02ABC;",
+          # =capital S, caron
+          "Scaron" => "&#x00160;",
+          # =capital S, cedilla
+          "Scedil" => "&#x0015E;",
+          # =capital S, circumflex accent
+          "Scirc" => "&#x0015C;",
+          # =capital ES, Cyrillic
+          "Scy" => "&#x00421;",
+          # /frak S, upper case s
+          "Sfr" => "&#x1D516;",
           # short down arrow
           "ShortDownArrow" => "&#x02193;",
           # alias ISOAMSA slarr
           "ShortLeftArrow" => "&#x02190;",
-          # alias ISOAMSR smid
-          "shortmid" => "&#x02223;",
-          # alias ISOAMSR spar
-          "shortparallel" => "&#x02225;",
           # alias ISOAMSA srarr
           "ShortRightArrow" => "&#x02192;",
           # short up arrow
           "ShortUpArrow" => "&#x02191;",
-          # alias ISOTECH sime
-          "simeq" => "&#x02243;",
+          # /Sigma capital Sigma, Greek
+          "Sigma" => "&#x003A3;",
           # alias ISOTECH compfn
           "SmallCircle" => "&#x02218;",
-          # alias ISOAMSB ssetmn
-          "smallsetminus" => "&#x02216;",
-          # ISOPUB    spades
-          "spadesuit" => "&#x02660;",
+          # /Bbb S, open face S
+          "Sopf" => "&#x1D54A;",
           # alias ISOTECH radic
           "Sqrt" => "&#x0221A;",
-          # alias ISOAMSR sqsub
-          "sqsubset" => "&#x0228F;",
-          # alias ISOAMSR sqsube
-          "sqsubseteq" => "&#x02291;",
-          # alias ISOAMSR sqsup
-          "sqsupset" => "&#x02290;",
-          # alias ISOAMSR sqsupe
-          "sqsupseteq" => "&#x02292;",
           # alias for square
           "Square" => "&#x025A1;",
           # alias ISOAMSB sqcap
@@ -3761,80 +925,58 @@ module Rabbit
           "SquareSupersetEqual" => "&#x02292;",
           # alias ISOAMSB sqcup
           "SquareUnion" => "&#x02294;",
+          # /scr S, script letter S
+          "Sscr" => "&#x1D4AE;",
           # alias ISOAMSB sstarf
           "Star" => "&#x022C6;",
-          # alias ISOGRK3 epsi
-          "straightepsilon" => "&#x003F5;",
-          # alias ISOGRK3 phi
-          "straightphi" => "&#x003D5;",
+          # /Subset R: double subset
+          "Sub" => "&#x022D0;",
           # alias ISOAMSR Sub
           "Subset" => "&#x022D0;",
-          # alias ISOTECH sub
-          "subset" => "&#x02282;",
-          # alias ISOTECH sube
-          "subseteq" => "&#x02286;",
-          # alias ISOAMSR subE
-          "subseteqq" => "&#x02AC5;",
           # alias ISOTECH sube
           "SubsetEqual" => "&#x02286;",
-          # alias ISOAMSN subne
-          "subsetneq" => "&#x0228A;",
-          # alias ISOAMSN subnE
-          "subsetneqq" => "&#x02ACB;",
-          # alias ISOAMSR sc
-          "succ" => "&#x0227B;",
-          # alias ISOAMSR scap
-          "succapprox" => "&#x02AB8;",
-          # alias ISOAMSR sccue
-          "succcurlyeq" => "&#x0227D;",
-          # alias ISOAMSR sc
-          "Succeeds" => "&#x0227B;",
-          # alias ISOAMSR sce
-          "SucceedsEqual" => "&#x02AB0;",
-          # alias ISOAMSR sccue
-          "SucceedsSlantEqual" => "&#x0227D;",
-          # alias ISOAMSR scsim
-          "SucceedsTilde" => "&#x0227F;",
-          # alias ISOAMSR sce
-          "succeq" => "&#x02AB0;",
-          # alias ISOAMSN scnap
-          "succnapprox" => "&#x02ABA;",
-          # alias ISOAMSN scnE
-          "succneqq" => "&#x02AB6;",
-          # alias ISOAMSN scnsim
-          "succnsim" => "&#x022E9;",
+          # alias ISOAMSR sc
+          "Succeeds" => "&#x0227B;",
+          # alias ISOAMSR sce
+          "SucceedsEqual" => "&#x02AB0;",
+          # alias ISOAMSR sccue
+          "SucceedsSlantEqual" => "&#x0227D;",
           # alias ISOAMSR scsim
-          "succsim" => "&#x0227F;",
+          "SucceedsTilde" => "&#x0227F;",
           # ISOTECH  ni
           "SuchThat" => "&#x0220B;",
           # alias ISOAMSB sum
           "Sum" => "&#x02211;",
+          # /Supset R: dbl superset
+          "Sup" => "&#x022D1;",
           # alias ISOTECH sup
           "Superset" => "&#x02283;",
           # alias ISOTECH supe
           "SupersetEqual" => "&#x02287;",
           # alias ISOAMSR Sup
           "Supset" => "&#x022D1;",
-          # alias ISOTECH sup
-          "supset" => "&#x02283;",
-          # alias ISOTECH supe
-          "supseteq" => "&#x02287;",
-          # alias ISOAMSR supE
-          "supseteqq" => "&#x02AC6;",
-          # alias ISOAMSN supne
-          "supsetneq" => "&#x0228B;",
-          # alias ISOAMSN supnE
-          "supsetneqq" => "&#x02ACC;",
-          # alias ISOAMSA swarr
-          "swarrow" => "&#x02199;",
+          # =capital THORN, Icelandic
+          "THORN" => "&#x000DE;",
+          # =capital TSHE, Serbian
+          "TSHcy" => "&#x0040B;",
+          # =capital TSE, Cyrillic
+          "TScy" => "&#x00426;",
+          # tabulator stop; horizontal tabulation
+          "Tab" => "&#x00009;",
+          # =capital T, caron
+          "Tcaron" => "&#x00164;",
+          # =capital T, cedilla
+          "Tcedil" => "&#x00162;",
+          # =capital TE, Cyrillic
+          "Tcy" => "&#x00422;",
+          # /frak T, upper case t
+          "Tfr" => "&#x1D517;",
           # alias ISOTECH there4
           "Therefore" => "&#x02234;",
-          # alias ISOTECH there4
-          "therefore" => "&#x02234;",
-          # ISOAMSR   thkap
-          "thickapprox" => "&#x02248;",
-          # ISOAMSR   thksim
-          "thicksim" => "&#x0223C;",
+          # /Theta capital Theta, Greek
+          "Theta" => "&#x00398;",
+          # space of width 5/18 em
+          "ThickSpace" => "&#x02009;&#x0200A;&#x0200A;",
           # space of width 3/18 em alias ISOPUB thinsp
           "ThinSpace" => "&#x02009;",
           # alias ISOTECH sim
@@ -3845,332 +987,3160 @@ module Rabbit
           "TildeFullEqual" => "&#x02245;",
           # alias ISOTECH ap
           "TildeTilde" => "&#x02248;",
-          # alias ISOAMSA nesear
-          "toea" => "&#x02928;",
-          # alias ISOAMSA seswar
-          "tosa" => "&#x02929;",
-          # alias ISOPUB utri
-          "triangle" => "&#x025B5;",
-          # alias ISOPUB dtri
-          "triangledown" => "&#x025BF;",
-          # alias ISOPUB ltri
-          "triangleleft" => "&#x025C3;",
-          # alias ISOAMSR ltrie
-          "trianglelefteq" => "&#x022B4;",
-          # alias ISOAMSR trie
-          "triangleq" => "&#x0225C;",
-          # alias ISOPUB rtri
-          "triangleright" => "&#x025B9;",
-          # alias ISOAMSR rtrie
-          "trianglerighteq" => "&#x022B5;",
-          # alias ISOAMSA Larr
-          "twoheadleftarrow" => "&#x0219E;",
-          # alias ISOAMSA Rarr
-          "twoheadrightarrow" => "&#x021A0;",
-          # alias ISOAMSC ulcorn
-          "ulcorner" => "&#x0231C;",
+          # /Bbb T, open face T
+          "Topf" => "&#x1D54B;",
+          # /scr T, script letter T
+          "Tscr" => "&#x1D4AF;",
+          # =capital T, stroke
+          "Tstrok" => "&#x00166;",
+          # =capital U, acute accent
+          "Uacute" => "&#x000DA;",
+          # up two-headed arrow
+          "Uarr" => "&#x0219F;",
+          # up two-headed arrow above circle
+          "Uarrocir" => "&#x02949;",
+          # =capital U, Byelorussian
+          "Ubrcy" => "&#x0040E;",
+          # =capital U, breve
+          "Ubreve" => "&#x0016C;",
+          # =capital U, circumflex accent
+          "Ucirc" => "&#x000DB;",
+          # =capital U, Cyrillic
+          "Ucy" => "&#x00423;",
+          # =capital U, double acute accent
+          "Udblac" => "&#x00170;",
+          # /frak U, upper case u
+          "Ufr" => "&#x1D518;",
+          # =capital U, grave accent
+          "Ugrave" => "&#x000D9;",
+          # =capital U, macron
+          "Umacr" => "&#x0016A;",
+          # under brace
+          "UnderBrace" => "&#x0FE38;",
+          # under bracket
+          "UnderBracket" => "&#x023B5;",
+          # under parenthesis
+          "UnderParenthesis" => "&#x0FE36;",
           # alias ISOAMSB xcup
           "Union" => "&#x022C3;",
           # alias ISOAMSB uplus
           "UnionPlus" => "&#x0228E;",
+          # =capital U, ogonek
+          "Uogon" => "&#x00172;",
+          # /Bbb U, open face U
+          "Uopf" => "&#x1D54C;",
           # alias ISONUM uarr
           "UpArrow" => "&#x02191;",
-          # alias ISOAMSA uArr
-          "Uparrow" => "&#x021D1;",
-          # alias ISONUM uarr
-          "uparrow" => "&#x02191;",
+          # up arrow to bar
+          "UpArrowBar" => "&#x02912;",
           # alias ISOAMSA udarr
           "UpArrowDownArrow" => "&#x021C5;",
           # alias ISOAMSA varr
           "UpDownArrow" => "&#x02195;",
-          # alias ISOAMSA vArr
-          "Updownarrow" => "&#x021D5;",
-          # alias ISOAMSA varr
-          "updownarrow" => "&#x02195;",
           # alias ISOAMSA udhar
           "UpEquilibrium" => "&#x0296E;",
-          # alias ISOAMSA uharl
-          "upharpoonleft" => "&#x021BF;",
-          # alias ISOAMSA uharr
-          "upharpoonright" => "&#x021BE;",
-          # alias ISOAMSA nwarr
-          "UpperLeftArrow" => "&#x02196;",
-          # alias ISOAMSA nearr
-          "UpperRightArrow" => "&#x02197;",
-          # alias ISOGRK3 upsi
-          "upsilon" => "&#x003C5;",
           # alias ISOTECH perp
           "UpTee" => "&#x022A5;",
           # Alias mapstoup
           "UpTeeArrow" => "&#x021A5;",
-          # alias ISOAMSA uuarr
-          "upuparrows" => "&#x021C8;",
-          # alias ISOAMSC urcorn
-          "urcorner" => "&#x0231D;",
-          # alias ISOGRK3 epsiv
-          "varepsilon" => "&#x003B5;",
-          # alias ISOGRK3 kappav
-          "varkappa" => "&#x003F0;",
-          # alias ISOAMSO emptyv
-          "varnothing" => "&#x02205;",
-          # alias ISOGRK3 phiv
-          "varphi" => "&#x003C6;",
-          # alias ISOGRK3 piv
-          "varpi" => "&#x003D6;",
-          # alias ISOAMSR vprop
-          "varpropto" => "&#x0221D;",
-          # alias ISOGRK3 rhov
-          "varrho" => "&#x003F1;",
-          # alias ISOGRK3 sigmav
-          "varsigma" => "&#x003C2;",
-          # alias ISOAMSN vsubne
-          "varsubsetneq" => "&#x0228A;&#x0FE00;",
-          # alias ISOAMSN vsubnE
-          "varsubsetneqq" => "&#x02ACB;&#x0FE00;",
-          # alias ISOAMSN vsupne
-          "varsupsetneq" => "&#x0228B;&#x0FE00;",
-          # alias ISOAMSN vsupnE
-          "varsupsetneqq" => "&#x02ACC;&#x0FE00;",
-          # alias ISOGRK3 thetav
-          "vartheta" => "&#x003D1;",
-          # alias ISOAMSR vltri
-          "vartriangleleft" => "&#x022B2;",
-          # alias ISOAMSR vrtri
-          "vartriangleright" => "&#x022B3;",
+          # alias ISOAMSA uArr
+          "Uparrow" => "&#x021D1;",
+          # alias ISOAMSA vArr
+          "Updownarrow" => "&#x021D5;",
+          # alias ISOAMSA nwarr
+          "UpperLeftArrow" => "&#x02196;",
+          # alias ISOAMSA nearr
+          "UpperRightArrow" => "&#x02197;",
+          # /Upsilon capital Upsilon, Greek
+          "Upsi" => "&#x003D2;",
+          # ISOGRK1 Ugr, HTML4 Upsilon
+          "Upsilon" => "&#x003A5;",
+          # =capital U, ring
+          "Uring" => "&#x0016E;",
+          # /scr U, script letter U
+          "Uscr" => "&#x1D4B0;",
+          # =capital U, tilde
+          "Utilde" => "&#x00168;",
+          # =capital U, dieresis or umlaut mark
+          "Uuml" => "&#x000DC;",
+          # dbl vert, dbl dash
+          "VDash" => "&#x022AB;",
+          # dbl vert, bar (under)
+          "Vbar" => "&#x02AEB;",
+          # =capital VE, Cyrillic
+          "Vcy" => "&#x00412;",
+          # /Vdash R: dbl vertical, dash
+          "Vdash" => "&#x022A9;",
+          # vertical, dash (long)
+          "Vdashl" => "&#x02AE6;",
           # alias ISOAMSB xvee
           "Vee" => "&#x022C1;",
-          # alias ISOTECH or
-          "vee" => "&#x02228;",
+          # /Vert dbl vertical bar
+          "Verbar" => "&#x02016;",
           # alias ISOTECH Verbar
           "Vert" => "&#x02016;",
-          # alias ISONUM verbar
-          "vert" => "&#x0007C;",
           # alias ISOAMSR mid
           "VerticalBar" => "&#x02223;",
+          # alias ISONUM verbar
+          "VerticalLine" => "&#x0007C;",
+          # vertical separating operator
+          "VerticalSeparator" => "&#x02758;",
           # alias ISOAMSB wreath
           "VerticalTilde" => "&#x02240;",
           # space of width 1/18 em alias ISOPUB hairsp
           "VeryThinSpace" => "&#x0200A;",
+          # /frak V, upper case v
+          "Vfr" => "&#x1D519;",
+          # /Bbb V, open face V
+          "Vopf" => "&#x1D54D;",
+          # /scr V, script letter V
+          "Vscr" => "&#x1D4B1;",
+          # /Vvdash R: triple vertical, dash
+          "Vvdash" => "&#x022AA;",
+          # =capital W, circumflex accent
+          "Wcirc" => "&#x00174;",
           # alias ISOAMSB xwedge
           "Wedge" => "&#x022C0;",
-          # alias ISOTECH and
-          "wedge" => "&#x02227;",
-          # alias ISOAMSO weierp
-          "wp" => "&#x02118;",
-          # alias ISOAMSB wreath
-          "wr" => "&#x02240;",
-          # zee transform
-          "zeetrf" => "&#x02128;",
+          # /frak W, upper case w
+          "Wfr" => "&#x1D51A;",
+          # /Bbb W, open face W
+          "Wopf" => "&#x1D54E;",
+          # /scr W, script letter W
+          "Wscr" => "&#x1D4B2;",
+          # /frak X, upper case x
+          "Xfr" => "&#x1D51B;",
+          # /Xi capital Xi, Greek
+          "Xi" => "&#x0039E;",
+          # /Bbb X, open face X
+          "Xopf" => "&#x1D54F;",
+          # /scr X, script letter X
+          "Xscr" => "&#x1D4B3;",
+          # =capital YA, Cyrillic
+          "YAcy" => "&#x0042F;",
+          # =capital YI, Ukrainian
+          "YIcy" => "&#x00407;",
+          # =capital YU, Cyrillic
+          "YUcy" => "&#x0042E;",
+          # =capital Y, acute accent
+          "Yacute" => "&#x000DD;",
+          # =capital Y, circumflex accent
+          "Ycirc" => "&#x00176;",
+          # =capital YERU, Cyrillic
+          "Ycy" => "&#x0042B;",
+          # /frak Y, upper case y
+          "Yfr" => "&#x1D51C;",
+          # /Bbb Y, open face Y
+          "Yopf" => "&#x1D550;",
+          # /scr Y, script letter Y
+          "Yscr" => "&#x1D4B4;",
+          # =capital Y, dieresis or umlaut mark
+          "Yuml" => "&#x00178;",
+          # =capital ZHE, Cyrillic
+          "ZHcy" => "&#x00416;",
+          # =capital Z, acute accent
+          "Zacute" => "&#x00179;",
+          # =capital Z, caron
+          "Zcaron" => "&#x0017D;",
+          # =capital ZE, Cyrillic
+          "Zcy" => "&#x00417;",
+          # =capital Z, dot above
+          "Zdot" => "&#x0017B;",
+          # zero width space
+          "ZeroWidthSpace" => "&#x0200B;",
+          # /frak Z, upper case z
+          "Zfr" => "&#x02128;",
+          # /Bbb Z, open face Z
+          "Zopf" => "&#x02124;",
+          # /scr Z, script letter Z
+          "Zscr" => "&#x1D4B5;",
+          # =small a, acute accent
+          "aacute" => "&#x000E1;",
+          # =small a, breve
+          "abreve" => "&#x00103;",
+          # most positive
+          "ac" => "&#x0223E;",
+          # most positive, two lines below
+          "acE" => "&#x0223E;&#x00333;",
+          # ac current
+          "acd" => "&#x0223F;",
+          # =small a, circumflex accent
+          "acirc" => "&#x000E2;",
+          # =acute accent
+          "acute" => "&#x000B4;",
+          # =small a, Cyrillic
+          "acy" => "&#x00430;",
+          # =small ae diphthong (ligature)
+          "aelig" => "&#x000E6;",
           # character showing function application in presentation tagging
           "af" => "&#x02061;",
-          #
+          # /frak a, lower case a
+          "afr" => "&#x1D51E;",
+          # =small a, grave accent
+          "agrave" => "&#x000E0;",
+          # /aleph aleph, Hebrew
+          "aleph" => "&#x02135;",
+          # /alpha small alpha, Greek
+          "alpha" => "&#x003B1;",
+          # =small a, macron
+          "amacr" => "&#x00101;",
+          # /amalg B: amalgamation or coproduct
+          "amalg" => "&#x02A3F;",
+          # =ampersand
+          "amp" => "&",
+          # /wedge /land B: logical and
+          "and" => "&#x02227;",
+          # two logical and
+          "andand" => "&#x02A55;",
+          # and, horizontal dash
+          "andd" => "&#x02A5C;",
+          # sloping large and
+          "andslope" => "&#x02A58;",
+          # and with middle stem
+          "andv" => "&#x02A5A;",
+          # /angle - angle
+          "ang" => "&#x02220;",
+          # angle, equal
+          "ange" => "&#x029A4;",
+          # alias ISOAMSO ang
+          "angle" => "&#x02220;",
+          # /measuredangle - angle-measured
+          "angmsd" => "&#x02221;",
+          # angle-measured, arrow, up, right
+          "angmsdaa" => "&#x029A8;",
+          # angle-measured, arrow, up, left
+          "angmsdab" => "&#x029A9;",
+          # angle-measured, arrow, down, right
+          "angmsdac" => "&#x029AA;",
+          # angle-measured, arrow, down, left
+          "angmsdad" => "&#x029AB;",
+          # angle-measured, arrow, right, up
+          "angmsdae" => "&#x029AC;",
+          # angle-measured, arrow, left, up
+          "angmsdaf" => "&#x029AD;",
+          # angle-measured, arrow, right, down
+          "angmsdag" => "&#x029AE;",
+          # angle-measured, arrow, left, down
+          "angmsdah" => "&#x029AF;",
+          # right (90 degree) angle
+          "angrt" => "&#x0221F;",
+          # right angle-measured
+          "angrtvb" => "&#x022BE;",
+          # right angle-measured, dot
+          "angrtvbd" => "&#x0299D;",
+          # /sphericalangle angle-spherical
+          "angsph" => "&#x02222;",
+          # Angstrom capital A, ring
+          "angst" => "&#x0212B;",
+          # angle with down zig-zag arrow
+          "angzarr" => "&#x0237C;",
+          # =small a, ogonek
+          "aogon" => "&#x00105;",
           "aopf" => "&#x1D552;",
+          # /approx R: approximate
+          "ap" => "&#x02248;",
+          # approximately equal or equal to
+          "apE" => "&#x02A70;",
+          # approximate, circumflex accent
+          "apacir" => "&#x02A6F;",
+          # /approxeq R: approximate, equals
+          "ape" => "&#x0224A;",
+          # approximately identical to
+          "apid" => "&#x0224B;",
+          # =apostrophe
+          "apos" => "&#x00027;",
+          # alias ISOTECH ap
+          "approx" => "&#x02248;",
+          # alias ISOAMSR ape
+          "approxeq" => "&#x0224A;",
+          # =small a, ring
+          "aring" => "&#x000E5;",
+          # /scr a, script letter a
+          "ascr" => "&#x1D4B6;",
+          # /ast B: =asterisk
+          "ast" => "&#x0002A;",
+          # /asymp R: asymptotically equal to
+          "asymp" => "&#x02248;",
           # Old ISOAMSR asymp (for HTML compatibility)
           "asympeq" => "&#x0224D;",
-          #
+          # =small a, tilde
+          "atilde" => "&#x000E3;",
+          # =small a, dieresis or umlaut mark
+          "auml" => "&#x000E4;",
+          # contour integral, anti-clockwise
+          "awconint" => "&#x02233;",
+          # anti clock-wise integration
+          "awint" => "&#x02A11;",
+          # reverse not with two horizontal strokes
+          "bNot" => "&#x02AED;",
+          # alias ISOAMSR bcong
+          "backcong" => "&#x0224C;",
+          # alias ISOAMSR bepsi
+          "backepsilon" => "&#x003F6;",
+          # alias ISOAMSO bprime
+          "backprime" => "&#x02035;",
+          # alias ISOAMSR bsim
+          "backsim" => "&#x0223D;",
+          # alias ISOAMSR bsime
+          "backsimeq" => "&#x022CD;",
+          # bar, vee
+          "barvee" => "&#x022BD;",
+          # /barwedge B: logical and, bar above
+          "barwed" => "&#x02305;",
+          # alias ISOAMSB barwed
+          "barwedge" => "&#x02305;",
+          # bottom square bracket
+          "bbrk" => "&#x023B5;",
+          # bottom above top square bracket
+          "bbrktbrk" => "&#x023B6;",
+          # /backcong R: reverse congruent
+          "bcong" => "&#x0224C;",
+          # =small be, Cyrillic
+          "bcy" => "&#x00431;",
+          # /because R: because
+          "becaus" => "&#x02235;",
+          # alias ISOTECH becaus
+          "because" => "&#x02235;",
+          # reversed circle, slash
+          "bemptyv" => "&#x029B0;",
+          # /backepsilon R: such that
+          "bepsi" => "&#x003F6;",
+          # Bernoulli function (script capital B)
+          "bernou" => "&#x0212C;",
+          # /beta small beta, Greek
+          "beta" => "&#x003B2;",
+          # /beth - beth, Hebrew
+          "beth" => "&#x02136;",
+          # alias ISOAMSR twixt
+          "between" => "&#x0226C;",
+          # /frak b, lower case b
+          "bfr" => "&#x1D51F;",
+          # alias ISOAMSB xcap
+          "bigcap" => "&#x022C2;",
+          # alias ISOAMSB xcirc
+          "bigcirc" => "&#x025EF;",
+          # alias ISOAMSB xcup
+          "bigcup" => "&#x022C3;",
+          # alias ISOAMSB xodot
+          "bigodot" => "&#x02A00;",
+          # alias ISOAMSB xoplus
+          "bigoplus" => "&#x02A01;",
+          # alias ISOAMSB xotime
+          "bigotimes" => "&#x02A02;",
+          # alias ISOAMSB xsqcup
+          "bigsqcup" => "&#x02A06;",
+          # ISOPUB    starf
+          "bigstar" => "&#x02605;",
+          # alias ISOAMSB xdtri
+          "bigtriangledown" => "&#x025BD;",
+          # alias ISOAMSB xutri
+          "bigtriangleup" => "&#x025B3;",
+          # alias ISOAMSB xuplus
+          "biguplus" => "&#x02A04;",
+          # alias ISOAMSB xvee
+          "bigvee" => "&#x022C1;",
+          # alias ISOAMSB xwedge
+          "bigwedge" => "&#x022C0;",
+          # alias ISOAMSA rbarr
+          "bkarow" => "&#x0290D;",
+          # alias ISOPUB lozf
+          "blacklozenge" => "&#x029EB;",
+          # ISOTECH  squarf
+          "blacksquare" => "&#x025AA;",
+          # alias ISOPUB utrif
+          "blacktriangle" => "&#x025B4;",
+          # alias ISOPUB dtrif
+          "blacktriangledown" => "&#x025BE;",
+          # alias ISOPUB ltrif
+          "blacktriangleleft" => "&#x025C2;",
+          # alias ISOPUB rtrif
+          "blacktriangleright" => "&#x025B8;",
+          # =significant blank symbol
+          "blank" => "&#x02423;",
+          # =50% shaded block
+          "blk12" => "&#x02592;",
+          # =25% shaded block
+          "blk14" => "&#x02591;",
+          # =75% shaded block
+          "blk34" => "&#x02593;",
+          # =full block
+          "block" => "&#x02588;",
+          # reverse not equal
+          "bne" => "&#x0003D;&#x020E5;",
+          # reverse not equivalent
+          "bnequiv" => "&#x02261;&#x020E5;",
+          # reverse not
+          "bnot" => "&#x02310;",
           "bopf" => "&#x1D553;",
-          #
+          # alias ISOTECH bottom
+          "bot" => "&#x022A5;",
+          # /bot bottom
+          "bottom" => "&#x022A5;",
+          # /bowtie R:
+          "bowtie" => "&#x022C8;",
+          # lower left quadrant
+          "boxDL" => "&#x02557;",
+          # lower right quadrant
+          "boxDR" => "&#x02554;",
+          # lower left quadrant
+          "boxDl" => "&#x02556;",
+          # lower right quadrant
+          "boxDr" => "&#x02553;",
+          # horizontal line
+          "boxH" => "&#x02550;",
+          # lower left and right quadrants
+          "boxHD" => "&#x02566;",
+          # upper left and right quadrants
+          "boxHU" => "&#x02569;",
+          # lower left and right quadrants
+          "boxHd" => "&#x02564;",
+          # upper left and right quadrants
+          "boxHu" => "&#x02567;",
+          # upper left quadrant
+          "boxUL" => "&#x0255D;",
+          # upper right quadrant
+          "boxUR" => "&#x0255A;",
+          # upper left quadrant
+          "boxUl" => "&#x0255C;",
+          # upper right quadrant
+          "boxUr" => "&#x02559;",
+          # vertical line
+          "boxV" => "&#x02551;",
+          # all four quadrants
+          "boxVH" => "&#x0256C;",
+          # upper and lower left quadrants
+          "boxVL" => "&#x02563;",
+          # upper and lower right quadrants
+          "boxVR" => "&#x02560;",
+          # all four quadrants
+          "boxVh" => "&#x0256B;",
+          # upper and lower left quadrants
+          "boxVl" => "&#x02562;",
+          # upper and lower right quadrants
+          "boxVr" => "&#x0255F;",
+          # two joined squares
+          "boxbox" => "&#x029C9;",
+          # lower left quadrant
+          "boxdL" => "&#x02555;",
+          # lower right quadrant
+          "boxdR" => "&#x02552;",
+          # lower left quadrant
+          "boxdl" => "&#x02510;",
+          # lower right quadrant
+          "boxdr" => "&#x0250C;",
+          # horizontal line
+          "boxh" => "&#x02500;",
+          # lower left and right quadrants
+          "boxhD" => "&#x02565;",
+          # upper left and right quadrants
+          "boxhU" => "&#x02568;",
+          # lower left and right quadrants
+          "boxhd" => "&#x0252C;",
+          # upper left and right quadrants
+          "boxhu" => "&#x02534;",
+          # alias ISOAMSB minusb
+          "boxminus" => "&#x0229F;",
+          # alias ISOAMSB plusb
+          "boxplus" => "&#x0229E;",
+          # alias ISOAMSB timesb
+          "boxtimes" => "&#x022A0;",
+          # upper left quadrant
+          "boxuL" => "&#x0255B;",
+          # upper right quadrant
+          "boxuR" => "&#x02558;",
+          # upper left quadrant
+          "boxul" => "&#x02518;",
+          # upper right quadrant
+          "boxur" => "&#x02514;",
+          # vertical line
+          "boxv" => "&#x02502;",
+          # all four quadrants
+          "boxvH" => "&#x0256A;",
+          # upper and lower left quadrants
+          "boxvL" => "&#x02561;",
+          # upper and lower right quadrants
+          "boxvR" => "&#x0255E;",
+          # all four quadrants
+          "boxvh" => "&#x0253C;",
+          # upper and lower left quadrants
+          "boxvl" => "&#x02524;",
+          # upper and lower right quadrants
+          "boxvr" => "&#x0251C;",
+          # /backprime - reverse prime
+          "bprime" => "&#x02035;",
+          # =breve
+          "breve" => "&#x002D8;",
+          # =broken (vertical) bar
+          "brvbar" => "&#x000A6;",
+          # /scr b, script letter b
+          "bscr" => "&#x1D4B7;",
+          # reverse semi-colon
+          "bsemi" => "&#x0204F;",
+          # /backsim R: reverse similar
+          "bsim" => "&#x0223D;",
+          # /backsimeq R: reverse similar, eq
+          "bsime" => "&#x022CD;",
+          # /backslash =reverse solidus
+          "bsol" => "&#x0005C;",
+          # reverse solidus in square
+          "bsolb" => "&#x029C5;",
+          # reverse solidus, subset
+          "bsolhsub" => "&#x0005C;&#x02282;",
+          # /bullet B: =round bullet, filled
+          "bull" => "&#x02022;",
+          # alias ISOPUB bull
+          "bullet" => "&#x02022;",
+          # /Bumpeq R: bumpy equals
+          "bump" => "&#x0224E;",
+          # bump, equals
+          "bumpE" => "&#x02AAE;",
+          # /bumpeq R: bumpy equals, equals
+          "bumpe" => "&#x0224F;",
+          # alias ISOAMSR bumpe
+          "bumpeq" => "&#x0224F;",
+          # =small c, acute accent
+          "cacute" => "&#x00107;",
+          # /cap B: intersection
+          "cap" => "&#x02229;",
+          # intersection, and
+          "capand" => "&#x02A44;",
+          # intersection, bar, union
+          "capbrcup" => "&#x02A49;",
+          # intersection, intersection, joined
+          "capcap" => "&#x02A4B;",
+          # intersection above union
+          "capcup" => "&#x02A47;",
+          # intersection, with dot
+          "capdot" => "&#x02A40;",
+          # intersection, serifs
+          "caps" => "&#x02229;&#x0FE00;",
+          # =caret (insertion mark)
+          "caret" => "&#x02041;",
+          # =caron
+          "caron" => "&#x002C7;",
+          # closed intersection, serifs
+          "ccaps" => "&#x02A4D;",
+          # =small c, caron
+          "ccaron" => "&#x0010D;",
+          # =small c, cedilla
+          "ccedil" => "&#x000E7;",
+          # =small c, circumflex accent
+          "ccirc" => "&#x00109;",
+          # closed union, serifs
+          "ccups" => "&#x02A4C;",
+          # closed union, serifs, smash product
+          "ccupssm" => "&#x02A50;",
+          # =small c, dot above
+          "cdot" => "&#x0010B;",
+          # =cedilla
+          "cedil" => "&#x000B8;",
+          # circle, slash, small circle above
+          "cemptyv" => "&#x029B2;",
+          # =cent sign
+          "cent" => "&#x000A2;",
+          # alias ISONUM middot
+          "centerdot" => "&#x000B7;",
+          # /frak c, lower case c
+          "cfr" => "&#x1D520;",
+          # =small che, Cyrillic
+          "chcy" => "&#x00447;",
+          # /checkmark =tick, check mark
+          "check" => "&#x02713;",
+          # alias ISOPUB check
+          "checkmark" => "&#x02713;",
+          # /chi small chi, Greek
+          "chi" => "&#x003C7;",
+          # /circ B: =circle, open
+          "cir" => "&#x025CB;",
+          # circle, two horizontal stroked to the right
+          "cirE" => "&#x029C3;",
+          # circumflex accent
+          "circ" => "&#x002C6;",
+          # alias ISOAMSR cire
+          "circeq" => "&#x02257;",
+          # alias ISOAMSA olarr
+          "circlearrowleft" => "&#x021BA;",
+          # alias ISOAMSA orarr
+          "circlearrowright" => "&#x021BB;",
+          # alias ISONUM reg
+          "circledR" => "&#x000AE;",
+          # alias ISOAMSO oS
+          "circledS" => "&#x024C8;",
+          # alias ISOAMSB oast
+          "circledast" => "&#x0229B;",
+          # alias ISOAMSB ocir
+          "circledcirc" => "&#x0229A;",
+          # alias ISOAMSB odash
+          "circleddash" => "&#x0229D;",
+          # /circeq R: circle, equals
+          "cire" => "&#x02257;",
+          # circulation function
+          "cirfnint" => "&#x02A10;",
+          # circle, mid below
+          "cirmid" => "&#x02AEF;",
+          # circle, small circle to the right
+          "cirscir" => "&#x029C2;",
+          # /clubsuit =club suit symbol
+          "clubs" => "&#x02663;",
+          # ISOPUB    clubs
+          "clubsuit" => "&#x02663;",
+          # /colon P:
+          "colon" => "&#x0003A;",
+          # /coloneq R: colon, equals
+          "colone" => "&#x02254;",
+          # alias ISOAMSR colone
+          "coloneq" => "&#x02254;",
+          # P: =comma
+          "comma" => "&#x0002C;",
+          # =commercial at
+          "commat" => "&#x00040;",
+          # /complement - complement sign
+          "comp" => "&#x02201;",
+          # /circ B: composite function (small circle)
+          "compfn" => "&#x02218;",
+          # alias ISOAMSO comp
+          "complement" => "&#x02201;",
+          # the field of complex numbers
+          "complexes" => "&#x02102;",
+          # /cong R: congruent with
+          "cong" => "&#x02245;",
+          # congruent, dot
+          "congdot" => "&#x02A6D;",
+          # /oint L: contour integral operator
+          "conint" => "&#x0222E;",
           "copf" => "&#x1D554;",
-          # cross or vector product
-          "Cross" => "&#x02A2F;",
-          # D for use in differentials, e.g., within integrals
-          "DD" => "&#x02145;",
+          # /coprod L: coproduct operator
+          "coprod" => "&#x02210;",
+          # =copyright sign
+          "copy" => "&#x000A9;",
+          # =sound recording copyright sign
+          "copysr" => "&#x02117;",
+          # =ballot cross
+          "cross" => "&#x02717;",
+          # /scr c, script letter c
+          "cscr" => "&#x1D4B8;",
+          # subset, closed
+          "csub" => "&#x02ACF;",
+          # subset, closed, equals
+          "csube" => "&#x02AD1;",
+          # superset, closed
+          "csup" => "&#x02AD0;",
+          # superset, closed, equals
+          "csupe" => "&#x02AD2;",
+          # /cdots, three dots, centered
+          "ctdot" => "&#x022EF;",
+          # left, curved, down arrow
+          "cudarrl" => "&#x02938;",
+          # right, curved, down arrow
+          "cudarrr" => "&#x02935;",
+          # /curlyeqprec R: curly eq, precedes
+          "cuepr" => "&#x022DE;",
+          # /curlyeqsucc R: curly eq, succeeds
+          "cuesc" => "&#x022DF;",
+          # /curvearrowleft A: left curved arrow
+          "cularr" => "&#x021B6;",
+          # curved left arrow with plus
+          "cularrp" => "&#x0293D;",
+          # /cup B: union or logical sum
+          "cup" => "&#x0222A;",
+          # union, bar, intersection
+          "cupbrcap" => "&#x02A48;",
+          # union above intersection
+          "cupcap" => "&#x02A46;",
+          # union, union, joined
+          "cupcup" => "&#x02A4A;",
+          # union, with dot
+          "cupdot" => "&#x0228D;",
+          # union, or
+          "cupor" => "&#x02A45;",
+          # union, serifs
+          "cups" => "&#x0222A;&#x0FE00;",
+          # /curvearrowright A: rt curved arrow
+          "curarr" => "&#x021B7;",
+          # curved right arrow with minus
+          "curarrm" => "&#x0293C;",
+          # alias ISOAMSR cuepr
+          "curlyeqprec" => "&#x022DE;",
+          # alias ISOAMSR cuesc
+          "curlyeqsucc" => "&#x022DF;",
+          # alias ISOAMSB cuvee
+          "curlyvee" => "&#x022CE;",
+          # alias ISOAMSB cuwed
+          "curlywedge" => "&#x022CF;",
+          # =general currency sign
+          "curren" => "&#x000A4;",
+          # alias ISOAMSA cularr
+          "curvearrowleft" => "&#x021B6;",
+          # alias ISOAMSA curarr
+          "curvearrowright" => "&#x021B7;",
+          # /curlyvee B: curly logical or
+          "cuvee" => "&#x022CE;",
+          # /curlywedge B: curly logical and
+          "cuwed" => "&#x022CF;",
+          # contour integral, clockwise
+          "cwconint" => "&#x02232;",
+          # clockwise integral
+          "cwint" => "&#x02231;",
+          # cylindricity
+          "cylcty" => "&#x0232D;",
+          # /Downarrow A: down dbl arrow
+          "dArr" => "&#x021D3;",
+          # down harpoon-left, down harpoon-right
+          "dHar" => "&#x02965;",
+          # /dagger B: dagger relation
+          "dagger" => "&#x02020;",
+          # /daleth - daleth, Hebrew
+          "daleth" => "&#x02138;",
+          # /downarrow A: =downward arrow
+          "darr" => "&#x02193;",
+          # =hyphen (true graphic)
+          "dash" => "&#x02010;",
+          # /dashv R: dash, vertical
+          "dashv" => "&#x022A3;",
+          # alias ISOAMSA rBarr
+          "dbkarow" => "&#x0290F;",
+          # =double acute accent
+          "dblac" => "&#x002DD;",
+          # =small d, caron
+          "dcaron" => "&#x0010F;",
+          # =small de, Cyrillic
+          "dcy" => "&#x00434;",
           # d for use in differentials, e.g., within integrals
           "dd" => "&#x02146;",
-          #
+          # alias ISOPUB Dagger
+          "ddagger" => "&#x02021;",
+          # /downdownarrows A: two down arrows
+          "ddarr" => "&#x021CA;",
+          # alias ISOAMSR eDDot
+          "ddotseq" => "&#x02A77;",
+          # =degree sign
+          "deg" => "&#x000B0;",
+          # /delta small delta, Greek
+          "delta" => "&#x003B4;",
+          # circle, slash, bar above
+          "demptyv" => "&#x029B1;",
+          # down fish tail
+          "dfisht" => "&#x0297F;",
+          # /frak d, lower case d
+          "dfr" => "&#x1D521;",
+          # /downharpoonleft A: dn harpoon-left
+          "dharl" => "&#x021C3;",
+          # /downharpoonright A: down harpoon-rt
+          "dharr" => "&#x021C2;",
+          # /diamond B: open diamond
+          "diam" => "&#x022C4;",
+          # alias ISOAMSB diam
+          "diamond" => "&#x022C4;",
+          # ISOPUB    diams
+          "diamondsuit" => "&#x02666;",
+          # /diamondsuit =diamond suit symbol
+          "diams" => "&#x02666;",
+          # =dieresis
+          "die" => "&#x000A8;",
+          # alias ISOGRK3 gammad
+          "digamma" => "&#x003DD;",
+          # set membership, long horizontal stroke
+          "disin" => "&#x022F2;",
+          # alias ISONUM divide
+          "div" => "&#x000F7;",
+          # /div B: =divide sign
+          "divide" => "&#x000F7;",
+          # alias ISOAMSB divonx
+          "divideontimes" => "&#x022C7;",
+          # /divideontimes B: division on times
+          "divonx" => "&#x022C7;",
+          # =small dje, Serbian
+          "djcy" => "&#x00452;",
+          # /llcorner O: lower left corner
+          "dlcorn" => "&#x0231E;",
+          # downward left crop mark
+          "dlcrop" => "&#x0230D;",
+          # =dollar sign
+          "dollar" => "&#x00024;",
           "dopf" => "&#x1D555;",
-          # down arrow to bar
-          "DownArrowBar" => "&#x02913;",
-          # left-down-right-down harpoon
-          "DownLeftRightVector" => "&#x02950;",
-          # left-down harpoon from bar
-          "DownLeftTeeVector" => "&#x0295E;",
-          # left-down harpoon to bar
-          "DownLeftVectorBar" => "&#x02956;",
-          # right-down harpoon from bar
-          "DownRightTeeVector" => "&#x0295F;",
-          # right-down harpoon to bar
-          "DownRightVectorBar" => "&#x02957;",
+          # =dot above
+          "dot" => "&#x002D9;",
+          # alias ISOAMSR esdot
+          "doteq" => "&#x02250;",
+          # alias ISOAMSR eDot
+          "doteqdot" => "&#x02251;",
+          # alias ISOAMSB minusd
+          "dotminus" => "&#x02238;",
+          # alias ISOAMSB plusdo
+          "dotplus" => "&#x02214;",
+          # alias ISOAMSB sdotb
+          "dotsquare" => "&#x022A1;",
+          # alias ISOAMSB Barwed
+          "doublebarwedge" => "&#x02306;",
+          # alias ISONUM darr
+          "downarrow" => "&#x02193;",
+          # alias ISOAMSA ddarr
+          "downdownarrows" => "&#x021CA;",
+          # alias ISOAMSA dharl
+          "downharpoonleft" => "&#x021C3;",
+          # alias ISOAMSA dharr
+          "downharpoonright" => "&#x021C2;",
+          # alias ISOAMSA RBarr
+          "drbkarow" => "&#x02910;",
+          # /lrcorner C: lower right corner
+          "drcorn" => "&#x0231F;",
+          # downward right crop mark
+          "drcrop" => "&#x0230C;",
+          # /scr d, script letter d
+          "dscr" => "&#x1D4B9;",
+          # =small dse, Macedonian
+          "dscy" => "&#x00455;",
+          # solidus, bar above
+          "dsol" => "&#x029F6;",
+          # =small d, stroke
+          "dstrok" => "&#x00111;",
+          # /ddots, three dots, descending
+          "dtdot" => "&#x022F1;",
+          # /triangledown =down triangle, open
+          "dtri" => "&#x025BF;",
+          # /blacktriangledown =dn tri, filled
+          "dtrif" => "&#x025BE;",
+          # down arrow, up arrow
+          "duarr" => "&#x021F5;",
+          # down harp, up harp
+          "duhar" => "&#x0296F;",
+          # large downward pointing angle
+          "dwangle" => "&#x029A6;",
+          # =small dze, Serbian
+          "dzcy" => "&#x0045F;",
+          # right long zig-zag arrow
+          "dzigrarr" => "&#x027FF;",
+          # /ddotseq R: equal with four dots
+          "eDDot" => "&#x02A77;",
+          # /doteqdot /Doteq R: eq, even dots
+          "eDot" => "&#x02251;",
+          # =small e, acute accent
+          "eacute" => "&#x000E9;",
+          # equal, asterisk above
+          "easter" => "&#x02A6E;",
+          # =small e, caron
+          "ecaron" => "&#x0011B;",
+          # /eqcirc R: circle on equals sign
+          "ecir" => "&#x02256;",
+          # =small e, circumflex accent
+          "ecirc" => "&#x000EA;",
+          # /eqcolon R: equals, colon
+          "ecolon" => "&#x02255;",
+          # =small e, Cyrillic
+          "ecy" => "&#x0044D;",
+          # =small e, dot above
+          "edot" => "&#x00117;",
           # e use for the exponential base of the natural logarithms
           "ee" => "&#x02147;",
-          # empty small square
-          "EmptySmallSquare" => "&#x025FB;",
-          # empty small square
-          "EmptyVerySmallSquare" => "&#x025AB;",
-          #
+          # /fallingdotseq R: eq, falling dots
+          "efDot" => "&#x02252;",
+          # /frak e, lower case e
+          "efr" => "&#x1D522;",
+          # equal-or-greater
+          "eg" => "&#x02A9A;",
+          # =small e, grave accent
+          "egrave" => "&#x000E8;",
+          # /eqslantgtr R: equal-or-gtr, slanted
+          "egs" => "&#x02A96;",
+          # equal-or-greater, slanted, dot inside
+          "egsdot" => "&#x02A98;",
+          # equal-or-less
+          "el" => "&#x02A99;",
+          # electrical intersection
+          "elinters" => "&#x0FFFD;",
+          # /ell - cursive small l
+          "ell" => "&#x02113;",
+          # /eqslantless R: eq-or-less, slanted
+          "els" => "&#x02A95;",
+          # equal-or-less, slanted, dot inside
+          "elsdot" => "&#x02A97;",
+          # =small e, macron
+          "emacr" => "&#x00113;",
+          # /emptyset - zero, slash
+          "empty" => "&#x02205;",
+          # alias ISOAMSO empty
+          "emptyset" => "&#x02205;",
+          # /varnothing - circle, slash
+          "emptyv" => "&#x02205;",
+          # =em space
+          "emsp" => "&#x02003;",
+          # =1/3-em space
+          "emsp13" => "&#x02004;",
+          # =1/4-em space
+          "emsp14" => "&#x02005;",
+          # =small eng, Lapp
+          "eng" => "&#x0014B;",
+          # =en space (1/2-em)
+          "ensp" => "&#x02002;",
+          # =small e, ogonek
+          "eogon" => "&#x00119;",
           "eopf" => "&#x1D556;",
-          # two consecutive equal signs
-          "Equal" => "&#x02A75;",
-          # filled small square
-          "FilledSmallSquare" => "&#x025FC;",
-          # filled very small square
-          "FilledVerySmallSquare" => "&#x025AA;",
-          #
+          # parallel, equal; equal or parallel
+          "epar" => "&#x022D5;",
+          # parallel, slanted, equal; homothetically congruent to
+          "eparsl" => "&#x029E3;",
+          # equal, plus
+          "eplus" => "&#x02A71;",
+          # /straightepsilon, small epsilon, Greek
+          "epsi" => "&#x003F5;",
+          # /varepsilon
+          "epsiv" => "&#x003B5;",
+          # alias ISOAMSR ecir
+          "eqcirc" => "&#x02256;",
+          # alias ISOAMSR ecolon
+          "eqcolon" => "&#x02255;",
+          # alias ISOAMSR esim
+          "eqsim" => "&#x02242;",
+          # alias ISOAMSR egs
+          "eqslantgtr" => "&#x02A96;",
+          # alias ISOAMSR els
+          "eqslantless" => "&#x02A95;",
+          # =equals sign R:
+          "equals" => "&#x0003D;",
+          # /questeq R: equal with questionmark
+          "equest" => "&#x0225F;",
+          # /equiv R: identical with
+          "equiv" => "&#x02261;",
+          # equivalent, four dots above
+          "equivDD" => "&#x02A78;",
+          # equivalent, equal; congruent and parallel
+          "eqvparsl" => "&#x029E5;",
+          # /risingdotseq R: eq, rising dots
+          "erDot" => "&#x02253;",
+          # equal, right arrow below
+          "erarr" => "&#x02971;",
+          # /scr e, script letter e
+          "escr" => "&#x0212F;",
+          # /doteq R: equals, single dot above
+          "esdot" => "&#x02250;",
+          # /esim R: equals, similar
+          "esim" => "&#x02242;",
+          # /eta small eta, Greek
+          "eta" => "&#x003B7;",
+          # =small eth, Icelandic
+          "eth" => "&#x000F0;",
+          # =small e, dieresis or umlaut mark
+          "euml" => "&#x000EB;",
+          # =exclamation mark
+          "excl" => "&#x00021;",
+          # /exists at least one exists
+          "exist" => "&#x02203;",
+          # expectation (operator)
+          "expectation" => "&#x02130;",
+          # base of the Napierian logarithms
+          "exponentiale" => "&#x02147;",
+          # alias ISOAMSR efDot
+          "fallingdotseq" => "&#x02252;",
+          # =small ef, Cyrillic
+          "fcy" => "&#x00444;",
+          # =female symbol
+          "female" => "&#x02640;",
+          # small ffi ligature
+          "ffilig" => "&#x0FB03;",
+          # small ff ligature
+          "fflig" => "&#x0FB00;",
+          # small ffl ligature
+          "ffllig" => "&#x0FB04;",
+          # /frak f, lower case f
+          "ffr" => "&#x1D523;",
+          # small fi ligature
+          "filig" => "&#x0FB01;",
+          # /flat =musical flat
+          "flat" => "&#x0266D;",
+          # small fl ligature
+          "fllig" => "&#x0FB02;",
+          # flatness
+          "fltns" => "&#x025B1;",
+          # function of (italic small f)
+          "fnof" => "&#x00192;",
           "fopf" => "&#x1D557;",
-          #
+          # /forall for all
+          "forall" => "&#x02200;",
+          # /pitchfork R: pitchfork
+          "fork" => "&#x022D4;",
+          # fork, variant
+          "forkv" => "&#x02AD9;",
+          # finite part integral
+          "fpartint" => "&#x02A0D;",
+          # =fraction one-half
+          "frac12" => "&#x000BD;",
+          # =fraction one-third
+          "frac13" => "&#x02153;",
+          # =fraction one-quarter
+          "frac14" => "&#x000BC;",
+          # =fraction one-fifth
+          "frac15" => "&#x02155;",
+          # =fraction one-sixth
+          "frac16" => "&#x02159;",
+          # =fraction one-eighth
+          "frac18" => "&#x0215B;",
+          # =fraction two-thirds
+          "frac23" => "&#x02154;",
+          # =fraction two-fifths
+          "frac25" => "&#x02156;",
+          # =fraction three-quarters
+          "frac34" => "&#x000BE;",
+          # =fraction three-fifths
+          "frac35" => "&#x02157;",
+          # =fraction three-eighths
+          "frac38" => "&#x0215C;",
+          # =fraction four-fifths
+          "frac45" => "&#x02158;",
+          # =fraction five-sixths
+          "frac56" => "&#x0215A;",
+          # =fraction five-eighths
+          "frac58" => "&#x0215D;",
+          # =fraction seven-eighths
+          "frac78" => "&#x0215E;",
+          # /frown R: down curve
+          "frown" => "&#x02322;",
+          # /scr f, script letter f
+          "fscr" => "&#x1D4BB;",
+          # /geqq R: greater, double equals
+          "gE" => "&#x02267;",
+          # /gtreqqless R: gt, dbl equals, less
+          "gEl" => "&#x02A8C;",
+          # =small g, acute accent
+          "gacute" => "&#x001F5;",
+          # /gamma small gamma, Greek
+          "gamma" => "&#x003B3;",
+          # /digamma
+          "gammad" => "&#x003DD;",
+          # /gtrapprox R: greater, approximate
+          "gap" => "&#x02A86;",
+          # =small g, breve
+          "gbreve" => "&#x0011F;",
+          # =small g, circumflex accent
+          "gcirc" => "&#x0011D;",
+          # =small ghe, Cyrillic
+          "gcy" => "&#x00433;",
+          # =small g, dot above
+          "gdot" => "&#x00121;",
+          # /geq /ge R: greater-than-or-equal
+          "ge" => "&#x02265;",
+          # /gtreqless R: greater, equals, less
+          "gel" => "&#x022DB;",
+          # alias ISOTECH ge
+          "geq" => "&#x02265;",
+          # alias ISOAMSR gE
+          "geqq" => "&#x02267;",
+          # alias ISOAMSR ges
+          "geqslant" => "&#x02A7E;",
+          # /geqslant R: gt-or-equal, slanted
+          "ges" => "&#x02A7E;",
+          # greater than, closed by curve, equal, slanted
+          "gescc" => "&#x02AA9;",
+          # greater-than-or-equal, slanted, dot inside
+          "gesdot" => "&#x02A80;",
+          # greater-than-or-equal, slanted, dot above
+          "gesdoto" => "&#x02A82;",
+          # greater-than-or-equal, slanted, dot above left
+          "gesdotol" => "&#x02A84;",
+          # greater, equal, slanted, less
+          "gesl" => "&#x022DB;&#x0FE00;",
+          # greater, equal, slanted, less, equal, slanted
+          "gesles" => "&#x02A94;",
+          # /frak g, lower case g
+          "gfr" => "&#x1D524;",
+          # alias ISOAMSR Gt
+          "gg" => "&#x0226B;",
+          # alias ISOAMSR Gg
+          "ggg" => "&#x022D9;",
+          # /gimel - gimel, Hebrew
+          "gimel" => "&#x02137;",
+          # =small gje, Macedonian
+          "gjcy" => "&#x00453;",
+          # /gtrless R: greater, less
+          "gl" => "&#x02277;",
+          # greater, less, equal
+          "glE" => "&#x02A92;",
+          # greater, less, apart
+          "gla" => "&#x02AA5;",
+          # greater, less, overlapping
+          "glj" => "&#x02AA4;",
+          # /gneqq N: greater, not dbl equals
+          "gnE" => "&#x02269;",
+          # /gnapprox N: greater, not approximate
+          "gnap" => "&#x02A8A;",
+          # alias ISOAMSN gnap
+          "gnapprox" => "&#x02A8A;",
+          # /gneq N: greater, not equals
+          "gne" => "&#x02A88;",
+          # alias ISOAMSN gne
+          "gneq" => "&#x02A88;",
+          # alias ISOAMSN gnE
+          "gneqq" => "&#x02269;",
+          # /gnsim N: greater, not similar
+          "gnsim" => "&#x022E7;",
           "gopf" => "&#x1D558;",
-          # alias for GT
-          "GreaterGreater" => "&#x02AA2;",
-          # circumflex accent
-          "Hat" => "&#x0005E;",
-          #
+          # =grave accent
+          "grave" => "&#x00060;",
+          # /scr g, script letter g
+          "gscr" => "&#x0210A;",
+          # /gtrsim R: greater, similar
+          "gsim" => "&#x02273;",
+          # greater, similar, equal
+          "gsime" => "&#x02A8E;",
+          # greater, similar, less
+          "gsiml" => "&#x02A90;",
+          # =greater-than sign R:
+          "gt" => "&#x0003E;",
+          # greater than, closed by curve
+          "gtcc" => "&#x02AA7;",
+          # greater than, circle inside
+          "gtcir" => "&#x02A7A;",
+          # /gtrdot R: greater than, with dot
+          "gtdot" => "&#x022D7;",
+          # dbl left parenthesis, greater
+          "gtlPar" => "&#x02995;",
+          # greater than, questionmark above
+          "gtquest" => "&#x02A7C;",
+          # alias ISOAMSR gap
+          "gtrapprox" => "&#x02A86;",
+          # greater than, right arrow
+          "gtrarr" => "&#x02978;",
+          # alias ISOAMSR gtdot
+          "gtrdot" => "&#x022D7;",
+          # alias ISOAMSR gel
+          "gtreqless" => "&#x022DB;",
+          # alias ISOAMSR gEl
+          "gtreqqless" => "&#x02A8C;",
+          # alias ISOAMSR gl
+          "gtrless" => "&#x02277;",
+          # alias ISOAMSR gsim
+          "gtrsim" => "&#x02273;",
+          # alias ISOAMSN gvnE
+          "gvertneqq" => "&#x02269;&#x0FE00;",
+          # /gvertneqq N: gt, vert, not dbl eq
+          "gvnE" => "&#x02269;&#x0FE00;",
+          # /Leftrightarrow A: l&r dbl arrow
+          "hArr" => "&#x021D4;",
+          # =hair space
+          "hairsp" => "&#x0200A;",
+          # =fraction one-half
+          "half" => "&#x000BD;",
+          # Hamiltonian (script capital H)
+          "hamilt" => "&#x0210B;",
+          # =small hard sign, Cyrillic
+          "hardcy" => "&#x0044A;",
+          # /leftrightarrow A: l&r arrow
+          "harr" => "&#x02194;",
+          # left and right arrow with a circle
+          "harrcir" => "&#x02948;",
+          # /leftrightsquigarrow A: l&r arr-wavy
+          "harrw" => "&#x021AD;",
+          # alias ISOAMSO plank
+          "hbar" => "&#x0210F;",
+          # =small h, circumflex accent
+          "hcirc" => "&#x00125;",
+          # /heartsuit =heart suit symbol
+          "hearts" => "&#x02665;",
+          # ISOPUB hearts
+          "heartsuit" => "&#x02665;",
+          # =ellipsis (horizontal)
+          "hellip" => "&#x02026;",
+          # hermitian conjugate matrix
+          "hercon" => "&#x022B9;",
+          # /frak h, lower case h
+          "hfr" => "&#x1D525;",
+          # alias ISOAMSA searhk
+          "hksearow" => "&#x02925;",
+          # alias ISOAMSA swarhk
+          "hkswarow" => "&#x02926;",
+          # horizontal open arrow
+          "hoarr" => "&#x021FF;",
+          # homothetic
+          "homtht" => "&#x0223B;",
+          # alias ISOAMSA larrhk
+          "hookleftarrow" => "&#x021A9;",
+          # alias ISOAMSA rarrhk
+          "hookrightarrow" => "&#x021AA;",
           "hopf" => "&#x1D559;",
-          # short horizontal line
-          "HorizontalLine" => "&#x02500;",
+          # =horizontal bar
+          "horbar" => "&#x02015;",
+          # /scr h, script letter h
+          "hscr" => "&#x1D4BD;",
+          # alias ISOAMSO plankv
+          "hslash" => "&#x0210F;",
+          # =small h, stroke
+          "hstrok" => "&#x00127;",
+          # rectangle, filled (hyphen bullet)
+          "hybull" => "&#x02043;",
+          # =hyphen
+          "hyphen" => "&#x02010;",
+          # =small i, acute accent
+          "iacute" => "&#x000ED;",
           # short form of  ⁣
           "ic" => "&#x02063;",
+          # =small i, circumflex accent
+          "icirc" => "&#x000EE;",
+          # =small i, Cyrillic
+          "icy" => "&#x00438;",
+          # =small ie, Cyrillic
+          "iecy" => "&#x00435;",
+          # =inverted exclamation mark
+          "iexcl" => "&#x000A1;",
+          # /iff if and only if
+          "iff" => "&#x021D4;",
+          # /frak i, lower case i
+          "ifr" => "&#x1D526;",
+          # =small i, grave accent
+          "igrave" => "&#x000EC;",
           # i for use as a square root of -1
           "ii" => "&#x02148;",
-          #
+          # alias ISOTECH qint
+          "iiiint" => "&#x02A0C;",
+          # alias ISOTECH tint
+          "iiint" => "&#x0222D;",
+          # infinity sign, incomplete
+          "iinfin" => "&#x029DC;",
+          # inverted iota
+          "iiota" => "&#x02129;",
+          # =small ij ligature
+          "ijlig" => "&#x00133;",
+          # =small i, macron
+          "imacr" => "&#x0012B;",
+          # /Im - imaginary
+          "image" => "&#x02111;",
+          # the geometric imaginary line
+          "imagline" => "&#x02110;",
+          # alias ISOAMSO image
+          "imagpart" => "&#x02111;",
+          # /imath - small i, no dot
+          "imath" => "&#x00131;",
+          # image of
+          "imof" => "&#x022B7;",
+          # impedance
+          "imped" => "&#x001B5;",
+          # ISOTECH   isin
+          "in" => "&#x02208;",
+          # =in-care-of symbol
+          "incare" => "&#x02105;",
+          # /infty infinity
+          "infin" => "&#x0221E;",
+          # tie, infinity
+          "infintie" => "&#x029DD;",
+          # =small i without dot
+          "inodot" => "&#x00131;",
+          # /int L: integral operator
+          "int" => "&#x0222B;",
+          # /intercal B: intercal
+          "intcal" => "&#x022BA;",
+          # the ring of integers
+          "integers" => "&#x02124;",
+          # alias ISOAMSB intcal
+          "intercal" => "&#x022BA;",
+          # integral, left arrow with hook
+          "intlarhk" => "&#x02A17;",
+          # alias ISOAMSB iprod
+          "intprod" => "&#x02A3C;",
+          # =small io, Russian
+          "iocy" => "&#x00451;",
+          # =small i, ogonek
+          "iogon" => "&#x0012F;",
           "iopf" => "&#x1D55A;",
+          # /iota small iota, Greek
+          "iota" => "&#x003B9;",
+          # /intprod
+          "iprod" => "&#x02A3C;",
+          # =inverted question mark
+          "iquest" => "&#x000BF;",
+          # /scr i, script letter i
+          "iscr" => "&#x1D4BE;",
+          # /in R: set membership
+          "isin" => "&#x02208;",
+          # set membership, two horizontal strokes
+          "isinE" => "&#x022F9;",
+          # set membership, dot above
+          "isindot" => "&#x022F5;",
+          # set membership, vertical bar on horizontal stroke
+          "isins" => "&#x022F4;",
+          # large set membership, vertical bar on horizontal stroke
+          "isinsv" => "&#x022F3;",
+          # set membership, variant
+          "isinv" => "&#x02208;",
           # marks multiplication when it is understood without a mark
           "it" => "&#x02062;",
-          #
+          # =small i, tilde
+          "itilde" => "&#x00129;",
+          # =small i, Ukrainian
+          "iukcy" => "&#x00456;",
+          # =small i, dieresis or umlaut mark
+          "iuml" => "&#x000EF;",
+          # =small j, circumflex accent
+          "jcirc" => "&#x00135;",
+          # =small short i, Cyrillic
+          "jcy" => "&#x00439;",
+          # /frak j, lower case j
+          "jfr" => "&#x1D527;",
+          # /jmath - small j, no dot
+          "jmath" => "&#x0006A;",
           "jopf" => "&#x1D55B;",
-          #
+          # /scr j, script letter j
+          "jscr" => "&#x1D4BF;",
+          # =small je, Serbian
+          "jsercy" => "&#x00458;",
+          # =small je, Ukrainian
+          "jukcy" => "&#x00454;",
+          # /kappa small kappa, Greek
+          "kappa" => "&#x003BA;",
+          # /varkappa
+          "kappav" => "&#x003F0;",
+          # =small k, cedilla
+          "kcedil" => "&#x00137;",
+          # =small ka, Cyrillic
+          "kcy" => "&#x0043A;",
+          # /frak k, lower case k
+          "kfr" => "&#x1D528;",
+          # =small k, Greenlandic
+          "kgreen" => "&#x00138;",
+          # =small ha, Cyrillic
+          "khcy" => "&#x00445;",
+          # =small kje Macedonian
+          "kjcy" => "&#x0045C;",
           "kopf" => "&#x1D55C;",
+          # /scr k, script letter k
+          "kscr" => "&#x1D4C0;",
+          # /Lleftarrow A: left triple arrow
+          "lAarr" => "&#x021DA;",
+          # /Leftarrow A: is implied by
+          "lArr" => "&#x021D0;",
+          # left double arrow-tail
+          "lAtail" => "&#x0291B;",
+          # left doubly broken arrow
+          "lBarr" => "&#x0290E;",
+          # /leqq R: less, double equals
+          "lE" => "&#x02266;",
+          # /lesseqqgtr R: less, dbl eq, greater
+          "lEg" => "&#x02A8B;",
+          # left harpoon-up over left harpoon-down
+          "lHar" => "&#x02962;",
+          # =small l, acute accent
+          "lacute" => "&#x0013A;",
+          # circle, slash, left arrow above
+          "laemptyv" => "&#x029B4;",
+          # Lagrangian (script capital L)
+          "lagran" => "&#x02112;",
+          # /lambda small lambda, Greek
+          "lambda" => "&#x003BB;",
+          # /langle O: left angle bracket
+          "lang" => "&#x02329;",
+          # left angle, dot
+          "langd" => "&#x02991;",
+          # alias ISOTECH lang
+          "langle" => "&#x02329;",
+          # /lessapprox R: less, approximate
+          "lap" => "&#x02A85;",
+          # =angle quotation mark, left
+          "laquo" => "&#x000AB;",
+          # /leftarrow /gets A: =leftward arrow
+          "larr" => "&#x02190;",
           # leftwards arrow to bar
           "larrb" => "&#x021E4;",
-          # down-left harpoon from bar
-          "LeftDownTeeVector" => "&#x02961;",
-          # down-left harpoon to bar
-          "LeftDownVectorBar" => "&#x02959;",
-          # left-up-right-up harpoon
-          "LeftRightVector" => "&#x0294E;",
-          # left-up harpoon from bar
-          "LeftTeeVector" => "&#x0295A;",
-          # left triangle, vertical bar
-          "LeftTriangleBar" => "&#x029CF;",
-          # up-left-down-left harpoon
-          "LeftUpDownVector" => "&#x02951;",
-          # up-left harpoon from bar
-          "LeftUpTeeVector" => "&#x02960;",
-          # up-left harpoon to bar
-          "LeftUpVectorBar" => "&#x02958;",
-          # left-up harpoon to bar
-          "LeftVectorBar" => "&#x02952;",
-          # alias for Lt
-          "LessLess" => "&#x02AA1;",
-          #
+          # left arrow-bar, filled square
+          "larrbfs" => "&#x0291F;",
+          # left arrow, filled square
+          "larrfs" => "&#x0291D;",
+          # /hookleftarrow A: left arrow-hooked
+          "larrhk" => "&#x021A9;",
+          # /looparrowleft A: left arrow-looped
+          "larrlp" => "&#x021AB;",
+          # left arrow, plus
+          "larrpl" => "&#x02939;",
+          # left arrow, similar
+          "larrsim" => "&#x02973;",
+          # /leftarrowtail A: left arrow-tailed
+          "larrtl" => "&#x021A2;",
+          # larger than
+          "lat" => "&#x02AAB;",
+          # left arrow-tail
+          "latail" => "&#x02919;",
+          # larger than or equal
+          "late" => "&#x02AAD;",
+          # larger than or equal, slanted
+          "lates" => "&#x02AAD;&#x0FE00;",
+          # left broken arrow
+          "lbarr" => "&#x0290C;",
+          # left broken bracket
+          "lbbrk" => "&#x03014;",
+          # alias ISONUM lcub
+          "lbrace" => "&#x0007B;",
+          # alias ISONUM lsqb
+          "lbrack" => "&#x0005B;",
+          # left bracket, equal
+          "lbrke" => "&#x0298B;",
+          # left bracket, solidus bottom corner
+          "lbrksld" => "&#x0298F;",
+          # left bracket, solidus top corner
+          "lbrkslu" => "&#x0298D;",
+          # =small l, caron
+          "lcaron" => "&#x0013E;",
+          # =small l, cedilla
+          "lcedil" => "&#x0013C;",
+          # /lceil O: left ceiling
+          "lceil" => "&#x02308;",
+          # /lbrace O: =left curly bracket
+          "lcub" => "&#x0007B;",
+          # =small el, Cyrillic
+          "lcy" => "&#x0043B;",
+          # left down curved arrow
+          "ldca" => "&#x02936;",
+          # =double quotation mark, left
+          "ldquo" => "&#x0201C;",
+          # =rising dbl quote, left (low)
+          "ldquor" => "&#x0201E;",
+          # left harpoon-down over right harpoon-down
+          "ldrdhar" => "&#x02967;",
+          # left-down-right-up harpoon
+          "ldrushar" => "&#x0294B;",
+          # left down angled arrow
+          "ldsh" => "&#x021B2;",
+          # /leq /le R: less-than-or-equal
+          "le" => "&#x02264;",
+          # alias ISONUM larr
+          "leftarrow" => "&#x02190;",
+          # alias ISOAMSA larrtl
+          "leftarrowtail" => "&#x021A2;",
+          # alias ISOAMSA lhard
+          "leftharpoondown" => "&#x021BD;",
+          # alias ISOAMSA lharu
+          "leftharpoonup" => "&#x021BC;",
+          # alias ISOAMSA llarr
+          "leftleftarrows" => "&#x021C7;",
+          # alias ISOAMSA harr
+          "leftrightarrow" => "&#x02194;",
+          # alias ISOAMSA lrarr
+          "leftrightarrows" => "&#x021C6;",
+          # alias ISOAMSA lrhar
+          "leftrightharpoons" => "&#x021CB;",
+          # alias ISOAMSA harrw
+          "leftrightsquigarrow" => "&#x021AD;",
+          # alias ISOAMSB lthree
+          "leftthreetimes" => "&#x022CB;",
+          # /lesseqgtr R: less, eq, greater
+          "leg" => "&#x022DA;",
+          # alias ISOTECH le
+          "leq" => "&#x02264;",
+          # alias ISOAMSR lE
+          "leqq" => "&#x02266;",
+          # alias ISOAMSR les
+          "leqslant" => "&#x02A7D;",
+          # /leqslant R: less-than-or-eq, slant
+          "les" => "&#x02A7D;",
+          # less than, closed by curve, equal, slanted
+          "lescc" => "&#x02AA8;",
+          # less-than-or-equal, slanted, dot inside
+          "lesdot" => "&#x02A7F;",
+          # less-than-or-equal, slanted, dot above
+          "lesdoto" => "&#x02A81;",
+          # less-than-or-equal, slanted, dot above right
+          "lesdotor" => "&#x02A83;",
+          # less, equal, slanted, greater
+          "lesg" => "&#x022DA;&#x0FE00;",
+          # less, equal, slanted, greater, equal, slanted
+          "lesges" => "&#x02A93;",
+          # alias ISOAMSR lap
+          "lessapprox" => "&#x02A85;",
+          # alias ISOAMSR ltdot
+          "lessdot" => "&#x022D6;",
+          # alias ISOAMSR leg
+          "lesseqgtr" => "&#x022DA;",
+          # alias ISOAMSR lEg
+          "lesseqqgtr" => "&#x02A8B;",
+          # alias ISOAMSR lg
+          "lessgtr" => "&#x02276;",
+          # alias ISOAMSR lsim
+          "lesssim" => "&#x02272;",
+          # left fish tail
+          "lfisht" => "&#x0297C;",
+          # /lfloor O: left floor
+          "lfloor" => "&#x0230A;",
+          # /frak l, lower case l
+          "lfr" => "&#x1D529;",
+          # /lessgtr R: less, greater
+          "lg" => "&#x02276;",
+          # less, greater, equal
+          "lgE" => "&#x02A91;",
+          # /leftharpoondown A: l harpoon-down
+          "lhard" => "&#x021BD;",
+          # /leftharpoonup A: left harpoon-up
+          "lharu" => "&#x021BC;",
+          # left harpoon-up over long dash
+          "lharul" => "&#x0296A;",
+          # =lower half block
+          "lhblk" => "&#x02584;",
+          # =small lje, Serbian
+          "ljcy" => "&#x00459;",
+          # alias ISOAMSR Lt
+          "ll" => "&#x0226A;",
+          # /leftleftarrows A: two left arrows
+          "llarr" => "&#x021C7;",
+          # alias ISOAMSC dlcorn
+          "llcorner" => "&#x0231E;",
+          # left harpoon-down below long dash
+          "llhard" => "&#x0296B;",
+          # lower left triangle
+          "lltri" => "&#x025FA;",
+          # =small l, middle dot
+          "lmidot" => "&#x00140;",
+          # /lmoustache
+          "lmoust" => "&#x023B0;",
+          # alias ISOAMSC lmoust
+          "lmoustache" => "&#x023B0;",
+          # /lneqq N: less, not double equals
+          "lnE" => "&#x02268;",
+          # /lnapprox N: less, not approximate
+          "lnap" => "&#x02A89;",
+          # alias ISOAMSN lnap
+          "lnapprox" => "&#x02A89;",
+          # /lneq N: less, not equals
+          "lne" => "&#x02A87;",
+          # alias ISOAMSN lne
+          "lneq" => "&#x02A87;",
+          # alias ISOAMSN lnE
+          "lneqq" => "&#x02268;",
+          # /lnsim N: less, not similar
+          "lnsim" => "&#x022E6;",
+          # left open angular bracket
+          "loang" => "&#x03018;",
+          # left open arrow
+          "loarr" => "&#x021FD;",
+          # left open bracket
+          "lobrk" => "&#x0301A;",
+          # alias ISOAMSA xlarr
+          "longleftarrow" => "&#x027F5;",
+          # alias ISOAMSA xharr
+          "longleftrightarrow" => "&#x027F7;",
+          # alias ISOAMSA xmap
+          "longmapsto" => "&#x027FC;",
+          # alias ISOAMSA xrarr
+          "longrightarrow" => "&#x027F6;",
+          # alias ISOAMSA larrlp
+          "looparrowleft" => "&#x021AB;",
+          # alias ISOAMSA rarrlp
+          "looparrowright" => "&#x021AC;",
+          # left open parenthesis
+          "lopar" => "&#x02985;",
           "lopf" => "&#x1D55D;",
+          # plus sign in left half circle
+          "loplus" => "&#x02A2D;",
+          # multiply sign in left half circle
+          "lotimes" => "&#x02A34;",
+          # low asterisk
+          "lowast" => "&#x02217;",
+          # =low line
+          "lowbar" => "&#x0005F;",
+          # /lozenge - lozenge or total mark
+          "loz" => "&#x025CA;",
+          # alias ISOPUB loz
+          "lozenge" => "&#x025CA;",
+          # /blacklozenge - lozenge, filled
+          "lozf" => "&#x029EB;",
+          # O: =left parenthesis
+          "lpar" => "&#x00028;",
+          # O: left parenthesis, lt
+          "lparlt" => "&#x02993;",
+          # /leftrightarrows A: l arr over r arr
+          "lrarr" => "&#x021C6;",
+          # alias ISOAMSC drcorn
+          "lrcorner" => "&#x0231F;",
+          # /leftrightharpoons A: l harp over r
+          "lrhar" => "&#x021CB;",
+          # right harpoon-down below long dash
+          "lrhard" => "&#x0296D;",
+          # lower right triangle
+          "lrtri" => "&#x022BF;",
+          # /scr l, script letter l
+          "lscr" => "&#x1D4C1;",
+          # /Lsh A:
+          "lsh" => "&#x021B0;",
+          # /lesssim R: less, similar
+          "lsim" => "&#x02272;",
+          # less, similar, equal
+          "lsime" => "&#x02A8D;",
+          # less, similar, greater
+          "lsimg" => "&#x02A8F;",
+          # /lbrack O: =left square bracket
+          "lsqb" => "&#x0005B;",
+          # =single quotation mark, left
+          "lsquo" => "&#x02018;",
+          # =rising single quote, left (low)
+          "lsquor" => "&#x0201A;",
+          # =small l, stroke
+          "lstrok" => "&#x00142;",
+          # =less-than sign R:
+          "lt" => "<",
+          # less than, closed by curve
+          "ltcc" => "&#x02AA6;",
+          # less than, circle inside
+          "ltcir" => "&#x02A79;",
+          # /lessdot R: less than, with dot
+          "ltdot" => "&#x022D6;",
+          # /leftthreetimes B:
+          "lthree" => "&#x022CB;",
+          # /ltimes B: times sign, left closed
+          "ltimes" => "&#x022C9;",
+          # less than, left arrow
+          "ltlarr" => "&#x02976;",
+          # less than, questionmark above
+          "ltquest" => "&#x02A7B;",
+          # dbl right parenthesis, less
+          "ltrPar" => "&#x02996;",
+          # /triangleleft B: l triangle, open
+          "ltri" => "&#x025C3;",
+          # /trianglelefteq R: left triangle, eq
+          "ltrie" => "&#x022B4;",
+          # /blacktriangleleft R: =l tri, filled
+          "ltrif" => "&#x025C2;",
+          # left-up-right-down harpoon
+          "lurdshar" => "&#x0294A;",
+          # left harpoon-up over right harpoon-up
+          "luruhar" => "&#x02966;",
+          # alias ISOAMSN lvnE
+          "lvertneqq" => "&#x02268;&#x0FE00;",
+          # /lvertneqq N: less, vert, not dbl eq
+          "lvnE" => "&#x02268;&#x0FE00;",
+          # minus with four dots, geometric properties
+          "mDDot" => "&#x0223A;",
+          # =macron
+          "macr" => "&#x000AF;",
+          # =male symbol
+          "male" => "&#x02642;",
+          # /maltese =maltese cross
+          "malt" => "&#x02720;",
+          # alias ISOPUB malt
+          "maltese" => "&#x02720;",
+          # /mapsto A:
+          "map" => "&#x021A6;",
+          # alias ISOAMSA map
+          "mapsto" => "&#x021A6;",
           # downwards arrow from bar
           "mapstodown" => "&#x021A7;",
           # leftwards arrow from bar
           "mapstoleft" => "&#x021A4;",
           # upwards arrow from bar
           "mapstoup" => "&#x021A5;",
-          # space of width 4/18 em
-          "MediumSpace" => "&#x0205F;",
-          #
+          # =histogram marker
+          "marker" => "&#x025AE;",
+          # minus, comma above
+          "mcomma" => "&#x02A29;",
+          # =small em, Cyrillic
+          "mcy" => "&#x0043C;",
+          # =em dash
+          "mdash" => "&#x02014;",
+          # alias ISOAMSO angmsd
+          "measuredangle" => "&#x02221;",
+          # /frak m, lower case m
+          "mfr" => "&#x1D52A;",
+          # /mho - conductance
+          "mho" => "&#x02127;",
+          # =micro sign
+          "micro" => "&#x000B5;",
+          # /mid R:
+          "mid" => "&#x02223;",
+          # /ast B: asterisk
+          "midast" => "&#x0002A;",
+          # mid, circle below
+          "midcir" => "&#x02AF0;",
+          # /centerdot B: =middle dot
+          "middot" => "&#x000B7;",
+          # B: minus sign
+          "minus" => "&#x02212;",
+          # /boxminus B: minus sign in box
+          "minusb" => "&#x0229F;",
+          # /dotminus B: minus sign, dot above
+          "minusd" => "&#x02238;",
+          # minus sign, dot below
+          "minusdu" => "&#x02A2A;",
+          # /mlcp
+          "mlcp" => "&#x02ADB;",
+          # em leader
+          "mldr" => "&#x02026;",
+          # /mp B: minus-or-plus sign
+          "mnplus" => "&#x02213;",
+          # /models R:
+          "models" => "&#x022A7;",
           "mopf" => "&#x1D55E;",
+          # alias ISOTECH mnplus
+          "mp" => "&#x02213;",
+          # /scr m, script letter m
+          "mscr" => "&#x1D4C2;",
+          # most positive
+          "mstpos" => "&#x0223E;",
+          # /mu small mu, Greek
+          "mu" => "&#x003BC;",
+          # alias ISOAMSA mumap
+          "multimap" => "&#x022B8;",
+          # /multimap A:
+          "mumap" => "&#x022B8;",
+          # not triple greater than
+          "nGg" => "&#x022D9;&#x00338;",
+          # not, vert, much greater than
+          "nGt" => "&#x0226B;&#x020D2;",
+          # not much greater than, variant
+          "nGtv" => "&#x0226B;&#x00338;",
+          # alias ISOAMSA nlArr
+          "nLeftarrow" => "&#x021CD;",
+          # alias ISOAMSA nhArr
+          "nLeftrightarrow" => "&#x021CE;",
+          # not triple less than
+          "nLl" => "&#x022D8;&#x00338;",
+          # not, vert, much less than
+          "nLt" => "&#x0226A;&#x020D2;",
+          # not much less than, variant
+          "nLtv" => "&#x0226A;&#x00338;",
+          # alias ISOAMSA nrArr
+          "nRightarrow" => "&#x021CF;",
+          # /nVDash N: not dbl vert, dbl dash
+          "nVDash" => "&#x022AF;",
+          # /nVdash N: not dbl vertical, dash
+          "nVdash" => "&#x022AE;",
+          # /nabla del, Hamilton operator
+          "nabla" => "&#x02207;",
+          # =small n, acute accent
+          "nacute" => "&#x00144;",
+          # not, vert, angle
+          "nang" => "&#x02220;&#x020D2;",
+          # /napprox N: not approximate
+          "nap" => "&#x02249;",
+          # not approximately equal or equal to
+          "napE" => "&#x02A70;&#x00338;",
+          # not approximately identical to
+          "napid" => "&#x0224B;&#x00338;",
+          # =small n, apostrophe
+          "napos" => "&#x00149;",
+          # alias ISOAMSN nap
+          "napprox" => "&#x02249;",
+          # /natural - music natural
+          "natur" => "&#x0266E;",
+          # alias ISOPUB natur
+          "natural" => "&#x0266E;",
+          # the semi-ring of natural numbers
+          "naturals" => "&#x02115;",
+          # =no break (required) space
+          "nbsp" => "&#x000A0;",
           # not bumpy equals
           "nbump" => "&#x0224E;&#x00338;",
           # not bumpy single equals
           "nbumpe" => "&#x0224F;&#x00338;",
+          # bar, intersection
+          "ncap" => "&#x02A43;",
+          # =small n, caron
+          "ncaron" => "&#x00148;",
+          # =small n, cedilla
+          "ncedil" => "&#x00146;",
+          # /ncong N: not congruent with
+          "ncong" => "&#x02247;",
+          # not congruent, dot
+          "ncongdot" => "&#x02A6D;&#x00338;",
+          # bar, union
+          "ncup" => "&#x02A42;",
+          # =small en, Cyrillic
+          "ncy" => "&#x0043D;",
+          # =en dash
+          "ndash" => "&#x02013;",
+          # /ne /neq R: not equal
+          "ne" => "&#x02260;",
+          # NE pointing dbl arrow
+          "neArr" => "&#x021D7;",
+          # NE arrow-hooked
+          "nearhk" => "&#x02924;",
+          # /nearrow A: NE pointing arrow
+          "nearr" => "&#x02197;",
+          # alias ISOAMSA nearr
+          "nearrow" => "&#x02197;",
+          # not equal, dot
+          "nedot" => "&#x02250;&#x00338;",
+          # /nequiv N: not identical with
+          "nequiv" => "&#x02262;",
+          # /toea A: NE & SE arrows
+          "nesear" => "&#x02928;",
           # not equal or similar
           "nesim" => "&#x02242;&#x00338;",
-          # force a line break; line feed
-          "NewLine" => "&#x0000A;",
-          # never break line here
-          "NoBreak" => "&#x02060;",
-          #
+          # /nexists - negated exists
+          "nexist" => "&#x02204;",
+          # alias ISOAMSO nexist
+          "nexists" => "&#x02204;",
+          # /frak n, lower case n
+          "nfr" => "&#x1D52B;",
+          # /ngeqq N: not greater, dbl equals
+          "ngE" => "&#x02267;&#x00338;",
+          # /ngeq N: not greater-than-or-equal
+          "nge" => "&#x02271;",
+          # alias ISOAMSN nge
+          "ngeq" => "&#x02271;",
+          # alias ISOAMSN ngE
+          "ngeqq" => "&#x02267;&#x00338;",
+          # alias ISOAMSN nges
+          "ngeqslant" => "&#x02A7E;&#x00338;",
+          # /ngeqslant N: not gt-or-eq, slanted
+          "nges" => "&#x02A7E;&#x00338;",
+          # not greater, similar
+          "ngsim" => "&#x02275;",
+          # /ngtr N: not greater-than
+          "ngt" => "&#x0226F;",
+          # alias ISOAMSN ngt
+          "ngtr" => "&#x0226F;",
+          # /nLeftrightarrow A: not l&r dbl arr
+          "nhArr" => "&#x021CE;",
+          # /nleftrightarrow A: not l&r arrow
+          "nharr" => "&#x021AE;",
+          # not, horizontal, parallel
+          "nhpar" => "&#x02AF2;",
+          # /ni /owns R: contains
+          "ni" => "&#x0220B;",
+          # contains, vertical bar on horizontal stroke
+          "nis" => "&#x022FC;",
+          # contains, long horizontal stroke
+          "nisd" => "&#x022FA;",
+          # contains, variant
+          "niv" => "&#x0220B;",
+          # =small nje, Serbian
+          "njcy" => "&#x0045A;",
+          # /nLeftarrow A: not implied by
+          "nlArr" => "&#x021CD;",
+          # /nleqq N: not less, dbl equals
+          "nlE" => "&#x02266;&#x00338;",
+          # /nleftarrow A: not left arrow
+          "nlarr" => "&#x0219A;",
+          # =double baseline dot (en leader)
+          "nldr" => "&#x02025;",
+          # /nleq N: not less-than-or-equal
+          "nle" => "&#x02270;",
+          # alias ISOAMSA nlarr
+          "nleftarrow" => "&#x0219A;",
+          # alias ISOAMSA nharr
+          "nleftrightarrow" => "&#x021AE;",
+          # alias ISOAMSN nle
+          "nleq" => "&#x02270;",
+          # alias ISOAMSN nlE
+          "nleqq" => "&#x02266;&#x00338;",
+          # alias ISOAMSN nles
+          "nleqslant" => "&#x02A7D;&#x00338;",
+          # /nleqslant N: not less-or-eq, slant
+          "nles" => "&#x02A7D;&#x00338;",
+          # alias ISOAMSN nlt
+          "nless" => "&#x0226E;",
+          # not less, similar
+          "nlsim" => "&#x02274;",
+          # /nless N: not less-than
+          "nlt" => "&#x0226E;",
+          # /ntriangleleft N: not left triangle
+          "nltri" => "&#x022EA;",
+          # /ntrianglelefteq N: not l tri, eq
+          "nltrie" => "&#x022EC;",
+          # /nmid
+          "nmid" => "&#x02224;",
           "nopf" => "&#x1D55F;",
-          # alias for &nasymp;
-          "NotCupCap" => "&#x0226D;",
-          # alias for ≏̸
-          "NotHumpEqual" => "&#x0224F;&#x00338;",
-          # not left triangle, vertical bar
-          "NotLeftTriangleBar" => "&#x029CF;&#x00338;",
-          # not double greater-than sign
-          "NotNestedGreaterGreater" => "&#x02AA2;&#x00338;",
-          # not double less-than sign
-          "NotNestedLessLess" => "&#x02AA1;&#x00338;",
-          # not vertical bar, right triangle
-          "NotRightTriangleBar" => "&#x029D0;&#x00338;",
-          # square not subset
-          "NotSquareSubset" => "&#x0228F;&#x00338;",
-          # negated set-like partial order operator
-          "NotSquareSuperset" => "&#x02290;&#x00338;",
-          # not succeeds or similar
-          "NotSucceedsTilde" => "&#x0227F;&#x00338;",
-          #
+          # /neg /lnot =not sign
+          "not" => "&#x000AC;",
+          # /notin N: negated set membership
+          "notin" => "&#x02209;",
+          # negated set membership, two horizontal strokes
+          "notinE" => "&#x022F9;&#x00338;",
+          # negated set membership, dot above
+          "notindot" => "&#x022F5;&#x00338;",
+          # negated set membership, variant
+          "notinva" => "&#x02209;",
+          # negated set membership, variant
+          "notinvb" => "&#x022F7;",
+          # negated set membership, variant
+          "notinvc" => "&#x022F6;",
+          # negated contains
+          "notni" => "&#x0220C;",
+          # negated contains, variant
+          "notniva" => "&#x0220C;",
+          # contains, variant
+          "notnivb" => "&#x022FE;",
+          # contains, variant
+          "notnivc" => "&#x022FD;",
+          # /nparallel N: not parallel
+          "npar" => "&#x02226;",
+          # alias ISOAMSN npar
+          "nparallel" => "&#x02226;",
+          # not parallel, slanted
+          "nparsl" => "&#x02AFD;&#x020E5;",
+          # not partial differential
+          "npart" => "&#x02202;&#x00338;",
+          # line integration, not including the pole
+          "npolint" => "&#x02A14;",
+          # /nprec N: not precedes
+          "npr" => "&#x02280;",
+          # not curly precedes, eq
+          "nprcue" => "&#x022E0;",
+          # /npreceq N: not precedes, equals
+          "npre" => "&#x02AAF;&#x00338;",
+          # alias ISOAMSN npr
+          "nprec" => "&#x02280;",
+          # alias ISOAMSN npre
+          "npreceq" => "&#x02AAF;&#x00338;",
+          # /nRightarrow A: not implies
+          "nrArr" => "&#x021CF;",
+          # /nrightarrow A: not right arrow
+          "nrarr" => "&#x0219B;",
+          # not right arrow-curved
+          "nrarrc" => "&#x02933;&#x00338;",
+          # not right arrow-wavy
+          "nrarrw" => "&#x0219D;&#x00338;",
+          # alias ISOAMSA nrarr
+          "nrightarrow" => "&#x0219B;",
+          # /ntriangleright N: not rt triangle
+          "nrtri" => "&#x022EB;",
+          # /ntrianglerighteq N: not r tri, eq
+          "nrtrie" => "&#x022ED;",
+          # /nsucc N: not succeeds
+          "nsc" => "&#x02281;",
+          # not succeeds, curly eq
+          "nsccue" => "&#x022E1;",
+          # /nsucceq N: not succeeds, equals
+          "nsce" => "&#x02AB0;&#x00338;",
+          # /scr n, script letter n
+          "nscr" => "&#x1D4C3;",
+          # alias ISOAMSN nsmid
+          "nshortmid" => "&#x02224;",
+          # alias ISOAMSN nspar
+          "nshortparallel" => "&#x02226;",
+          # /nsim N: not similar
+          "nsim" => "&#x02241;",
+          # /nsimeq N: not similar, equals
+          "nsime" => "&#x02244;",
+          # alias ISOAMSN nsime
+          "nsimeq" => "&#x02244;",
+          # /nshortmid
+          "nsmid" => "&#x02224;",
+          # /nshortparallel N: not short par
+          "nspar" => "&#x02226;",
+          # not, square subset, equals
+          "nsqsube" => "&#x022E2;",
+          # not, square superset, equals
+          "nsqsupe" => "&#x022E3;",
+          # not subset
+          "nsub" => "&#x02284;",
+          # /nsubseteqq N: not subset, dbl eq
+          "nsubE" => "&#x02AC5;&#x00338;",
+          # /nsubseteq N: not subset, equals
+          "nsube" => "&#x02288;",
+          # alias ISOAMSN vnsub
+          "nsubset" => "&#x02282;&#x020D2;",
+          # alias ISOAMSN nsube
+          "nsubseteq" => "&#x02288;",
+          # alias ISOAMSN nsubE
+          "nsubseteqq" => "&#x02AC5;&#x00338;",
+          # alias ISOAMSN nsc
+          "nsucc" => "&#x02281;",
+          # alias ISOAMSN nsce
+          "nsucceq" => "&#x02AB0;&#x00338;",
+          # not superset
+          "nsup" => "&#x02285;",
+          # /nsupseteqq N: not superset, dbl eq
+          "nsupE" => "&#x02AC6;&#x00338;",
+          # /nsupseteq N: not superset, equals
+          "nsupe" => "&#x02289;",
+          # alias ISOAMSN vnsup
+          "nsupset" => "&#x02283;&#x020D2;",
+          # alias ISOAMSN nsupe
+          "nsupseteq" => "&#x02289;",
+          # alias ISOAMSN nsupE
+          "nsupseteqq" => "&#x02AC6;&#x00338;",
+          # not greater, less
+          "ntgl" => "&#x02279;",
+          # =small n, tilde
+          "ntilde" => "&#x000F1;",
+          # not less, greater
+          "ntlg" => "&#x02278;",
+          # alias ISOAMSN nltri
+          "ntriangleleft" => "&#x022EA;",
+          # alias ISOAMSN nltrie
+          "ntrianglelefteq" => "&#x022EC;",
+          # alias ISOAMSN nrtri
+          "ntriangleright" => "&#x022EB;",
+          # alias ISOAMSN nrtrie
+          "ntrianglerighteq" => "&#x022ED;",
+          # /nu small nu, Greek
+          "nu" => "&#x003BD;",
+          # =number sign
+          "num" => "&#x00023;",
+          # =numero sign
+          "numero" => "&#x02116;",
+          # =digit space (width of a number)
+          "numsp" => "&#x02007;",
+          # /nvDash N: not vertical, dbl dash
+          "nvDash" => "&#x022AD;",
+          # not, vert, left and right double arrow
+          "nvHarr" => "&#x02904;",
+          # not, vert, approximate
+          "nvap" => "&#x0224D;&#x020D2;",
+          # /nvdash N: not vertical, dash
+          "nvdash" => "&#x022AC;",
+          # not, vert, greater-than-or-equal
+          "nvge" => "&#x02265;&#x020D2;",
+          # not, vert, greater-than
+          "nvgt" => "&#x0003E;&#x020D2;",
+          # not, vert, infinity
+          "nvinfin" => "&#x029DE;",
+          # not, vert, left double arrow
+          "nvlArr" => "&#x02902;",
+          # not, vert, less-than-or-equal
+          "nvle" => "&#x02264;&#x020D2;",
+          # not, vert, less-than
+          "nvlt" => "&#x0003C;&#x020D2;",
+          # not, vert, left triangle, equals
+          "nvltrie" => "&#x022B4;&#x020D2;",
+          # not, vert, right double arrow
+          "nvrArr" => "&#x02903;",
+          # not, vert, right triangle, equals
+          "nvrtrie" => "&#x022B5;&#x020D2;",
+          # not, vert, similar
+          "nvsim" => "&#x0223C;&#x020D2;",
+          # NW pointing dbl arrow
+          "nwArr" => "&#x021D6;",
+          # NW arrow-hooked
+          "nwarhk" => "&#x02923;",
+          # /nwarrow A: NW pointing arrow
+          "nwarr" => "&#x02196;",
+          # alias ISOAMSA nwarr
+          "nwarrow" => "&#x02196;",
+          # NW & NE arrows
+          "nwnear" => "&#x02927;",
+          # /circledS - capital S in circle
+          "oS" => "&#x024C8;",
+          # =small o, acute accent
+          "oacute" => "&#x000F3;",
+          # /circledast B: asterisk in circle
+          "oast" => "&#x0229B;",
+          # /circledcirc B: small circle in circle
+          "ocir" => "&#x0229A;",
+          # =small o, circumflex accent
+          "ocirc" => "&#x000F4;",
+          # =small o, Cyrillic
+          "ocy" => "&#x0043E;",
+          # /circleddash B: hyphen in circle
+          "odash" => "&#x0229D;",
+          # =small o, double acute accent
+          "odblac" => "&#x00151;",
+          # divide in circle
+          "odiv" => "&#x02A38;",
+          # /odot B: middle dot in circle
+          "odot" => "&#x02299;",
+          # dot, solidus, dot in circle
+          "odsold" => "&#x029BC;",
+          # =small oe ligature
+          "oelig" => "&#x00153;",
+          # filled circle in circle
+          "ofcir" => "&#x029BF;",
+          # /frak o, lower case o
+          "ofr" => "&#x1D52C;",
+          # =ogonek
+          "ogon" => "&#x002DB;",
+          # =small o, grave accent
+          "ograve" => "&#x000F2;",
+          # greater-than in circle
+          "ogt" => "&#x029C1;",
+          # circle with horizontal bar
+          "ohbar" => "&#x029B5;",
+          # =ohm sign
+          "ohm" => "&#x02126;",
+          # alias ISOTECH conint
+          "oint" => "&#x0222E;",
+          # /circlearrowleft A: l arr in circle
+          "olarr" => "&#x021BA;",
+          # large circle in circle
+          "olcir" => "&#x029BE;",
+          # circle, cross
+          "olcross" => "&#x029BB;",
+          # less-than in circle
+          "olt" => "&#x029C0;",
+          # =small o, macron
+          "omacr" => "&#x0014D;",
+          # /omega small omega, Greek
+          "omega" => "&#x003C9;",
+          # vertical bar in circle
+          "omid" => "&#x029B6;",
+          # /ominus B: minus sign in circle
+          "ominus" => "&#x02296;",
           "oopf" => "&#x1D560;",
-          # over bar
-          "OverBar" => "&#x000AF;",
-          # over brace
-          "OverBrace" => "&#x0FE37;",
-          # over bracket
-          "OverBracket" => "&#x023B4;",
-          # over parenthesis
-          "OverParenthesis" => "&#x0FE35;",
+          # parallel in circle
+          "opar" => "&#x029B7;",
+          # perpendicular in circle
+          "operp" => "&#x029B9;",
+          # /oplus B: plus sign in circle
+          "oplus" => "&#x02295;",
+          # /vee /lor B: logical or
+          "or" => "&#x02228;",
+          # /circlearrowright A: r arr in circle
+          "orarr" => "&#x021BB;",
+          # or, horizontal dash
+          "ord" => "&#x02A5D;",
+          # order of (script small o)
+          "order" => "&#x02134;",
+          # alias ISOTECH order
+          "orderof" => "&#x02134;",
+          # =ordinal indicator, feminine
+          "ordf" => "&#x000AA;",
+          # =ordinal indicator, masculine
+          "ordm" => "&#x000BA;",
+          # original of
+          "origof" => "&#x022B6;",
+          # two logical or
+          "oror" => "&#x02A56;",
+          # sloping large or
+          "orslope" => "&#x02A57;",
+          # or with middle stem
+          "orv" => "&#x02A5B;",
+          # /scr o, script letter o
+          "oscr" => "&#x02134;",
+          # latin small letter o with stroke
+          "oslash" => "&#x000F8;",
+          # /oslash B: solidus in circle
+          "osol" => "&#x02298;",
+          # =small o, tilde
+          "otilde" => "&#x000F5;",
+          # /otimes B: multiply sign in circle
+          "otimes" => "&#x02297;",
+          # multiply sign in circle, circumflex accent
+          "otimesas" => "&#x02A36;",
+          # =small o, dieresis or umlaut mark
+          "ouml" => "&#x000F6;",
+          # circle with vertical bar
+          "ovbar" => "&#x0233D;",
+          # /parallel R: parallel
+          "par" => "&#x02225;",
+          # =pilcrow (paragraph sign)
+          "para" => "&#x000B6;",
+          # alias ISOTECH par
+          "parallel" => "&#x02225;",
+          # parallel, similar
+          "parsim" => "&#x02AF3;",
+          # parallel, slanted
+          "parsl" => "&#x02AFD;",
+          # /partial partial differential
+          "part" => "&#x02202;",
+          # =small pe, Cyrillic
+          "pcy" => "&#x0043F;",
+          # =percent sign
+          "percnt" => "&#x00025;",
+          # =full stop, period
+          "period" => "&#x0002E;",
+          # per thousand
+          "permil" => "&#x02030;",
+          # /perp R: perpendicular
+          "perp" => "&#x022A5;",
+          # per 10 thousand
+          "pertenk" => "&#x02031;",
+          # /frak p, lower case p
+          "pfr" => "&#x1D52D;",
+          # /straightphi - small phi, Greek
+          "phi" => "&#x003D5;",
+          # /varphi - curly or open phi
+          "phiv" => "&#x003C6;",
+          # physics M-matrix (script capital M)
+          "phmmat" => "&#x02133;",
+          # =telephone symbol
+          "phone" => "&#x0260E;",
+          # /pi small pi, Greek
+          "pi" => "&#x003C0;",
+          # alias ISOAMSR fork
+          "pitchfork" => "&#x022D4;",
+          # /varpi
+          "piv" => "&#x003D6;",
+          # /hbar - Planck's over 2pi
+          "planck" => "&#x0210F;",
           # the ring (skew field) of quaternions
           "planckh" => "&#x0210E;",
-          #
+          # /hslash - variant Planck's over 2pi
+          "plankv" => "&#x0210F;",
+          # =plus sign B:
+          "plus" => "&#x0002B;",
+          # plus, circumflex accent above
+          "plusacir" => "&#x02A23;",
+          # /boxplus B: plus sign in box
+          "plusb" => "&#x0229E;",
+          # plus, small circle above
+          "pluscir" => "&#x02A22;",
+          # /dotplus B: plus sign, dot above
+          "plusdo" => "&#x02214;",
+          # plus sign, dot below
+          "plusdu" => "&#x02A25;",
+          # plus, equals
+          "pluse" => "&#x02A72;",
+          # /pm B: =plus-or-minus sign
+          "plusmn" => "&#x000B1;",
+          # plus, similar below
+          "plussim" => "&#x02A26;",
+          # plus, two; Nim-addition
+          "plustwo" => "&#x02A27;",
+          # alias ISONUM plusmn
+          "pm" => "&#x000B1;",
+          # integral around a point operator
+          "pointint" => "&#x02A15;",
           "popf" => "&#x1D561;",
-          # alias for ∏
-          "Product" => "&#x0220F;",
-          #
+          # =pound sign
+          "pound" => "&#x000A3;",
+          # /prec R: precedes
+          "pr" => "&#x0227A;",
+          # precedes, dbl equals
+          "prE" => "&#x02AB3;",
+          # /precapprox R: precedes, approximate
+          "prap" => "&#x02AB7;",
+          # /preccurlyeq R: precedes, curly eq
+          "prcue" => "&#x0227C;",
+          # /preceq R: precedes, equals
+          "pre" => "&#x02AAF;",
+          # alias ISOAMSR pr
+          "prec" => "&#x0227A;",
+          # alias ISOAMSR prap
+          "precapprox" => "&#x02AB7;",
+          # alias ISOAMSR prcue
+          "preccurlyeq" => "&#x0227C;",
+          # alias ISOAMSR pre
+          "preceq" => "&#x02AAF;",
+          # alias ISOAMSN prnap
+          "precnapprox" => "&#x02AB9;",
+          # alias ISOAMSN prnE
+          "precneqq" => "&#x02AB5;",
+          # alias ISOAMSN prnsim
+          "precnsim" => "&#x022E8;",
+          # alias ISOAMSR prsim
+          "precsim" => "&#x0227E;",
+          # /prime prime or minute
+          "prime" => "&#x02032;",
+          # the prime natural numbers
+          "primes" => "&#x02119;",
+          # /precneqq N: precedes, not dbl eq
+          "prnE" => "&#x02AB5;",
+          # /precnapprox N: precedes, not approx
+          "prnap" => "&#x02AB9;",
+          # /precnsim N: precedes, not similar
+          "prnsim" => "&#x022E8;",
+          # /prod L: product operator
+          "prod" => "&#x0220F;",
+          # all-around profile
+          "profalar" => "&#x0232E;",
+          # profile of a line
+          "profline" => "&#x02312;",
+          # profile of a surface
+          "profsurf" => "&#x02313;",
+          # /propto R: is proportional to
+          "prop" => "&#x0221D;",
+          # alias ISOTECH prop
+          "propto" => "&#x0221D;",
+          # /precsim R: precedes, similar
+          "prsim" => "&#x0227E;",
+          # element precedes under relation
+          "prurel" => "&#x022B0;",
+          # /scr p, script letter p
+          "pscr" => "&#x1D4C5;",
+          # /psi small psi, Greek
+          "psi" => "&#x003C8;",
+          # =punctuation space (width of comma)
+          "puncsp" => "&#x02008;",
+          # /frak q, lower case q
+          "qfr" => "&#x1D52E;",
+          # /iiiint quadruple integral operator
+          "qint" => "&#x02A0C;",
           "qopf" => "&#x1D562;",
+          # quadruple prime
+          "qprime" => "&#x02057;",
+          # /scr q, script letter q
+          "qscr" => "&#x1D4C6;",
+          # the ring (skew field) of quaternions
+          "quaternions" => "&#x0210D;",
+          # quaternion integral operator
+          "quatint" => "&#x02A16;",
+          # =question mark
+          "quest" => "&#x0003F;",
+          # alias ISOAMSR equest
+          "questeq" => "&#x0225F;",
+          # =quotation mark
+          "quot" => "&#x00022;",
+          # /Rrightarrow A: right triple arrow
+          "rAarr" => "&#x021DB;",
+          # /Rightarrow A: implies
+          "rArr" => "&#x021D2;",
+          # right double arrow-tail
+          "rAtail" => "&#x0291C;",
+          # /dbkarow A: right doubly broken arrow
+          "rBarr" => "&#x0290F;",
+          # right harpoon-up over right harpoon-down
+          "rHar" => "&#x02964;",
+          # reverse most positive, line below
+          "race" => "&#x029DA;",
+          # =small r, acute accent
+          "racute" => "&#x00155;",
+          # /surd radical
+          "radic" => "&#x0221A;",
+          # circle, slash, right arrow above
+          "raemptyv" => "&#x029B3;",
+          # /rangle C: right angle bracket
+          "rang" => "&#x0232A;",
+          # right angle, dot
+          "rangd" => "&#x02992;",
+          # reverse angle, equal
+          "range" => "&#x029A5;",
+          # alias ISOTECH rang
+          "rangle" => "&#x0232A;",
+          # =angle quotation mark, right
+          "raquo" => "&#x000BB;",
+          # /rightarrow /to A: =rightward arrow
+          "rarr" => "&#x02192;",
+          # approximate, right arrow above
+          "rarrap" => "&#x02975;",
           # leftwards arrow to bar
           "rarrb" => "&#x021E5;",
-          # down-right harpoon from bar
-          "RightDownTeeVector" => "&#x0295D;",
-          # down-right harpoon to bar
-          "RightDownVectorBar" => "&#x02955;",
-          # right-up harpoon from bar
-          "RightTeeVector" => "&#x0295B;",
-          # vertical bar, right triangle
-          "RightTriangleBar" => "&#x029D0;",
-          # up-right-down-right harpoon
-          "RightUpDownVector" => "&#x0294F;",
-          # up-right harpoon from bar
-          "RightUpTeeVector" => "&#x0295C;",
-          # up-right harpoon to bar
-          "RightUpVectorBar" => "&#x02954;",
-          # up-right harpoon to bar
-          "RightVectorBar" => "&#x02953;",
-          #
+          # right arrow-bar, filled square
+          "rarrbfs" => "&#x02920;",
+          # right arrow-curved
+          "rarrc" => "&#x02933;",
+          # right arrow, filled square
+          "rarrfs" => "&#x0291E;",
+          # /hookrightarrow A: rt arrow-hooked
+          "rarrhk" => "&#x021AA;",
+          # /looparrowright A: rt arrow-looped
+          "rarrlp" => "&#x021AC;",
+          # right arrow, plus
+          "rarrpl" => "&#x02945;",
+          # right arrow, similar
+          "rarrsim" => "&#x02974;",
+          # /rightarrowtail A: rt arrow-tailed
+          "rarrtl" => "&#x021A3;",
+          # /rightsquigarrow A: rt arrow-wavy
+          "rarrw" => "&#x0219D;",
+          # right arrow-tail
+          "ratail" => "&#x0291A;",
+          # /ratio
+          "ratio" => "&#x02236;",
+          # the field of rational numbers
+          "rationals" => "&#x0211A;",
+          # /bkarow A: right broken arrow
+          "rbarr" => "&#x0290D;",
+          # right broken bracket
+          "rbbrk" => "&#x03015;",
+          # alias ISONUM rcub
+          "rbrace" => "&#x0007D;",
+          # alias ISONUM rsqb
+          "rbrack" => "&#x0005D;",
+          # right bracket, equal
+          "rbrke" => "&#x0298C;",
+          # right bracket, solidus bottom corner
+          "rbrksld" => "&#x0298E;",
+          # right bracket, solidus top corner
+          "rbrkslu" => "&#x02990;",
+          # =small r, caron
+          "rcaron" => "&#x00159;",
+          # =small r, cedilla
+          "rcedil" => "&#x00157;",
+          # /rceil C: right ceiling
+          "rceil" => "&#x02309;",
+          # /rbrace C: =right curly bracket
+          "rcub" => "&#x0007D;",
+          # =small er, Cyrillic
+          "rcy" => "&#x00440;",
+          # right down curved arrow
+          "rdca" => "&#x02937;",
+          # right harpoon-down over left harpoon-down
+          "rdldhar" => "&#x02969;",
+          # =double quotation mark, right
+          "rdquo" => "&#x0201D;",
+          # rising dbl quote, right (high)
+          "rdquor" => "&#x0201D;",
+          # right down angled arrow
+          "rdsh" => "&#x021B3;",
+          # /Re - real
+          "real" => "&#x0211C;",
+          # the geometric real line
+          "realine" => "&#x0211B;",
+          # alias ISOAMSO real
+          "realpart" => "&#x0211C;",
+          # the field of real numbers
+          "reals" => "&#x0211D;",
+          # =rectangle, open
+          "rect" => "&#x025AD;",
+          # /circledR =registered sign
+          "reg" => "&#x000AE;",
+          # right fish tail
+          "rfisht" => "&#x0297D;",
+          # /rfloor C: right floor
+          "rfloor" => "&#x0230B;",
+          # /frak r, lower case r
+          "rfr" => "&#x1D52F;",
+          # /rightharpoondown A: rt harpoon-down
+          "rhard" => "&#x021C1;",
+          # /rightharpoonup A: rt harpoon-up
+          "rharu" => "&#x021C0;",
+          # right harpoon-up over long dash
+          "rharul" => "&#x0296C;",
+          # /rho small rho, Greek
+          "rho" => "&#x003C1;",
+          # /varrho
+          "rhov" => "&#x003F1;",
+          # alias ISONUM rarr
+          "rightarrow" => "&#x02192;",
+          # alias ISOAMSA rarrtl
+          "rightarrowtail" => "&#x021A3;",
+          # alias ISOAMSA rhard
+          "rightharpoondown" => "&#x021C1;",
+          # alias ISOAMSA rharu
+          "rightharpoonup" => "&#x021C0;",
+          # alias ISOAMSA rlarr
+          "rightleftarrows" => "&#x021C4;",
+          # alias ISOAMSA rlhar
+          "rightleftharpoons" => "&#x021CC;",
+          # alias ISOAMSA rrarr
+          "rightrightarrows" => "&#x021C9;",
+          # alias ISOAMSA rarrw
+          "rightsquigarrow" => "&#x0219D;",
+          # alias ISOAMSB rthree
+          "rightthreetimes" => "&#x022CC;",
+          # =ring
+          "ring" => "&#x002DA;",
+          # alias ISOAMSR erDot
+          "risingdotseq" => "&#x02253;",
+          # /rightleftarrows A: r arr over l arr
+          "rlarr" => "&#x021C4;",
+          # /rightleftharpoons A: r harp over l
+          "rlhar" => "&#x021CC;",
+          # /rmoustache
+          "rmoust" => "&#x023B1;",
+          # alias ISOAMSC rmoust
+          "rmoustache" => "&#x023B1;",
+          # reverse /nmid
+          "rnmid" => "&#x02AEE;",
+          # right open angular bracket
+          "roang" => "&#x03019;",
+          # right open arrow
+          "roarr" => "&#x021FE;",
+          # right open bracket
+          "robrk" => "&#x0301B;",
+          # right open parenthesis
+          "ropar" => "&#x02986;",
           "ropf" => "&#x1D563;",
-          # round implies
-          "RoundImplies" => "&#x02970;",
-          # rule-delayed (colon right arrow)
-          "RuleDelayed" => "&#x029F4;",
-          #
+          # plus sign in right half circle
+          "roplus" => "&#x02A2E;",
+          # multiply sign in right half circle
+          "rotimes" => "&#x02A35;",
+          # C: =right parenthesis
+          "rpar" => "&#x00029;",
+          # C: right paren, gt
+          "rpargt" => "&#x02994;",
+          # line integration, rectangular path around pole
+          "rppolint" => "&#x02A12;",
+          # /rightrightarrows A: two rt arrows
+          "rrarr" => "&#x021C9;",
+          # /scr r, script letter r
+          "rscr" => "&#x1D4C7;",
+          # /Rsh A:
+          "rsh" => "&#x021B1;",
+          # /rbrack C: =right square bracket
+          "rsqb" => "&#x0005D;",
+          # =single quotation mark, right
+          "rsquo" => "&#x02019;",
+          # rising single quote, right (high)
+          "rsquor" => "&#x02019;",
+          # /rightthreetimes B:
+          "rthree" => "&#x022CC;",
+          # /rtimes B: times sign, right closed
+          "rtimes" => "&#x022CA;",
+          # /triangleright B: r triangle, open
+          "rtri" => "&#x025B9;",
+          # /trianglerighteq R: right tri, eq
+          "rtrie" => "&#x022B5;",
+          # /blacktriangleright R: =r tri, filled
+          "rtrif" => "&#x025B8;",
+          # right triangle above left triangle
+          "rtriltri" => "&#x029CE;",
+          # right harpoon-up over left harpoon-up
+          "ruluhar" => "&#x02968;",
+          # pharmaceutical prescription (Rx)
+          "rx" => "&#x0211E;",
+          # =small s, acute accent
+          "sacute" => "&#x0015B;",
+          # /succ R: succeeds
+          "sc" => "&#x0227B;",
+          # succeeds, dbl equals
+          "scE" => "&#x02AB4;",
+          # /succapprox R: succeeds, approximate
+          "scap" => "&#x02AB8;",
+          # =small s, caron
+          "scaron" => "&#x00161;",
+          # /succcurlyeq R: succeeds, curly eq
+          "sccue" => "&#x0227D;",
+          # /succeq R: succeeds, equals
+          "sce" => "&#x02AB0;",
+          # =small s, cedilla
+          "scedil" => "&#x0015F;",
+          # =small s, circumflex accent
+          "scirc" => "&#x0015D;",
+          # /succneqq N: succeeds, not dbl eq
+          "scnE" => "&#x02AB6;",
+          # /succnapprox N: succeeds, not approx
+          "scnap" => "&#x02ABA;",
+          # /succnsim N: succeeds, not similar
+          "scnsim" => "&#x022E9;",
+          # line integration, semi-circular path around pole
+          "scpolint" => "&#x02A13;",
+          # /succsim R: succeeds, similar
+          "scsim" => "&#x0227F;",
+          # =small es, Cyrillic
+          "scy" => "&#x00441;",
+          # /cdot B: small middle dot
+          "sdot" => "&#x022C5;",
+          # /dotsquare /boxdot B: small dot in box
+          "sdotb" => "&#x022A1;",
+          # equal, dot below
+          "sdote" => "&#x02A66;",
+          # SE pointing dbl arrow
+          "seArr" => "&#x021D8;",
+          # /hksearow A: SE arrow-hooken
+          "searhk" => "&#x02925;",
+          # /searrow A: SE pointing arrow
+          "searr" => "&#x02198;",
+          # alias ISOAMSA searr
+          "searrow" => "&#x02198;",
+          # =section sign
+          "sect" => "&#x000A7;",
+          # =semicolon P:
+          "semi" => "&#x0003B;",
+          # /tosa A: SE & SW arrows
+          "seswar" => "&#x02929;",
+          # alias ISOAMSB setmn
+          "setminus" => "&#x02216;",
+          # /setminus B: reverse solidus
+          "setmn" => "&#x02216;",
+          # sextile (6-pointed star)
+          "sext" => "&#x02736;",
+          # /frak s, lower case s
+          "sfr" => "&#x1D530;",
+          # /smallfrown R: small down curve
+          "sfrown" => "&#x02322;",
+          # /sharp =musical sharp
+          "sharp" => "&#x0266F;",
+          # =small shcha, Cyrillic
+          "shchcy" => "&#x00449;",
+          # =small sha, Cyrillic
+          "shcy" => "&#x00448;",
+          # alias ISOAMSR smid
+          "shortmid" => "&#x02223;",
+          # alias ISOAMSR spar
+          "shortparallel" => "&#x02225;",
+          # =soft hyphen
+          "shy" => "&#x000AD;",
+          # /sigma small sigma, Greek
+          "sigma" => "&#x003C3;",
+          # /varsigma
+          "sigmav" => "&#x003C2;",
+          # /sim R: similar
+          "sim" => "&#x0223C;",
+          # similar, dot
+          "simdot" => "&#x02A6A;",
+          # /simeq R: similar, equals
+          "sime" => "&#x02243;",
+          # alias ISOTECH sime
+          "simeq" => "&#x02243;",
+          # similar, greater
+          "simg" => "&#x02A9E;",
+          # similar, greater, equal
+          "simgE" => "&#x02AA0;",
+          # similar, less
+          "siml" => "&#x02A9D;",
+          # similar, less, equal
+          "simlE" => "&#x02A9F;",
+          # similar, not equals
+          "simne" => "&#x02246;",
+          # plus, similar above
+          "simplus" => "&#x02A24;",
+          # similar, right arrow below
+          "simrarr" => "&#x02972;",
+          # short left arrow
+          "slarr" => "&#x02190;",
+          # alias ISOAMSB ssetmn
+          "smallsetminus" => "&#x02216;",
+          # smash product
+          "smashp" => "&#x02A33;",
+          # similar, parallel, slanted, equal
+          "smeparsl" => "&#x029E4;",
+          # /shortmid R:
+          "smid" => "&#x02223;",
+          # /smile R: up curve
+          "smile" => "&#x02323;",
+          # smaller than
+          "smt" => "&#x02AAA;",
+          # smaller than or equal
+          "smte" => "&#x02AAC;",
+          # smaller than or equal, slanted
+          "smtes" => "&#x02AAC;&#x0FE00;",
+          # =small soft sign, Cyrillic
+          "softcy" => "&#x0044C;",
+          # =solidus
+          "sol" => "&#x0002F;",
+          # solidus in square
+          "solb" => "&#x029C4;",
+          # solidus, bar through
+          "solbar" => "&#x0233F;",
           "sopf" => "&#x1D564;",
-          # tabulator stop; horizontal tabulation
-          "Tab" => "&#x00009;",
-          # space of width 5/18 em
-          "ThickSpace" => "&#x02009;&#x0200A;&#x0200A;",
-          #
+          # /spadesuit =spades suit symbol
+          "spades" => "&#x02660;",
+          # ISOPUB    spades
+          "spadesuit" => "&#x02660;",
+          # /shortparallel R: short parallel
+          "spar" => "&#x02225;",
+          # /sqcap B: square intersection
+          "sqcap" => "&#x02293;",
+          # square intersection, serifs
+          "sqcaps" => "&#x02293;&#x0FE00;",
+          # /sqcup B: square union
+          "sqcup" => "&#x02294;",
+          # square union, serifs
+          "sqcups" => "&#x02294;&#x0FE00;",
+          # /sqsubset R: square subset
+          "sqsub" => "&#x0228F;",
+          # /sqsubseteq R: square subset, equals
+          "sqsube" => "&#x02291;",
+          # alias ISOAMSR sqsub
+          "sqsubset" => "&#x0228F;",
+          # alias ISOAMSR sqsube
+          "sqsubseteq" => "&#x02291;",
+          # /sqsupset R: square superset
+          "sqsup" => "&#x02290;",
+          # /sqsupseteq R: square superset, eq
+          "sqsupe" => "&#x02292;",
+          # alias ISOAMSR sqsup
+          "sqsupset" => "&#x02290;",
+          # alias ISOAMSR sqsupe
+          "sqsupseteq" => "&#x02292;",
+          # =square, open
+          "squ" => "&#x025A1;",
+          # /square, square
+          "square" => "&#x025A1;",
+          # /blacksquare, square, filled
+          "squarf" => "&#x025AA;",
+          # /blacksquare =sq bullet, filled
+          "squf" => "&#x025AA;",
+          # short right arrow
+          "srarr" => "&#x02192;",
+          # /scr s, script letter s
+          "sscr" => "&#x1D4C8;",
+          # /smallsetminus B: sm reverse solidus
+          "ssetmn" => "&#x02216;",
+          # /smallsmile R: small up curve
+          "ssmile" => "&#x02323;",
+          # /star B: small star, filled
+          "sstarf" => "&#x022C6;",
+          # =star, open
+          "star" => "&#x02606;",
+          # /bigstar - star, filled
+          "starf" => "&#x02605;",
+          # alias ISOGRK3 epsi
+          "straightepsilon" => "&#x003F5;",
+          # alias ISOGRK3 phi
+          "straightphi" => "&#x003D5;",
+          # straightness
+          "strns" => "&#x000AF;",
+          # /subset R: subset or is implied by
+          "sub" => "&#x02282;",
+          # /subseteqq R: subset, dbl equals
+          "subE" => "&#x02AC5;",
+          # subset, with dot
+          "subdot" => "&#x02ABD;",
+          # /subseteq R: subset, equals
+          "sube" => "&#x02286;",
+          # subset, equals, dot
+          "subedot" => "&#x02AC3;",
+          # subset, multiply
+          "submult" => "&#x02AC1;",
+          # /subsetneqq N: subset, not dbl eq
+          "subnE" => "&#x02ACB;",
+          # /subsetneq N: subset, not equals
+          "subne" => "&#x0228A;",
+          # subset, plus
+          "subplus" => "&#x02ABF;",
+          # subset, right arrow
+          "subrarr" => "&#x02979;",
+          # alias ISOTECH sub
+          "subset" => "&#x02282;",
+          # alias ISOTECH sube
+          "subseteq" => "&#x02286;",
+          # alias ISOAMSR subE
+          "subseteqq" => "&#x02AC5;",
+          # alias ISOAMSN subne
+          "subsetneq" => "&#x0228A;",
+          # alias ISOAMSN subnE
+          "subsetneqq" => "&#x02ACB;",
+          # subset, similar
+          "subsim" => "&#x02AC7;",
+          # subset above subset
+          "subsub" => "&#x02AD5;",
+          # subset above superset
+          "subsup" => "&#x02AD3;",
+          # alias ISOAMSR sc
+          "succ" => "&#x0227B;",
+          # alias ISOAMSR scap
+          "succapprox" => "&#x02AB8;",
+          # alias ISOAMSR sccue
+          "succcurlyeq" => "&#x0227D;",
+          # alias ISOAMSR sce
+          "succeq" => "&#x02AB0;",
+          # alias ISOAMSN scnap
+          "succnapprox" => "&#x02ABA;",
+          # alias ISOAMSN scnE
+          "succneqq" => "&#x02AB6;",
+          # alias ISOAMSN scnsim
+          "succnsim" => "&#x022E9;",
+          # alias ISOAMSR scsim
+          "succsim" => "&#x0227F;",
+          # /sum L: summation operator
+          "sum" => "&#x02211;",
+          # =music note (sung text sign)
+          "sung" => "&#x0266A;",
+          # /supset R: superset or implies
+          "sup" => "&#x02283;",
+          # =superscript one
+          "sup1" => "&#x000B9;",
+          # =superscript two
+          "sup2" => "&#x000B2;",
+          # =superscript three
+          "sup3" => "&#x000B3;",
+          # /supseteqq R: superset, dbl equals
+          "supE" => "&#x02AC6;",
+          # superset, with dot
+          "supdot" => "&#x02ABE;",
+          # superset, subset, dash joining them
+          "supdsub" => "&#x02AD8;",
+          # /supseteq R: superset, equals
+          "supe" => "&#x02287;",
+          # superset, equals, dot
+          "supedot" => "&#x02AC4;",
+          # superset, solidus
+          "suphsol" => "&#x02283;&#x0002F;",
+          # superset, subset
+          "suphsub" => "&#x02AD7;",
+          # superset, left arrow
+          "suplarr" => "&#x0297B;",
+          # superset, multiply
+          "supmult" => "&#x02AC2;",
+          # /supsetneqq N: superset, not dbl eq
+          "supnE" => "&#x02ACC;",
+          # /supsetneq N: superset, not equals
+          "supne" => "&#x0228B;",
+          # superset, plus
+          "supplus" => "&#x02AC0;",
+          # alias ISOTECH sup
+          "supset" => "&#x02283;",
+          # alias ISOTECH supe
+          "supseteq" => "&#x02287;",
+          # alias ISOAMSR supE
+          "supseteqq" => "&#x02AC6;",
+          # alias ISOAMSN supne
+          "supsetneq" => "&#x0228B;",
+          # alias ISOAMSN supnE
+          "supsetneqq" => "&#x02ACC;",
+          # superset, similar
+          "supsim" => "&#x02AC8;",
+          # superset above subset
+          "supsub" => "&#x02AD4;",
+          # superset above superset
+          "supsup" => "&#x02AD6;",
+          # SW pointing dbl arrow
+          "swArr" => "&#x021D9;",
+          # /hkswarow A: SW arrow-hooked
+          "swarhk" => "&#x02926;",
+          # /swarrow A: SW pointing arrow
+          "swarr" => "&#x02199;",
+          # alias ISOAMSA swarr
+          "swarrow" => "&#x02199;",
+          # SW & NW arrows
+          "swnwar" => "&#x0292A;",
+          # =small sharp s, German (sz ligature)
+          "szlig" => "&#x000DF;",
+          # register mark or target
+          "target" => "&#x02316;",
+          # /tau small tau, Greek
+          "tau" => "&#x003C4;",
+          # top square bracket
+          "tbrk" => "&#x023B4;",
+          # =small t, caron
+          "tcaron" => "&#x00165;",
+          # =small t, cedilla
+          "tcedil" => "&#x00163;",
+          # =small te, Cyrillic
+          "tcy" => "&#x00442;",
+          # =telephone recorder symbol
+          "telrec" => "&#x02315;",
+          # /frak t, lower case t
+          "tfr" => "&#x1D531;",
+          # /therefore R: therefore
+          "there4" => "&#x02234;",
+          # alias ISOTECH there4
+          "therefore" => "&#x02234;",
+          # /theta straight theta, small theta, Greek
+          "theta" => "&#x003B8;",
+          # /vartheta - curly or open theta
+          "thetav" => "&#x003D1;",
+          # ISOAMSR   thkap
+          "thickapprox" => "&#x02248;",
+          # ISOAMSR   thksim
+          "thicksim" => "&#x0223C;",
+          # =thin space (1/6-em)
+          "thinsp" => "&#x02009;",
+          # /thickapprox R: thick approximate
+          "thkap" => "&#x02248;",
+          # /thicksim R: thick similar
+          "thksim" => "&#x0223C;",
+          # =small thorn, Icelandic
+          "thorn" => "&#x000FE;",
+          # =tilde
+          "tilde" => "&#x002DC;",
+          # /times B: =multiply sign
+          "times" => "&#x000D7;",
+          # /boxtimes B: multiply sign in box
+          "timesb" => "&#x022A0;",
+          # multiply sign, bar below
+          "timesbar" => "&#x02A31;",
+          # times, dot
+          "timesd" => "&#x02A30;",
+          # /iiint triple integral operator
+          "tint" => "&#x0222D;",
+          # alias ISOAMSA nesear
+          "toea" => "&#x02928;",
+          # /top top
+          "top" => "&#x022A4;",
+          # top and bottom
+          "topbot" => "&#x02336;",
+          # top, circle below
+          "topcir" => "&#x02AF1;",
           "topf" => "&#x1D565;",
-          # under brace
-          "UnderBrace" => "&#x0FE38;",
-          # under bracket
-          "UnderBracket" => "&#x023B5;",
-          # under parenthesis
-          "UnderParenthesis" => "&#x0FE36;",
-          #
+          # fork with top
+          "topfork" => "&#x02ADA;",
+          # alias ISOAMSA seswar
+          "tosa" => "&#x02929;",
+          # triple prime
+          "tprime" => "&#x02034;",
+          # =trade mark sign
+          "trade" => "&#x02122;",
+          # alias ISOPUB utri
+          "triangle" => "&#x025B5;",
+          # alias ISOPUB dtri
+          "triangledown" => "&#x025BF;",
+          # alias ISOPUB ltri
+          "triangleleft" => "&#x025C3;",
+          # alias ISOAMSR ltrie
+          "trianglelefteq" => "&#x022B4;",
+          # alias ISOAMSR trie
+          "triangleq" => "&#x0225C;",
+          # alias ISOPUB rtri
+          "triangleright" => "&#x025B9;",
+          # alias ISOAMSR rtrie
+          "trianglerighteq" => "&#x022B5;",
+          # dot in triangle
+          "tridot" => "&#x025EC;",
+          # /triangleq R: triangle, equals
+          "trie" => "&#x0225C;",
+          # minus in triangle
+          "triminus" => "&#x02A3A;",
+          # plus in triangle
+          "triplus" => "&#x02A39;",
+          # triangle, serifs at bottom
+          "trisb" => "&#x029CD;",
+          # multiply in triangle
+          "tritime" => "&#x02A3B;",
+          # trapezium
+          "trpezium" => "&#x0FFFD;",
+          # /scr t, script letter t
+          "tscr" => "&#x1D4C9;",
+          # =small tse, Cyrillic
+          "tscy" => "&#x00446;",
+          # =small tshe, Serbian
+          "tshcy" => "&#x0045B;",
+          # =small t, stroke
+          "tstrok" => "&#x00167;",
+          # /between R: between
+          "twixt" => "&#x0226C;",
+          # alias ISOAMSA Larr
+          "twoheadleftarrow" => "&#x0219E;",
+          # alias ISOAMSA Rarr
+          "twoheadrightarrow" => "&#x021A0;",
+          # /Uparrow A: up dbl arrow
+          "uArr" => "&#x021D1;",
+          # up harpoon-left, up harpoon-right
+          "uHar" => "&#x02963;",
+          # =small u, acute accent
+          "uacute" => "&#x000FA;",
+          # /uparrow A: =upward arrow
+          "uarr" => "&#x02191;",
+          # =small u, Byelorussian
+          "ubrcy" => "&#x0045E;",
+          # =small u, breve
+          "ubreve" => "&#x0016D;",
+          # =small u, circumflex accent
+          "ucirc" => "&#x000FB;",
+          # =small u, Cyrillic
+          "ucy" => "&#x00443;",
+          # up arrow, down arrow
+          "udarr" => "&#x021C5;",
+          # =small u, double acute accent
+          "udblac" => "&#x00171;",
+          # up harp, down harp
+          "udhar" => "&#x0296E;",
+          # up fish tail
+          "ufisht" => "&#x0297E;",
+          # /frak u, lower case u
+          "ufr" => "&#x1D532;",
+          # =small u, grave accent
+          "ugrave" => "&#x000F9;",
+          # /upharpoonleft A: up harpoon-left
+          "uharl" => "&#x021BF;",
+          # /upharpoonright /restriction A: up harp-r
+          "uharr" => "&#x021BE;",
+          # =upper half block
+          "uhblk" => "&#x02580;",
+          # /ulcorner O: upper left corner
+          "ulcorn" => "&#x0231C;",
+          # alias ISOAMSC ulcorn
+          "ulcorner" => "&#x0231C;",
+          # upward left crop mark
+          "ulcrop" => "&#x0230F;",
+          # upper left triangle
+          "ultri" => "&#x025F8;",
+          # =small u, macron
+          "umacr" => "&#x0016B;",
+          # =umlaut mark
+          "uml" => "&#x000A8;",
+          # =small u, ogonek
+          "uogon" => "&#x00173;",
           "uopf" => "&#x1D566;",
-          # up arrow to bar
-          "UpArrowBar" => "&#x02912;",
-          # ISOGRK1 Ugr, HTML4 Upsilon
-          "Upsilon" => "&#x003A5;",
+          # alias ISONUM uarr
+          "uparrow" => "&#x02191;",
+          # alias ISOAMSA varr
+          "updownarrow" => "&#x02195;",
+          # alias ISOAMSA uharl
+          "upharpoonleft" => "&#x021BF;",
+          # alias ISOAMSA uharr
+          "upharpoonright" => "&#x021BE;",
+          # /uplus B: plus sign in union
+          "uplus" => "&#x0228E;",
+          # /upsilon small upsilon, Greek
+          "upsi" => "&#x003C5;",
+          # alias ISOGRK3 upsi
+          "upsilon" => "&#x003C5;",
+          # alias ISOAMSA uuarr
+          "upuparrows" => "&#x021C8;",
+          # /urcorner C: upper right corner
+          "urcorn" => "&#x0231D;",
+          # alias ISOAMSC urcorn
+          "urcorner" => "&#x0231D;",
+          # upward right crop mark
+          "urcrop" => "&#x0230E;",
+          # =small u, ring
+          "uring" => "&#x0016F;",
+          # upper right triangle
+          "urtri" => "&#x025F9;",
+          # /scr u, script letter u
+          "uscr" => "&#x1D4CA;",
+          # three dots, ascending
+          "utdot" => "&#x022F0;",
+          # =small u, tilde
+          "utilde" => "&#x00169;",
+          # /triangle =up triangle, open
+          "utri" => "&#x025B5;",
+          # /blacktriangle =up tri, filled
+          "utrif" => "&#x025B4;",
+          # /upuparrows A: two up arrows
+          "uuarr" => "&#x021C8;",
+          # =small u, dieresis or umlaut mark
+          "uuml" => "&#x000FC;",
+          # large upward pointing angle
+          "uwangle" => "&#x029A7;",
+          # /Updownarrow A: up&down dbl arrow
+          "vArr" => "&#x021D5;",
+          # vert, dbl bar (under)
+          "vBar" => "&#x02AE8;",
+          # dbl bar, vert over and under
+          "vBarv" => "&#x02AE9;",
+          # /vDash R: vertical, dbl dash
+          "vDash" => "&#x022A8;",
+          # right angle, variant
+          "vangrt" => "&#x0299C;",
+          # alias ISOGRK3 epsiv
+          "varepsilon" => "&#x003B5;",
+          # alias ISOGRK3 kappav
+          "varkappa" => "&#x003F0;",
+          # alias ISOAMSO emptyv
+          "varnothing" => "&#x02205;",
+          # alias ISOGRK3 phiv
+          "varphi" => "&#x003C6;",
+          # alias ISOGRK3 piv
+          "varpi" => "&#x003D6;",
+          # alias ISOAMSR vprop
+          "varpropto" => "&#x0221D;",
+          # /updownarrow A: up&down arrow
+          "varr" => "&#x02195;",
+          # alias ISOGRK3 rhov
+          "varrho" => "&#x003F1;",
+          # alias ISOGRK3 sigmav
+          "varsigma" => "&#x003C2;",
+          # alias ISOAMSN vsubne
+          "varsubsetneq" => "&#x0228A;&#x0FE00;",
+          # alias ISOAMSN vsubnE
+          "varsubsetneqq" => "&#x02ACB;&#x0FE00;",
+          # alias ISOAMSN vsupne
+          "varsupsetneq" => "&#x0228B;&#x0FE00;",
+          # alias ISOAMSN vsupnE
+          "varsupsetneqq" => "&#x02ACC;&#x0FE00;",
+          # alias ISOGRK3 thetav
+          "vartheta" => "&#x003D1;",
+          # alias ISOAMSR vltri
+          "vartriangleleft" => "&#x022B2;",
+          # alias ISOAMSR vrtri
+          "vartriangleright" => "&#x022B3;",
+          # =small ve, Cyrillic
+          "vcy" => "&#x00432;",
+          # /vdash R: vertical, dash
+          "vdash" => "&#x022A2;",
+          # alias ISOTECH or
+          "vee" => "&#x02228;",
+          # /veebar B: logical or, bar below
+          "veebar" => "&#x022BB;",
+          # logical or, equals
+          "veeeq" => "&#x0225A;",
+          # vertical ellipsis
+          "vellip" => "&#x022EE;",
+          # /vert =vertical bar
+          "verbar" => "&#x0007C;",
           # alias ISONUM verbar
-          "VerticalLine" => "&#x0007C;",
-          # vertical separating operator
-          "VerticalSeparator" => "&#x02758;",
-          #
+          "vert" => "&#x0007C;",
+          # /frak v, lower case v
+          "vfr" => "&#x1D533;",
+          # /vartriangleleft R: l tri, open, var
+          "vltri" => "&#x022B2;",
+          # /nsubset N: not subset, var
+          "vnsub" => "&#x02282;&#x020D2;",
+          # /nsupset N: not superset, var
+          "vnsup" => "&#x02283;&#x020D2;",
           "vopf" => "&#x1D567;",
-          #
+          # /varpropto R: proportional, variant
+          "vprop" => "&#x0221D;",
+          # /vartriangleright R: r tri, open, var
+          "vrtri" => "&#x022B3;",
+          # /scr v, script letter v
+          "vscr" => "&#x1D4CB;",
+          # /varsubsetneqq N: subset not dbl eq, var
+          "vsubnE" => "&#x02ACB;&#x0FE00;",
+          # /varsubsetneq N: subset, not eq, var
+          "vsubne" => "&#x0228A;&#x0FE00;",
+          # /varsupsetneqq N: super not dbl eq, var
+          "vsupnE" => "&#x02ACC;&#x0FE00;",
+          # /varsupsetneq N: superset, not eq, var
+          "vsupne" => "&#x0228B;&#x0FE00;",
+          # vertical zig-zag line
+          "vzigzag" => "&#x0299A;",
+          # =small w, circumflex accent
+          "wcirc" => "&#x00175;",
+          # wedge, bar below
+          "wedbar" => "&#x02A5F;",
+          # alias ISOTECH and
+          "wedge" => "&#x02227;",
+          # /wedgeq R: corresponds to (wedge, equals)
+          "wedgeq" => "&#x02259;",
+          # /wp - Weierstrass p
+          "weierp" => "&#x02118;",
+          # /frak w, lower case w
+          "wfr" => "&#x1D534;",
           "wopf" => "&#x1D568;",
-          #
+          # alias ISOAMSO weierp
+          "wp" => "&#x02118;",
+          # alias ISOAMSB wreath
+          "wr" => "&#x02240;",
+          # /wr B: wreath product
+          "wreath" => "&#x02240;",
+          # /scr w, script letter w
+          "wscr" => "&#x1D4CC;",
+          # /bigcap L: intersection operator
+          "xcap" => "&#x022C2;",
+          # /bigcirc B: large circle
+          "xcirc" => "&#x025EF;",
+          # /bigcup L: union operator
+          "xcup" => "&#x022C3;",
+          # /bigtriangledown B: big dn tri, open
+          "xdtri" => "&#x025BD;",
+          # /frak x, lower case x
+          "xfr" => "&#x1D535;",
+          # /Longleftrightarrow A: long l&r dbl arr
+          "xhArr" => "&#x027FA;",
+          # /longleftrightarrow A: long l&r arr
+          "xharr" => "&#x027F7;",
+          # /xi small xi, Greek
+          "xi" => "&#x003BE;",
+          # /Longleftarrow A: long l dbl arrow
+          "xlArr" => "&#x027F8;",
+          # /longleftarrow A: long left arrow
+          "xlarr" => "&#x027F5;",
+          # /longmapsto A:
+          "xmap" => "&#x027FC;",
+          # large contains, vertical bar on horizontal stroke
+          "xnis" => "&#x022FB;",
+          # /bigodot L: circle dot operator
+          "xodot" => "&#x02A00;",
           "xopf" => "&#x1D569;",
-          #
+          # /bigoplus L: circle plus operator
+          "xoplus" => "&#x02A01;",
+          # /bigotimes L: circle times operator
+          "xotime" => "&#x02A02;",
+          # /Longrightarrow A: long rt dbl arr
+          "xrArr" => "&#x027F9;",
+          # /longrightarrow A: long right arrow
+          "xrarr" => "&#x027F6;",
+          # /scr x, script letter x
+          "xscr" => "&#x1D4CD;",
+          # /bigsqcup L: square union operator
+          "xsqcup" => "&#x02A06;",
+          # /biguplus L:
+          "xuplus" => "&#x02A04;",
+          # /bigtriangleup B: big up tri, open
+          "xutri" => "&#x025B3;",
+          # /bigvee L: logical and operator
+          "xvee" => "&#x022C1;",
+          # /bigwedge L: logical or operator
+          "xwedge" => "&#x022C0;",
+          # =small y, acute accent
+          "yacute" => "&#x000FD;",
+          # =small ya, Cyrillic
+          "yacy" => "&#x0044F;",
+          # =small y, circumflex accent
+          "ycirc" => "&#x00177;",
+          # =small yeru, Cyrillic
+          "ycy" => "&#x0044B;",
+          # /yen =yen sign
+          "yen" => "&#x000A5;",
+          # /frak y, lower case y
+          "yfr" => "&#x1D536;",
+          # =small yi, Ukrainian
+          "yicy" => "&#x00457;",
           "yopf" => "&#x1D56A;",
-          # zero width space
-          "ZeroWidthSpace" => "&#x0200B;",
-          #
+          # /scr y, script letter y
+          "yscr" => "&#x1D4CE;",
+          # =small yu, Cyrillic
+          "yucy" => "&#x0044E;",
+          # =small y, dieresis or umlaut mark
+          "yuml" => "&#x000FF;",
+          # =small z, acute accent
+          "zacute" => "&#x0017A;",
+          # =small z, caron
+          "zcaron" => "&#x0017E;",
+          # =small ze, Cyrillic
+          "zcy" => "&#x00437;",
+          # =small z, dot above
+          "zdot" => "&#x0017C;",
+          # zee transform
+          "zeetrf" => "&#x02128;",
+          # /zeta small zeta, Greek
+          "zeta" => "&#x003B6;",
+          # /frak z, lower case z
+          "zfr" => "&#x1D537;",
+          # =small zhe, Cyrillic
+          "zhcy" => "&#x00436;",
+          # right zig-zag arrow
+          "zigrarr" => "&#x021DD;",
           "zopf" => "&#x1D56B;",
+          # /scr z, script letter z
+          "zscr" => "&#x1D4CF;",
         }
       end
     end
diff --git a/lib/rabbit/parser/markdown.rb b/lib/rabbit/parser/markdown.rb
index 9eda686..c7a2202 100644
--- a/lib/rabbit/parser/markdown.rb
+++ b/lib/rabbit/parser/markdown.rb
@@ -35,14 +35,42 @@ module Kramdown
 
       alias_method :configure_parser_raw, :configure_parser
       def configure_parser
+        @span_parsers.unshift(:strikethrough)
         position = @block_parsers.index(:codeblock_fenced)
         @block_parsers.insert(position, :codeblock_fenced_gfm)
 
         configure_parser_raw
       end
 
-      parser(:codeblock_fenced_gfm).method = "parse_codeblock_fenced_gfm"
+      STRIKETHROUGH_DELIMITER = "~~"
+      STRIKETHROUGH_DELIMITER_PATTERN =
+        /#{Regexp.escape(STRIKETHROUGH_DELIMITER)}/
+      def parse_strikethrough
+        start_line_number = @src.current_line_number
+
+        delimiter = @src.scan(STRIKETHROUGH_DELIMITER_PATTERN)
+        saved_pos = @src.save_pos
+
+        text = @src.scan_until(STRIKETHROUGH_DELIMITER_PATTERN)
+        if text
+          text = text.sub(/#{STRIKETHROUGH_DELIMITER_PATTERN}\Z/, "")
+          @tree.children << Element.new(:strikethrough, text, nil,
+                                        :location => start_line_number)
+        else
+          @src.revert_pos(saved_pos)
+          add_text(delimiter)
+        end
+      end
+      define_parser(:strikethrough,
+                    STRIKETHROUGH_DELIMITER_PATTERN,
+                    STRIKETHROUGH_DELIMITER)
+
+      escaped_chars_start_re =
+        parser(:escaped_chars).start_re.to_s.sub(/(\]\)\))\z/, "~\\1")
+      parser(:escaped_chars).start_re = /#{escaped_chars_start_re}/
 
+
+      parser(:codeblock_fenced_gfm).method = "parse_codeblock_fenced_gfm"
       def parse_codeblock_fenced_gfm
         original_match = self.class::FENCED_CODEBLOCK_MATCH
         begin
diff --git a/lib/rabbit/parser/markdown/converter.rb b/lib/rabbit/parser/markdown/converter.rb
index 0d1f622..d1560e9 100644
--- a/lib/rabbit/parser/markdown/converter.rb
+++ b/lib/rabbit/parser/markdown/converter.rb
@@ -261,6 +261,10 @@ module Rabbit
           end
         end
 
+        def convert_hr(element)
+          raise ParseError, _("horizontal rule isn't supported.")
+        end
+
         def convert_comment(element)
           :no_element
         end
@@ -372,6 +376,14 @@ module Rabbit
           # TODO: Should we validate element.options[:category] == "span"?
           Ext::Inline.note(convert_container(element))
         end
+
+        def convert_strikethrough(element)
+          DeletedText.new(text(element.value))
+        end
+
+        def convert_html_element(element)
+          raise ParseError, _("HTML isn't supported.")
+        end
       end
     end
   end
diff --git a/lib/rabbit/parser/rd/ext/block-verbatim.rb b/lib/rabbit/parser/rd/ext/block-verbatim.rb
index 8cdbcf7..920323a 100644
--- a/lib/rabbit/parser/rd/ext/block-verbatim.rb
+++ b/lib/rabbit/parser/rd/ext/block-verbatim.rb
@@ -182,6 +182,13 @@ module Rabbit
             end
             wait_block
           end
+
+          def ext_block_verb_pango(label, source, content, visitor)
+            return nil unless /\Apango\z/i =~ label
+            src, prop = parse_source(source)
+            text = Text.new(src)
+            PreformattedBlock.new(PreformattedText.new(text))
+          end
         end
       end
     end
diff --git a/lib/rabbit/renderer/display/drawing-area-base.rb b/lib/rabbit/renderer/display/drawing-area-base.rb
index 800b5f6..d089a70 100644
--- a/lib/rabbit/renderer/display/drawing-area-base.rb
+++ b/lib/rabbit/renderer/display/drawing-area-base.rb
@@ -193,7 +193,11 @@ module Rabbit
         def reload_source(&callback)
           if @canvas.need_reload_source?
             callback ||= Utils.process_pending_events_proc
-            super(callback)
+            begin
+              super(callback)
+            rescue
+              @canvas.logger.error($!)
+            end
           end
         end
 
diff --git a/lib/rabbit/renderer/display/key-handler.rb b/lib/rabbit/renderer/display/key-handler.rb
index e27768d..1630ea4 100644
--- a/lib/rabbit/renderer/display/key-handler.rb
+++ b/lib/rabbit/renderer/display/key-handler.rb
@@ -148,10 +148,6 @@ module Rabbit
           set_keys(keys, mod) do |group, obj, val, modifier|
             @canvas.activate("SearchSlideForwardNext")
           end
-          keys = Keys::STOP_SLIDE_SEARCH_KEYS
-          set_keys(keys, mod) do |group, obj, val, modifier|
-            @canvas.activate("StopSlideSearch")
-          end
         end
 
         def init_shift_keys
diff --git a/lib/rabbit/renderer/display/search.rb b/lib/rabbit/renderer/display/search.rb
index a786ceb..46b8eee 100644
--- a/lib/rabbit/renderer/display/search.rb
+++ b/lib/rabbit/renderer/display/search.rb
@@ -56,7 +56,12 @@ module Rabbit
           direction = @search_window.direction
           entry.signal_connect("key_press_event") do |widget, key|
             if key.state == Gdk::ModifierType.new
-              false
+              if Keys::STOP_SLIDE_SEARCH_KEYS.include?(key.keyval)
+                @canvas.activate("StopSlideSearch")
+                true
+              else
+                false
+              end
             else
               Gtk::AccelGroup.activate(@window, key.keyval, key.state)
             end
diff --git a/lib/rabbit/theme/applier.rb b/lib/rabbit/theme/applier.rb
index 93fc9b0..a3a9bd9 100644
--- a/lib/rabbit/theme/applier.rb
+++ b/lib/rabbit/theme/applier.rb
@@ -65,10 +65,16 @@ module Rabbit
 
       def draw_mark(indent_width, width_or_proc, height_or_proc, name=nil)
         indent(indent_width, name) do |item, canvas, x, y, w, h|
-          first_text = item.elements.first
-          if first_text
+          first_element = item.elements.first
+          case first_element
+          when Element::TextRenderer
+            first_text = first_element
             text_height = first_text.first_line_height
             text_height += first_text.padding_top + first_text.padding_bottom
+          when Element::EnumList, Element::ItemList
+            first_item = first_element.elements.first
+            text_height = first_item.height
+            text_height += first_item.padding_top + first_item.padding_bottom
           else
             text_height = item.height
           end
diff --git a/lib/rabbit/theme/background-image-toolkit/background-image-toolkit.rb b/lib/rabbit/theme/background-image-toolkit/background-image-toolkit.rb
index 92ed4e7..b96e29b 100644
--- a/lib/rabbit/theme/background-image-toolkit/background-image-toolkit.rb
+++ b/lib/rabbit/theme/background-image-toolkit/background-image-toolkit.rb
@@ -42,12 +42,19 @@ def apply_background_image_property(element, options={})
 
       old_geometry = [_x, _y, _w, _h]
       image.compile(canvas, _x, _y, _w, _h)
-      if image.do_vertical_centering?
+
+      case vertical_align
+      when "center"
         adjust_height = ((_h - image.height - image.padding_bottom) / 2.0).ceil
         if _y + adjust_height > 0
           _y += adjust_height
           _h -= adjust_height
         end
+      when "bottom"
+        adjust_height =
+          image.height + image.padding_bottom + element.margin_bottom
+        _y = _h - adjust_height
+        _h -= adjust_height
       end
 
       case align
diff --git a/lib/rabbit/theme/clear-blue/clear-blue.rb b/lib/rabbit/theme/clear-blue/clear-blue.rb
index 2615d55..7350c1d 100644
--- a/lib/rabbit/theme/clear-blue/clear-blue.rb
+++ b/lib/rabbit/theme/clear-blue/clear-blue.rb
@@ -30,6 +30,8 @@ set_progress_background(base_background_color)
 @preformatted_frame_color = base_color
 @preformatted_fill_color = base_background_color
 
+ at syntax_highlighting_frame_color = base_color
+
 @block_quote_frame_color = base_color
 @block_quote_fill_color = base_background_color
 
diff --git a/lib/rabbit/theme/debian/debian.rb b/lib/rabbit/theme/debian/debian.rb
deleted file mode 100644
index 13a45a6..0000000
--- a/lib/rabbit/theme/debian/debian.rb
+++ /dev/null
@@ -1,232 +0,0 @@
-# -*- coding: utf-8 -*-
-#--------------------------------------
-# font size setup
-#--------------------------------------
- at xxxx_large_font_size = screen_size(10 * Pango::SCALE)
- at xxx_large_font_size = screen_size(8 * Pango::SCALE)
- at xx_large_font_size = screen_size(6 * Pango::SCALE)
- at x_large_font_size = screen_size(5 * Pango::SCALE)
- at large_font_size = screen_size(4.5 * Pango::SCALE)
- at normal_font_size = screen_size(3.5 * Pango::SCALE)
- at small_font_size = screen_size(3.2  * Pango::SCALE)
- at x_small_font_size = screen_size(3 * Pango::SCALE)
- at xx_small_font_size = screen_size(2.8 * Pango::SCALE)
- at xxx_small_font_size = screen_size(2.5 * Pango::SCALE)
- at script_font_size = @xxx_small_font_size
- at large_script_font_size = @xx_small_font_size
- at x_large_script_font_size = @xsmall_font_size
-#--------------------------------------
- at title_slide_title_font_size = @xxx_large_font_size
-#--------------------------------------
-# font family setup
-#--------------------------------------
- at default_font ||= "Sans"
- at font_family = find_font_family(@default_font)
- at bold_font ||= "Sans"
- at bold_font_family = find_font_family(@bold_font)
- at monospace_font ||= "Monospace"
- at monospace_font_family = find_font_family(@monospace_font)
-#--------------------------------------
-# add image path
-#--------------------------------------
-add_image_path("debian-images")
-add_image_path("ruby-images")
-add_image_path("rabbit-images")
-#--------------------------------------
-# set preformatted text area
-#--------------------------------------
- at preformatted_frame_color = "#242424"
- at preformatted_frame_width = 0.5
- at preformatted_fill_color  = "#fff"
- at preformatted_shadow_color = "#242424"
- at centering_preformatted_block = true
-#--------------------------------------
-# set blockqoute texts area
-#--------------------------------------
- at block_quote_frame_width = 1
- at block_quote_title_font_size = @x_small_font_size * 0.8
- at block_quote_padding_left = screen_x(2)
- at block_quote_padding_right = screen_x(2)
-#--------------------------------------
-# set color of description term underline
-#--------------------------------------
- at description_term_line_color ||= "#ff9900"
-#--------------------------------------
-# set image caption size
-#--------------------------------------
-# @image_frame_width = 0.0
- at image_caption_font_size = @xx_small_font_size * 0.8
-#----------------------------------------
-# set slide number at top-right
-#----------------------------------------
- at slide_number_props = {
-  "size" => @xx_small_font_size * 0.8,
-  "font_family" => @bold_font
-}
- at slide_number_position = :top
- at slide_number_color = "#fff"
-#--------------------------------------
-# use default theme
-#--------------------------------------
-include_theme("default")
-include_theme("title-shadow")
-include_theme("image-timer")
-#----------------------------------------
-# change reference text style
-#----------------------------------------
-match("**", ReferText) do |texts|
-  texts.prop_set("underline", "none")
-  texts.prop_set("foreground", "blue")
-end
-#----------------------------------------
-# change blockqoute text style
-#----------------------------------------
-block_quote = [Slide, Body, BlockQuote]
-item_list_item = [ItemList, ItemListItem]
-
-match(*(block_quote + (item_list_item * 1))) do |items|
-  name = "block-quote-item1"
-
-  items.delete_pre_draw_proc_by_name(name)
-  items.delete_post_draw_proc_by_name(name)
-
-  draw_image_mark(items, "item1.png", name)
-end
-#----------------------------------------
-# item mark setup
-#----------------------------------------
-# item setup need update!!
-slide_body = [Slide, Body]
-item_list_item = [ItemList, ItemListItem]
-match(*(slide_body + (item_list_item * 1))) do |items|
-  name = "item1"
-  items.delete_pre_draw_proc_by_name(name)
-  items.delete_post_draw_proc_by_name(name)
-  draw_image_mark(items, "item1.png", name)
-end
-#--------------------------------------
-# set title background-image
-#--------------------------------------
- at title_background_image = "debian-logo-pink.png"
-include_theme("title-background-image")
-#--------------------------------------
-# override title slide font props
-#--------------------------------------
-match(TitleSlide) do |contents|
- contents.prop_set("style", "normal")
-end
-match(TitleSlide, ContentSource) do |sources|
-  sources.margin_bottom = 0
-end
-match(TitleSlide, Date) do |dates|
-  dates.margin_top = @space
-end
-match(TitleSlide, Place) do |places|
-end
-#--------------------------------------
-# set debian logo in title slide
-#--------------------------------------
- at title_logo = "debian-whirl.png"
-logo_loader = ImageLoader.new(find_file(@title_logo))
-title_logo = Proc.new do |slide, canvas, x, y, w, h, simulation|
-  unless simulation
-    draw_x = canvas.width - logo_loader.width
-    draw_y = canvas.height - logo_loader.height
-    logo_loader.draw(canvas, draw_x, draw_y)
-  end
-  [x, y, w, h]
-end
-match(TitleSlide) do |slides|
-  name2 = "title-logo"
-  slides.delete_pre_draw_proc_by_name(name2)
-  slides.add_pre_draw_proc(name2, &title_logo)
-end
-#----------------------------------------
-# per slide header/footer style settings
-#----------------------------------------
- at slide_header = "top.png"
-# Headline Settings
-loader_head = ImageLoader.new(find_file(@slide_header))
-match(Slide, HeadLine) do |heads|
-  heads.each do |head|
-    head.add_pre_draw_proc("header_bg") do |canvas, x, y, w, h, simulation|
-      unless simulation
-        loader_head.resize(canvas.width, nil)
-        loader_head.draw(canvas,
-          x + w - canvas.width + @margin_left + @margin_right, 0)
-      end
-      [x, y, w, h]
-    end
-  end
-  name = "head-line"
-  delete_post_draw_proc_by_name(name)
-  heads.margin_left = (canvas.width + @margin_left + @margin_right)/6.0
-  heads.margin_right = @margin_right
-  heads.margin_bottom = @margin_bottom * 0.5
-  heads.margin_top = @margin_top
-  heads.each do |head|
-    headline_length = 0
-    head.text.split(//u).each_with_index do |chr, idx|
-      headline_length += chr.size > 1 ? 2 : 1
-    end
-    head.margin_top = @margin_top * 0.20 if headline_length >= 26
-  end
-  heads.prop_set("size", @xx_large_font_size )
-  heads.prop_set("foreground", "#fff")
-  loader_head.resize(canvas.width, nil)
-  static_y = loader_head.height - @margin_top
-  original_h = nil
-  heads.add_pre_draw_proc do |head, canvas, x, y, w, h, simulation|
-    original_h = h
-    [x, y, w, h]
-  end
-  heads.add_post_draw_proc do |head, canvas, x, y, w, h, simulation|
-    [x, static_y, w, original_h - static_y]
-  end
-end
-# Footer settings
- at slide_footer = "bottom.png"
- at slide_banner = "debian-logo.png"
-loader_foot = ImageLoader.new(find_file(@slide_footer))
-loader_banner = ImageLoader.new(find_file(@slide_banner))
-match(Slide) do |slides|
-  slides.each do |slide|
-    slide.add_post_draw_proc("footer") do |canvas, x, y, w, h, simulation|
-      unless simulation
-        footer_height = canvas.height/26.0 + screen_y(1) * 0.2
-        loader_foot.resize(canvas.width, footer_height)
-        loader_foot.draw(canvas, 0, canvas.height - footer_height)
-        banner_height = canvas.height/26.0
-        loader_banner.resize(nil, banner_height)
-        banner_pos_x = canvas.width - loader_banner.width
-        banner_pos_y = canvas.height - loader_banner.height - footer_height
-        loader_banner.draw(canvas, banner_pos_x, banner_pos_y)
-      end
-      [x, y, w, h]
-    end
-  end
-end
-#----------------------------------------
-# slide centering?
-#----------------------------------------
- at slide_centering = true
-slide_body = [Slide, Body]
-match(*slide_body) do |bodies|
-  bodies.vertical_centering = @slide_centering
-end
-#----------------------------------------
-# TAKAHASHI method !!
-#----------------------------------------
- at lightning_talk_proc_name = "lightning-debian"
- at lightning_talk_as_large_as_possible = true
-include_theme("lightning-talk-toolkit")
-match(Slide) do |slides|
-  slides.each do |slide|
-    if slide.lightning_talk?
-      slide.headline.margin_left = @margin_left
-      slide.lightning_talk
-    end
-  end
-end
-include_theme("per-slide-background-image")
-
diff --git a/lib/rabbit/theme/debian/property.rb b/lib/rabbit/theme/debian/property.rb
deleted file mode 100644
index d0bfd8b..0000000
--- a/lib/rabbit/theme/debian/property.rb
+++ /dev/null
@@ -1,3 +0,0 @@
- at category = N_("Theme")
- at title = N_("Debian Theme")
- at description = N_("Debian GNU/Linux Theme")
diff --git a/lib/rabbit/theme/default-title-text/default-title-text.rb b/lib/rabbit/theme/default-title-text/default-title-text.rb
index dd508cc..7c69d61 100644
--- a/lib/rabbit/theme/default-title-text/default-title-text.rb
+++ b/lib/rabbit/theme/default-title-text/default-title-text.rb
@@ -1,6 +1,7 @@
 @title_slide_font_size ||= @large_font_size
 @title_slide_title_font_size ||= @x_large_font_size
 @title_slide_subtitle_font_size ||= @normal_font_size
+ at title_slide_author_font_size ||= @title_slide_font_size
 @title_slide_content_source_font_size ||= @small_font_size
 @title_slide_institution_font_size ||= @normal_font_size
 @title_slide_place_font_size ||= @normal_font_size
@@ -22,6 +23,10 @@ match(TitleSlide, Subtitle) do |titles|
   titles.prop_set("size", @title_slide_subtitle_font_size)
 end
 
+match(TitleSlide, Author) do |authors|
+  authors.prop_set("size", @title_slide_author_font_size)
+end
+
 match(TitleSlide, ContentSource) do |sources|
   sources.prop_set("size", @title_slide_content_source_font_size)
   sources.prop_set("style", "italic")
diff --git a/lib/rabbit/theme/image-viewer/image-viewer.rb b/lib/rabbit/theme/image-viewer/image-viewer.rb
index 777463b..7b53db7 100644
--- a/lib/rabbit/theme/image-viewer/image-viewer.rb
+++ b/lib/rabbit/theme/image-viewer/image-viewer.rb
@@ -1,3 +1,5 @@
+include_theme("default-comment")
+
 match("**", ImageTitleSlide) do |slides|
   slides.vertical_centering = true
 end
diff --git a/lib/rabbit/theme/image/image.rb b/lib/rabbit/theme/image/image.rb
index 440ff21..8ebcb1d 100644
--- a/lib/rabbit/theme/image/image.rb
+++ b/lib/rabbit/theme/image/image.rb
@@ -40,17 +40,19 @@ match("**", Image) do |images|
   draw_frame(images, params) if @image_with_frame
   
   images.each do |image|
-    unless image.caption
-      image.margin_bottom = @space
+    image.margin_bottom = @space
+
+    caption_text = image.caption
+    if caption_text.nil? or caption_text.empty?
       next
     end
-    
+
     layout = nil
-    th = 0
+    caption_height = 0
 
     image.add_post_draw_proc(proc_name) do |canvas, x, y, w, h, simulation|
       if simulation
-        caption = Text.new(image.caption)
+        caption = Text.new(caption_text)
         caption.prop_set("size", @image_caption_font_size)
         set_font_family(caption)
         if image.horizontal_centering
@@ -58,18 +60,18 @@ match("**", Image) do |images|
         end
         caption.compile(canvas, image.ox || x, y, image.ow || w, h)
         layout = caption.layout
-        th = caption.height
-
-        margin_bottom = @space + th
-        image.margin_bottom = margin_bottom
+        caption_height = caption.height
       end
       if !simulation and layout
         base_x = image.ox || x
         base_y = y
         caption_color = image["caption-color"] || @image_caption_color
-        canvas.draw_layout(layout, base_x, base_y, caption_color)
+        canvas.draw_layout(layout,
+                           base_x,
+                           base_y + image.margin_bottom,
+                           caption_color)
       end
-      [x, y, w, h]
+      [x, y + caption_height, w, h - caption_height]
     end
   end
 end
diff --git a/lib/rabbit/theme/syntax-highlighting/syntax-highlighting.rb b/lib/rabbit/theme/syntax-highlighting/syntax-highlighting.rb
index 0cde712..0122a5c 100644
--- a/lib/rabbit/theme/syntax-highlighting/syntax-highlighting.rb
+++ b/lib/rabbit/theme/syntax-highlighting/syntax-highlighting.rb
@@ -51,10 +51,10 @@ theme_exit if @syntax_highlighting_uninstall
     :color => "#4e9a06",
   },
   :integer => {
-    :color => "#c4a000",
+    # :color => "#c4a000",
   },
   :float => {
-    :color => "#c4a000",
+    # :color => "#c4a000",
   },
   :variable => {
     :color => "#ce5c00",
@@ -89,6 +89,18 @@ theme_exit if @syntax_highlighting_uninstall
   :directive => {
     :color => "#5c35cc",
   },
+  :head => {
+    :color => "#204a87",
+  },
+  :change => {
+    :color => "#8f5902",
+  },
+  :delete => {
+    :color => "#a40000",
+  },
+  :insert => {
+    :color => "#4e9a06",
+  },
 }
 
 @syntax_highlighting_foreground ||= "#000000"
diff --git a/lib/rabbit/version.rb b/lib/rabbit/version.rb
index 2aa78a3..a78a8a1 100644
--- a/lib/rabbit/version.rb
+++ b/lib/rabbit/version.rb
@@ -15,5 +15,5 @@
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
 module Rabbit
-  VERSION = "2.1.8"
+  VERSION = "2.1.9"
 end
diff --git a/metadata.yml b/metadata.yml
deleted file mode 100644
index a896c20..0000000
--- a/metadata.yml
+++ /dev/null
@@ -1,1080 +0,0 @@
---- !ruby/object:Gem::Specification
-name: rabbit
-version: !ruby/object:Gem::Version
-  version: 2.1.8
-platform: ruby
-authors:
-- Kouhei Sutou
-autorequire: 
-bindir: bin
-cert_chain: []
-date: 2015-09-06 00:00:00.000000000 Z
-dependencies:
-- !ruby/object:Gem::Dependency
-  name: gio2
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: '0'
-  type: :runtime
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: '0'
-- !ruby/object:Gem::Dependency
-  name: gtk2
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: '0'
-  type: :runtime
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: '0'
-- !ruby/object:Gem::Dependency
-  name: rsvg2
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: '0'
-  type: :runtime
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: '0'
-- !ruby/object:Gem::Dependency
-  name: poppler
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: '0'
-  type: :runtime
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: '0'
-- !ruby/object:Gem::Dependency
-  name: hikidoc
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: '0'
-  type: :runtime
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: '0'
-- !ruby/object:Gem::Dependency
-  name: nokogiri
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: '0'
-  type: :runtime
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: '0'
-- !ruby/object:Gem::Dependency
-  name: rdtool
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: '0'
-  type: :runtime
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: '0'
-- !ruby/object:Gem::Dependency
-  name: rttool
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: '0'
-  type: :runtime
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: '0'
-- !ruby/object:Gem::Dependency
-  name: coderay
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: 1.0.0
-  type: :runtime
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: 1.0.0
-- !ruby/object:Gem::Dependency
-  name: kramdown
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: '0'
-  type: :runtime
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: '0'
-- !ruby/object:Gem::Dependency
-  name: gettext
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: 3.0.1
-  type: :runtime
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: 3.0.1
-- !ruby/object:Gem::Dependency
-  name: faraday
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: '0'
-  type: :runtime
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: '0'
-- !ruby/object:Gem::Dependency
-  name: gtk3
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: '0'
-  type: :development
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: '0'
-- !ruby/object:Gem::Dependency
-  name: test-unit
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: '0'
-  type: :development
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: '0'
-- !ruby/object:Gem::Dependency
-  name: test-unit-notify
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: '0'
-  type: :development
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: '0'
-- !ruby/object:Gem::Dependency
-  name: test-unit-rr
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: '0'
-  type: :development
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: '0'
-- !ruby/object:Gem::Dependency
-  name: rake
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: '0'
-  type: :development
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: '0'
-- !ruby/object:Gem::Dependency
-  name: bundler
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: '0'
-  type: :development
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: '0'
-- !ruby/object:Gem::Dependency
-  name: jekyll
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: 1.0.2
-  type: :development
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: 1.0.2
-description: Rabbit is an RD-document-based presentation application.
-email:
-- kou at cozmixng.org
-executables:
-- rabbirc
-- rabbit-command
-- rabbit
-- rabbit-slide
-- rabbit-theme
-extensions: []
-extra_rdoc_files: []
-files:
-- COPYING
-- GPL
-- Gemfile
-- Rakefile
-- bin/rabbirc
-- bin/rabbit
-- bin/rabbit-command
-- bin/rabbit-slide
-- bin/rabbit-theme
-- data/account.kou.gpg
-- data/locale/en/LC_MESSAGES/rabbit.mo
-- data/locale/fr/LC_MESSAGES/rabbit.mo
-- data/locale/ja/LC_MESSAGES/rabbit.mo
-- data/rabbit/image/clear-blue-images/clear-blue-headline-background.png
-- data/rabbit/image/clear-blue-images/clear-blue-icon.png
-- data/rabbit/image/clear-blue-images/clear-blue-images.rb
-- data/rabbit/image/clear-blue-images/property.rb
-- data/rabbit/image/cozmixng-images/cozmixchu.png
-- data/rabbit/image/cozmixng-images/cozmixng-images.rb
-- data/rabbit/image/cozmixng-images/powered-by-cozmixng.png
-- data/rabbit/image/cozmixng-images/property.rb
-- data/rabbit/image/dark-gradation-images/background-gradation.png
-- data/rabbit/image/dark-gradation-images/dark-gradation-images.rb
-- data/rabbit/image/dark-gradation-images/property.rb
-- data/rabbit/image/debian-images/bottom.png
-- data/rabbit/image/debian-images/debian-images.rb
-- data/rabbit/image/debian-images/debian-logo-pink.png
-- data/rabbit/image/debian-images/debian-logo.png
-- data/rabbit/image/debian-images/debian-whirl.png
-- data/rabbit/image/debian-images/item1.png
-- data/rabbit/image/debian-images/property.rb
-- data/rabbit/image/debian-images/top.png
-- data/rabbit/image/nari-images/chibi_nari.png
-- data/rabbit/image/nari-images/gc_kun.png
-- data/rabbit/image/nari-images/nari-goal-flag.png
-- data/rabbit/image/nari-images/nari-images.rb
-- data/rabbit/image/nari-images/nari-start-flag.png
-- data/rabbit/image/nari-images/property.rb
-- data/rabbit/image/rabbit-images/blue-item.png
-- data/rabbit/image/rabbit-images/close-quote-blue.png
-- data/rabbit/image/rabbit-images/close-quote-brown.png
-- data/rabbit/image/rabbit-images/close-quote-light-blue.png
-- data/rabbit/image/rabbit-images/goal-flag.png
-- data/rabbit/image/rabbit-images/green-item.png
-- data/rabbit/image/rabbit-images/kame.png
-- data/rabbit/image/rabbit-images/lavie-icon.png
-- data/rabbit/image/rabbit-images/lavie-with-logo.png
-- data/rabbit/image/rabbit-images/lavie.png
-- data/rabbit/image/rabbit-images/mini-alice.png
-- data/rabbit/image/rabbit-images/mini-butler-rabbit.png
-- data/rabbit/image/rabbit-images/mini-horizontal-bar.png
-- data/rabbit/image/rabbit-images/mini-kame-taro.png
-- data/rabbit/image/rabbit-images/mini-tanu-kitaro.png
-- data/rabbit/image/rabbit-images/mini-usa-taro.png
-- data/rabbit/image/rabbit-images/mini-usagi.png
-- data/rabbit/image/rabbit-images/mini-vertical-bar.png
-- data/rabbit/image/rabbit-images/mini-yukidaru-taro.png
-- data/rabbit/image/rabbit-images/open-quote-blue.png
-- data/rabbit/image/rabbit-images/open-quote-brown.png
-- data/rabbit/image/rabbit-images/open-quote-light-blue.png
-- data/rabbit/image/rabbit-images/property.rb
-- data/rabbit/image/rabbit-images/rabbit-banner-blue.png
-- data/rabbit/image/rabbit-images/rabbit-banner-green.png
-- data/rabbit/image/rabbit-images/rabbit-banner-heads.png
-- data/rabbit/image/rabbit-images/rabbit-banner-pink.png
-- data/rabbit/image/rabbit-images/rabbit-banner.png
-- data/rabbit/image/rabbit-images/rabbit-banner2.png
-- data/rabbit/image/rabbit-images/rabbit-images.rb
-- data/rabbit/image/rabbit-images/rabbit-pink-logo.png
-- data/rabbit/image/rabbit-images/rabbit-pink-logo2.png
-- data/rabbit/image/rabbit-images/red-item.png
-- data/rabbit/image/rabbit-images/red-item2.png
-- data/rabbit/image/rabbit-images/start-flag.png
-- data/rabbit/image/rabbit-images/tanu-kitaro.png
-- data/rabbit/image/rabbit-images/usa-taro.png
-- data/rabbit/image/rabbit-images/usagi.png
-- data/rabbit/image/rabbit-images/yukiusa.png
-- data/rabbit/image/ranguba-images/ranguba-bar.png
-- data/rabbit/image/ranguba-images/ranguba-bar.svg
-- data/rabbit/image/ranguba-images/ranguba-images.rb
-- data/rabbit/image/ranguba-images/ranguba-item-mark-mini.png
-- data/rabbit/image/ranguba-images/ranguba-item-mark.png
-- data/rabbit/image/ranguba-images/ranguba-item-mark.svg
-- data/rabbit/image/ranguba-images/ranguba-mark.png
-- data/rabbit/image/ranguba-images/ranguba-mark.svg
-- data/rabbit/image/ruby-images/property.rb
-- data/rabbit/image/ruby-images/ruby-images.rb
-- data/rabbit/image/ruby-images/ruby-pink-circle-icon.png
-- data/rabbit/image/ruby-images/ruby-pink-circle-logo.png
-- data/rabbit/image/ruby-images/ruby-pink-circle-small-icon.png
-- data/rabbit/image/ruby-images/ruby-pink-circle.png
-- data/rabbit/image/ruby-images/ruby-pink-polygon-icon.png
-- data/rabbit/image/ruby-images/ruby-pink-polygon-logo.png
-- data/rabbit/image/ruby-images/ruby-pink-polygon-small-icon.png
-- data/rabbit/image/ruby-images/ruby-pink-polygon.png
-- data/rabbit/image/rubykaigi2011-images/property.rb
-- data/rabbit/image/rubykaigi2011-images/rubykaigi2011-background-black.jpg
-- data/rabbit/image/rubykaigi2011-images/rubykaigi2011-background-white.jpg
-- data/rabbit/image/rubykaigi2011-images/rubykaigi2011-images.rb
-- doc/_config.yml
-- doc/_includes/en.menu.html
-- doc/_includes/ja.menu.html
-- doc/_layouts/en.html
-- doc/_layouts/ja.html
-- doc/_layouts/skeleton.html
-- doc/_plugins/converters/hiki.rb
-- doc/_plugins/converters/markdown.rb
-- doc/_plugins/converters/rd.rb
-- doc/_plugins/support_symlink.rb
-- doc/css/jquery-ui/themes/ui-lightness.css
-- doc/css/rabbit.css
-- doc/en/development.rd
-- doc/en/faq.rd
-- doc/en/hiki.hiki
-- doc/en/how-to-make/hiki.hiki
-- doc/en/how-to-make/index.rd
-- doc/en/how-to-make/markdown.md
-- doc/en/how-to-make/pdf.rd
-- doc/en/how-to-make/rd.rd
-- doc/en/how-to-make/theme.rd
-- doc/en/index.rd
-- doc/en/install/homebrew.rd
-- doc/en/install/index.rd
-- doc/en/install/macports.rd
-- doc/en/install/windows.rd
-- doc/en/news.rd
-- doc/en/rd.rd
-- doc/en/sample/hiki/rabbit.hiki
-- doc/en/sample/index.rd
-- doc/en/sample/markdown/rabbit.md
-- doc/en/sample/rd/rabbit.rd
-- doc/en/slides.rd
-- doc/en/usage.rd
-- doc/en/usage/platform/os-x.rd
-- doc/en/usage/rabbit-slide.rd
-- doc/en/usage/rabbit-theme.rd
-- doc/en/usage/rabbit.rd
-- doc/en/users.rd
-- doc/favicon.ico
-- doc/favicon.png
-- doc/images/background-sample.svg
-- doc/images/background.png
-- doc/images/background.svg
-- doc/images/hare-and-tortoise.png
-- doc/images/hare-and-tortoise.svg
-- doc/images/lavie-icon.png
-- doc/images/lavie.png
-- doc/images/rabbit-slide-show-logo.png
-- doc/images/rabbit-slide-show-logo.svg
-- doc/images/screenshots/ja/blue-circle-raw.png
-- doc/images/screenshots/ja/blue-circle.png
-- doc/images/screenshots/ja/clear-blue-raw.png
-- doc/images/screenshots/ja/clear-blue.png
-- doc/images/screenshots/ja/cozmixng-raw.png
-- doc/images/screenshots/ja/cozmixng.png
-- doc/images/screenshots/ja/dark-gradation-raw.png
-- doc/images/screenshots/ja/dark-gradation.png
-- doc/images/screenshots/ja/day-white-raw.png
-- doc/images/screenshots/ja/day-white.png
-- doc/images/screenshots/ja/debian-raw.png
-- doc/index.html.en
-- doc/index.html.ja
-- doc/ja/about.rd
-- doc/ja/development.rd
-- doc/ja/faq.rd
-- doc/ja/hiki.hiki
-- doc/ja/how-to-make/hiki.hiki
-- doc/ja/how-to-make/index.rd
-- doc/ja/how-to-make/markdown.md
-- doc/ja/how-to-make/pdf.rd
-- doc/ja/how-to-make/rd.rd
-- doc/ja/how-to-make/theme.rd
-- doc/ja/index.rd
-- doc/ja/install/homebrew.rd
-- doc/ja/install/index.rd
-- doc/ja/install/macports.rd
-- doc/ja/install/windows.rd
-- doc/ja/news.rd
-- doc/ja/rd.rd
-- doc/ja/sample/hiki/rabbit.hiki
-- doc/ja/sample/index.rd
-- doc/ja/sample/markdown/rabbit.md
-- doc/ja/sample/rd/rabbit.rd
-- doc/ja/slides.rd
-- doc/ja/usage.rd
-- doc/ja/usage/rabbit-slide.rd
-- doc/ja/usage/rabbit-theme.rd
-- doc/ja/usage/rabbit.rd
-- doc/ja/users.rd
-- doc/javascripts/jquery-ui.js
-- doc/javascripts/jquery.js
-- doc/screenshot.en.rab
-- doc/screenshot.ja.rab
-- entities/README
-- entities/ent2rb.rb
-- entities/isoamsa.ent
-- entities/isoamsb.ent
-- entities/isoamsc.ent
-- entities/isoamsn.ent
-- entities/isoamso.ent
-- entities/isoamsr.ent
-- entities/isobox.ent
-- entities/isocyr1.ent
-- entities/isocyr2.ent
-- entities/isodia.ent
-- entities/isogrk3.ent
-- entities/isolat1.ent
-- entities/isolat2.ent
-- entities/isomfrk.ent
-- entities/isomopf.ent
-- entities/isomscr.ent
-- entities/isonum.ent
-- entities/isopub.ent
-- entities/isotech.ent
-- entities/mmlalias.ent
-- entities/mmlextra.ent
-- lib/rabbit/action.rb
-- lib/rabbit/action/basic.rb
-- lib/rabbit/action/radio.rb
-- lib/rabbit/action/toggle.rb
-- lib/rabbit/author-configuration.rb
-- lib/rabbit/canvas.rb
-- lib/rabbit/command/rabbit-slide.rb
-- lib/rabbit/command/rabbit-theme.rb
-- lib/rabbit/command/rabbit.rb
-- lib/rabbit/config.rb
-- lib/rabbit/console.rb
-- lib/rabbit/console/roff.rb
-- lib/rabbit/cursor-manager.rb
-- lib/rabbit/dependency-canvas.rb
-- lib/rabbit/element.rb
-- lib/rabbit/element/base.rb
-- lib/rabbit/element/base/draw-hook.rb
-- lib/rabbit/element/block-element.rb
-- lib/rabbit/element/block.rb
-- lib/rabbit/element/container-element.rb
-- lib/rabbit/element/description-list.rb
-- lib/rabbit/element/enum-list.rb
-- lib/rabbit/element/footnote.rb
-- lib/rabbit/element/image-title-slide.rb
-- lib/rabbit/element/image.rb
-- lib/rabbit/element/index-slide.rb
-- lib/rabbit/element/item-list.rb
-- lib/rabbit/element/method-list.rb
-- lib/rabbit/element/poppler-page.rb
-- lib/rabbit/element/poppler-slide.rb
-- lib/rabbit/element/poppler-title-slide.rb
-- lib/rabbit/element/preformatted.rb
-- lib/rabbit/element/slide-element.rb
-- lib/rabbit/element/slide.rb
-- lib/rabbit/element/syntax-highlighting.rb
-- lib/rabbit/element/table.rb
-- lib/rabbit/element/tag.rb
-- lib/rabbit/element/text-block-element.rb
-- lib/rabbit/element/text-container-element.rb
-- lib/rabbit/element/text-element.rb
-- lib/rabbit/element/text-renderer.rb
-- lib/rabbit/element/text.rb
-- lib/rabbit/element/title-slide.rb
-- lib/rabbit/element/video.rb
-- lib/rabbit/error.rb
-- lib/rabbit/formatter.rb
-- lib/rabbit/frame.rb
-- lib/rabbit/front.rb
-- lib/rabbit/gem-builder.rb
-- lib/rabbit/gem-finder.rb
-- lib/rabbit/gesture/handler.rb
-- lib/rabbit/gesture/processor.rb
-- lib/rabbit/gettext.rb
-- lib/rabbit/graffiti/config-dialog.rb
-- lib/rabbit/graffiti/processor.rb
-- lib/rabbit/gtk.rb
-- lib/rabbit/html/generator.rb
-- lib/rabbit/html/template.erb
-- lib/rabbit/image-data-loader.rb
-- lib/rabbit/image.rb
-- lib/rabbit/image/base.rb
-- lib/rabbit/image/default.rb
-- lib/rabbit/image/dia.rb
-- lib/rabbit/image/eps.rb
-- lib/rabbit/image/gimp.rb
-- lib/rabbit/image/pdf.rb
-- lib/rabbit/image/svg.rb
-- lib/rabbit/info-window.rb
-- lib/rabbit/keys.rb
-- lib/rabbit/logger.rb
-- lib/rabbit/logger/base.rb
-- lib/rabbit/logger/gui.rb
-- lib/rabbit/logger/stderr.rb
-- lib/rabbit/menu.rb
-- lib/rabbit/parser.rb
-- lib/rabbit/parser/base.rb
-- lib/rabbit/parser/ext/aafigure.rb
-- lib/rabbit/parser/ext/blockdiag.rb
-- lib/rabbit/parser/ext/coderay.rb
-- lib/rabbit/parser/ext/emacs.rb
-- lib/rabbit/parser/ext/enscript.rb
-- lib/rabbit/parser/ext/entity.rb
-- lib/rabbit/parser/ext/escape.rb
-- lib/rabbit/parser/ext/image.rb
-- lib/rabbit/parser/ext/inline.rb
-- lib/rabbit/parser/ext/tex.rb
-- lib/rabbit/parser/ext/video.rb
-- lib/rabbit/parser/image.rb
-- lib/rabbit/parser/markdown.rb
-- lib/rabbit/parser/markdown/converter.rb
-- lib/rabbit/parser/pause-support.rb
-- lib/rabbit/parser/pdf.rb
-- lib/rabbit/parser/rd.rb
-- lib/rabbit/parser/rd/ext/base.rb
-- lib/rabbit/parser/rd/ext/block-verbatim.rb
-- lib/rabbit/parser/rd/ext/character-reference.rb
-- lib/rabbit/parser/rd/ext/image.rb
-- lib/rabbit/parser/rd/ext/inline-verbatim.rb
-- lib/rabbit/parser/rd/ext/refer.rb
-- lib/rabbit/parser/rd/ext/video.rb
-- lib/rabbit/parser/rd/rd2rabbit-lib.rb
-- lib/rabbit/parser/rd/rt/rt2rabbit-lib.rb
-- lib/rabbit/parser/rd/visitor.rb
-- lib/rabbit/parser/wiki.rb
-- lib/rabbit/parser/wiki/output.rb
-- lib/rabbit/path-manipulatable.rb
-- lib/rabbit/progress.rb
-- lib/rabbit/rabbit.rb
-- lib/rabbit/readme-parser.rb
-- lib/rabbit/renderer.rb
-- lib/rabbit/renderer/base.rb
-- lib/rabbit/renderer/color.rb
-- lib/rabbit/renderer/display.rb
-- lib/rabbit/renderer/display/base.rb
-- lib/rabbit/renderer/display/button-handler.rb
-- lib/rabbit/renderer/display/clutter-embed.rb
-- lib/rabbit/renderer/display/cursor.rb
-- lib/rabbit/renderer/display/drawing-area-base.rb
-- lib/rabbit/renderer/display/drawing-area-primitive.rb
-- lib/rabbit/renderer/display/drawing-area-view-only.rb
-- lib/rabbit/renderer/display/drawing-area.rb
-- lib/rabbit/renderer/display/gesture.rb
-- lib/rabbit/renderer/display/gl.rb
-- lib/rabbit/renderer/display/graffiti.rb
-- lib/rabbit/renderer/display/hook-handler.rb
-- lib/rabbit/renderer/display/info.rb
-- lib/rabbit/renderer/display/key-handler.rb
-- lib/rabbit/renderer/display/magnifier.rb
-- lib/rabbit/renderer/display/mask.rb
-- lib/rabbit/renderer/display/menu.rb
-- lib/rabbit/renderer/display/progress.rb
-- lib/rabbit/renderer/display/scroll-handler.rb
-- lib/rabbit/renderer/display/search.rb
-- lib/rabbit/renderer/display/spotlight.rb
-- lib/rabbit/renderer/engine.rb
-- lib/rabbit/renderer/engine/cairo.rb
-- lib/rabbit/renderer/gl.rb
-- lib/rabbit/renderer/kernel.rb
-- lib/rabbit/renderer/pixmap.rb
-- lib/rabbit/renderer/pixmap/base.rb
-- lib/rabbit/renderer/pixmap/cairo.rb
-- lib/rabbit/renderer/pixmap/gl.rb
-- lib/rabbit/renderer/print.rb
-- lib/rabbit/renderer/print/base.rb
-- lib/rabbit/renderer/print/cairo.rb
-- lib/rabbit/renderer/print/layout.rb
-- lib/rabbit/renderer/print/multiple.rb
-- lib/rabbit/search-window.rb
-- lib/rabbit/searcher.rb
-- lib/rabbit/size.rb
-- lib/rabbit/slide-configuration.rb
-- lib/rabbit/slide.rb
-- lib/rabbit/slideshare.rb
-- lib/rabbit/soap/base.rb
-- lib/rabbit/soap/driver.rb
-- lib/rabbit/soap/server.rb
-- lib/rabbit/source-generator.rb
-- lib/rabbit/source-generator/hiki.rb
-- lib/rabbit/source-generator/markdown.rb
-- lib/rabbit/source-generator/rd.rb
-- lib/rabbit/source.rb
-- lib/rabbit/source/argf.rb
-- lib/rabbit/source/base.rb
-- lib/rabbit/source/file.rb
-- lib/rabbit/source/hiki.rb
-- lib/rabbit/source/memory.rb
-- lib/rabbit/source/slide-share.rb
-- lib/rabbit/source/uri.rb
-- lib/rabbit/stock.rb
-- lib/rabbit/task.rb
-- lib/rabbit/task/slide.rb
-- lib/rabbit/task/theme.rb
-- lib/rabbit/theme-configuration.rb
-- lib/rabbit/theme/applier.rb
-- lib/rabbit/theme/auto-slide/auto-slide.rb
-- lib/rabbit/theme/auto-slide/property.rb
-- lib/rabbit/theme/background-image-toolkit/background-image-toolkit.rb
-- lib/rabbit/theme/base/base.rb
-- lib/rabbit/theme/base/property.rb
-- lib/rabbit/theme/blue-bar/blue-bar.rb
-- lib/rabbit/theme/blue-bar/property.rb
-- lib/rabbit/theme/blue-circle/blue-circle.rb
-- lib/rabbit/theme/blue-circle/property.rb
-- lib/rabbit/theme/body-background-image/body-background-image.rb
-- lib/rabbit/theme/centering-rabbit/centering-rabbit.rb
-- lib/rabbit/theme/centering-rabbit/property.rb
-- lib/rabbit/theme/clear-blue/clear-blue.rb
-- lib/rabbit/theme/clear-blue/property.rb
-- lib/rabbit/theme/clock/clock.rb
-- lib/rabbit/theme/clock/property.rb
-- lib/rabbit/theme/clutter-comment/clutter-comment.rb
-- lib/rabbit/theme/clutter-comment/property.rb
-- lib/rabbit/theme/color-circle-block-quote/color-circle-block-quote.rb
-- lib/rabbit/theme/color-circle-block-quote/property.rb
-- lib/rabbit/theme/color-circle-common/color-circle-common.rb
-- lib/rabbit/theme/color-circle-common/property.rb
-- lib/rabbit/theme/color-circle-description/color-circle-description.rb
-- lib/rabbit/theme/color-circle-description/property.rb
-- lib/rabbit/theme/color-circle-foot-text/color-circle-foot-text.rb
-- lib/rabbit/theme/color-circle-foot-text/property.rb
-- lib/rabbit/theme/color-circle-item-mark/color-circle-item-mark.rb
-- lib/rabbit/theme/color-circle-item-mark/property.rb
-- lib/rabbit/theme/color-circle-method-list/color-circle-method-list.rb
-- lib/rabbit/theme/color-circle-method-list/property.rb
-- lib/rabbit/theme/color-circle-preformatted/color-circle-preformatted.rb
-- lib/rabbit/theme/color-circle-preformatted/property.rb
-- lib/rabbit/theme/color-circle-slide/color-circle-slide.rb
-- lib/rabbit/theme/color-circle-slide/property.rb
-- lib/rabbit/theme/color-circle-text/color-circle-text.rb
-- lib/rabbit/theme/color-circle-text/property.rb
-- lib/rabbit/theme/color-circle-title-slide/color-circle-title-slide.rb
-- lib/rabbit/theme/color-circle-title-slide/property.rb
-- lib/rabbit/theme/color-circle-title-text/color-circle-title-text.rb
-- lib/rabbit/theme/color-circle-title-text/property.rb
-- lib/rabbit/theme/color-circle/color-circle.rb
-- lib/rabbit/theme/color-circle/property.rb
-- lib/rabbit/theme/cozmixng-powered-by/cozmixng-powered-by.rb
-- lib/rabbit/theme/cozmixng-powered-by/property.rb
-- lib/rabbit/theme/cozmixng/cozmixng.rb
-- lib/rabbit/theme/cozmixng/property.rb
-- lib/rabbit/theme/dark-gradation/dark-gradation.rb
-- lib/rabbit/theme/dark-gradation/property.rb
-- lib/rabbit/theme/day-white/day-white.rb
-- lib/rabbit/theme/day-white/property.rb
-- lib/rabbit/theme/debian/debian.rb
-- lib/rabbit/theme/debian/property.rb
-- lib/rabbit/theme/default-block-quote/default-block-quote.rb
-- lib/rabbit/theme/default-block-quote/property.rb
-- lib/rabbit/theme/default-comment/default-comment.rb
-- lib/rabbit/theme/default-comment/property.rb
-- lib/rabbit/theme/default-description/default-description.rb
-- lib/rabbit/theme/default-description/property.rb
-- lib/rabbit/theme/default-foot-text/default-foot-text.rb
-- lib/rabbit/theme/default-foot-text/property.rb
-- lib/rabbit/theme/default-icon/default-icon.rb
-- lib/rabbit/theme/default-icon/property.rb
-- lib/rabbit/theme/default-item-mark-setup/default-item-mark-setup.rb
-- lib/rabbit/theme/default-item-mark-setup/property.rb
-- lib/rabbit/theme/default-item-mark/default-item-mark.rb
-- lib/rabbit/theme/default-item-mark/property.rb
-- lib/rabbit/theme/default-method-list/default-method-list.rb
-- lib/rabbit/theme/default-method-list/property.rb
-- lib/rabbit/theme/default-preformatted/default-preformatted.rb
-- lib/rabbit/theme/default-preformatted/property.rb
-- lib/rabbit/theme/default-slide/default-slide.rb
-- lib/rabbit/theme/default-slide/property.rb
-- lib/rabbit/theme/default-text/default-text.rb
-- lib/rabbit/theme/default-text/property.rb
-- lib/rabbit/theme/default-title-slide/default-title-slide.rb
-- lib/rabbit/theme/default-title-slide/property.rb
-- lib/rabbit/theme/default-title-text/default-title-text.rb
-- lib/rabbit/theme/default-title-text/property.rb
-- lib/rabbit/theme/default/default.rb
-- lib/rabbit/theme/default/property.rb
-- lib/rabbit/theme/document.erb
-- lib/rabbit/theme/edge-info-toolkit/edge-info-toolkit.rb
-- lib/rabbit/theme/edge-info-toolkit/property.rb
-- lib/rabbit/theme/emphasize-keyword/emphasize-keyword.rb
-- lib/rabbit/theme/emphasize-keyword/property.rb
-- lib/rabbit/theme/enishi-green/enishi-green.rb
-- lib/rabbit/theme/enishi-green/property.rb
-- lib/rabbit/theme/entry.rb
-- lib/rabbit/theme/footer-comment/footer-comment.rb
-- lib/rabbit/theme/footer-comment/property.rb
-- lib/rabbit/theme/footer-logo/footer-logo.rb
-- lib/rabbit/theme/footer-logo/property.rb
-- lib/rabbit/theme/green-circle/green-circle.rb
-- lib/rabbit/theme/green-circle/property.rb
-- lib/rabbit/theme/headline-logo/headline-logo.rb
-- lib/rabbit/theme/headline-logo/property.rb
-- lib/rabbit/theme/icon/icon.rb
-- lib/rabbit/theme/icon/property.rb
-- lib/rabbit/theme/image-slide-number/image-slide-number.rb
-- lib/rabbit/theme/image-slide-number/property.rb
-- lib/rabbit/theme/image-timer/image-timer.rb
-- lib/rabbit/theme/image-timer/property.rb
-- lib/rabbit/theme/image-viewer/image-viewer.rb
-- lib/rabbit/theme/image-viewer/property.rb
-- lib/rabbit/theme/image/image.rb
-- lib/rabbit/theme/image/property.rb
-- lib/rabbit/theme/lightning-clear-blue/lightning-clear-blue.rb
-- lib/rabbit/theme/lightning-clear-blue/property.rb
-- lib/rabbit/theme/lightning-monochrome/lightning-monochrome.rb
-- lib/rabbit/theme/lightning-monochrome/property.rb
-- lib/rabbit/theme/lightning-rabbit/lightning-rabbit.rb
-- lib/rabbit/theme/lightning-rabbit/property.rb
-- lib/rabbit/theme/lightning-simple/lightning-simple.rb
-- lib/rabbit/theme/lightning-simple/property.rb
-- lib/rabbit/theme/lightning-talk-toolkit/lightning-talk-toolkit.rb
-- lib/rabbit/theme/lightning-talk-toolkit/property.rb
-- lib/rabbit/theme/lightning-talk/lightning-talk.rb
-- lib/rabbit/theme/lightning-talk/property.rb
-- lib/rabbit/theme/manager.rb
-- lib/rabbit/theme/mirror-effect/mirror-effect.rb
-- lib/rabbit/theme/mirror-effect/property.rb
-- lib/rabbit/theme/nari/nari.rb
-- lib/rabbit/theme/nari/property.rb
-- lib/rabbit/theme/newline-in-slides/newline-in-slides.rb
-- lib/rabbit/theme/newline-in-slides/property.rb
-- lib/rabbit/theme/newline-in-title/newline-in-title.rb
-- lib/rabbit/theme/newline-in-title/property.rb
-- lib/rabbit/theme/night-black/night-black.rb
-- lib/rabbit/theme/night-black/property.rb
-- lib/rabbit/theme/pdf/pdf.rb
-- lib/rabbit/theme/pdf/property.rb
-- lib/rabbit/theme/per-slide-background-color/per-slide-background-color.rb
-- lib/rabbit/theme/per-slide-background-color/property.rb
-- lib/rabbit/theme/per-slide-background-image/per-slide-background-image.rb
-- lib/rabbit/theme/per-slide-background-image/property.rb
-- lib/rabbit/theme/powered-by/powered-by.rb
-- lib/rabbit/theme/powered-by/property.rb
-- lib/rabbit/theme/rabbit-block-quote/property.rb
-- lib/rabbit/theme/rabbit-block-quote/rabbit-block-quote.rb
-- lib/rabbit/theme/rabbit-headline-logo/property.rb
-- lib/rabbit/theme/rabbit-headline-logo/rabbit-headline-logo.rb
-- lib/rabbit/theme/rabbit-icon/property.rb
-- lib/rabbit/theme/rabbit-icon/rabbit-icon.rb
-- lib/rabbit/theme/rabbit-item-mark/property.rb
-- lib/rabbit/theme/rabbit-item-mark/rabbit-item-mark.rb
-- lib/rabbit/theme/rabbit-powered-by/property.rb
-- lib/rabbit/theme/rabbit-powered-by/rabbit-powered-by.rb
-- lib/rabbit/theme/rabbit-title-logo/property.rb
-- lib/rabbit/theme/rabbit-title-logo/rabbit-title-logo.rb
-- lib/rabbit/theme/rabbit/property.rb
-- lib/rabbit/theme/rabbit/rabbit.rb
-- lib/rabbit/theme/ranguba/property.rb
-- lib/rabbit/theme/ranguba/ranguba.rb
-- lib/rabbit/theme/red-frame/property.rb
-- lib/rabbit/theme/red-frame/red-frame.rb
-- lib/rabbit/theme/rotate-zoom-effect/property.rb
-- lib/rabbit/theme/rotate-zoom-effect/rotate-zoom-effect.rb
-- lib/rabbit/theme/ruby-gnome2-description/property.rb
-- lib/rabbit/theme/ruby-gnome2-description/ruby-gnome2-description.rb
-- lib/rabbit/theme/ruby-gnome2-foot-text/property.rb
-- lib/rabbit/theme/ruby-gnome2-foot-text/ruby-gnome2-foot-text.rb
-- lib/rabbit/theme/ruby-gnome2-headline/property.rb
-- lib/rabbit/theme/ruby-gnome2-headline/ruby-gnome2-headline.rb
-- lib/rabbit/theme/ruby-gnome2-icon/property.rb
-- lib/rabbit/theme/ruby-gnome2-icon/ruby-gnome2-icon.rb
-- lib/rabbit/theme/ruby-gnome2-item-mark/property.rb
-- lib/rabbit/theme/ruby-gnome2-item-mark/ruby-gnome2-item-mark.rb
-- lib/rabbit/theme/ruby-gnome2-preformatted/property.rb
-- lib/rabbit/theme/ruby-gnome2-preformatted/ruby-gnome2-preformatted.rb
-- lib/rabbit/theme/ruby-gnome2-slide/property.rb
-- lib/rabbit/theme/ruby-gnome2-slide/ruby-gnome2-slide.rb
-- lib/rabbit/theme/ruby-gnome2/property.rb
-- lib/rabbit/theme/ruby-gnome2/ruby-gnome2.rb
-- lib/rabbit/theme/rubykaigi2011/property.rb
-- lib/rabbit/theme/rubykaigi2011/rubykaigi2011.rb
-- lib/rabbit/theme/scroll-effect/property.rb
-- lib/rabbit/theme/scroll-effect/scroll-effect.rb
-- lib/rabbit/theme/searcher.rb
-- lib/rabbit/theme/show-frame/property.rb
-- lib/rabbit/theme/show-frame/show-frame.rb
-- lib/rabbit/theme/simple-item-mark/property.rb
-- lib/rabbit/theme/simple-item-mark/simple-item-mark.rb
-- lib/rabbit/theme/slide-background-image/property.rb
-- lib/rabbit/theme/slide-background-image/slide-background-image.rb
-- lib/rabbit/theme/slide-background/property.rb
-- lib/rabbit/theme/slide-background/slide-background.rb
-- lib/rabbit/theme/slide-footer-info/property.rb
-- lib/rabbit/theme/slide-footer-info/slide-footer-info.rb
-- lib/rabbit/theme/slide-header-info/property.rb
-- lib/rabbit/theme/slide-header-info/slide-header-info.rb
-- lib/rabbit/theme/slide-logo/property.rb
-- lib/rabbit/theme/slide-logo/slide-logo.rb
-- lib/rabbit/theme/slide-number/property.rb
-- lib/rabbit/theme/slide-number/slide-number.rb
-- lib/rabbit/theme/slide-show/property.rb
-- lib/rabbit/theme/slide-show/slide-show.rb
-- lib/rabbit/theme/stream-comment/property.rb
-- lib/rabbit/theme/stream-comment/stream-comment.rb
-- lib/rabbit/theme/syntax-highlighting/property.rb
-- lib/rabbit/theme/syntax-highlighting/syntax-highlighting.rb
-- lib/rabbit/theme/table/property.rb
-- lib/rabbit/theme/table/table.rb
-- lib/rabbit/theme/tag/property.rb
-- lib/rabbit/theme/tag/tag.rb
-- lib/rabbit/theme/timer/property.rb
-- lib/rabbit/theme/timer/timer.rb
-- lib/rabbit/theme/title-background-color/property.rb
-- lib/rabbit/theme/title-background-color/title-background-color.rb
-- lib/rabbit/theme/title-background-image/property.rb
-- lib/rabbit/theme/title-background-image/title-background-image.rb
-- lib/rabbit/theme/title-logo/property.rb
-- lib/rabbit/theme/title-logo/title-logo.rb
-- lib/rabbit/theme/title-on-image-toolkit/property.rb
-- lib/rabbit/theme/title-on-image-toolkit/title-on-image-toolkit.rb
-- lib/rabbit/theme/title-shadow/property.rb
-- lib/rabbit/theme/title-shadow/title-shadow.rb
-- lib/rabbit/theme/title-slide-background-image/property.rb
-- lib/rabbit/theme/title-slide-background-image/title-slide-background-image.rb
-- lib/rabbit/trackball.rb
-- lib/rabbit/utils.rb
-- lib/rabbit/version.rb
-- lib/rabbit/video-window.rb
-- lib/rabbit/xmlrpc/base.rb
-- lib/rabbit/xmlrpc/client.rb
-- lib/rabbit/xmlrpc/server.rb
-- misc/emacs/README.ja
-- misc/emacs/rabbit-mode.el
-- misc/github-post-receiver/config.ru
-- misc/github-post-receiver/config.yaml.sample
-- misc/github-post-receiver/tmp/restart.txt
-- misc/make-image-sample.rb
-- misc/make-print-sample.rb
-- misc/update-rd.rb
-- misc/xyzzy/rabbit-mode.l
-- po/en/rabbit.edit.po
-- po/en/rabbit.po
-- po/fr/rabbit.edit.po
-- po/fr/rabbit.po
-- po/ja/rabbit.edit.po
-- po/ja/rabbit.po
-- rabbit.gemspec
-- sample/blue-circle.rd
-- sample/can_rabbit.rd
-- sample/cozmixng.rd
-- sample/cozmixng_is_field.png
-- sample/cozmixng_is_field.svg
-- sample/enishi-green.rab
-- sample/equation.eps
-- sample/gl-sample.rd
-- sample/html_and_wiki.png
-- sample/html_and_wiki.svg
-- sample/image-reflection.rab
-- sample/info-window.png
-- sample/join_cozmixng.png
-- sample/join_cozmixng.svg
-- sample/kof2005/gesture-flow.svg
-- sample/kof2005/gesture.rb
-- sample/kof2005/gtk+-widget.svg
-- sample/kof2005/high-light-architecture.svg
-- sample/kof2005/high-light-expose.rb
-- sample/kof2005/high-light-expose.svg
-- sample/kof2005/high-light-widget.rb
-- sample/kof2005/high-light-widget.svg
-- sample/kof2005/high-light.svg
-- sample/kof2005/mask-screenshot.png
-- sample/kof2005/mask.rb
-- sample/kof2005/mask.svg
-- sample/kof2005/ruby-gnome2-logo.png
-- sample/kof2005/ruby-pink-circle-logo.png
-- sample/kof2005/skip-up-with-ruby-gnome2.rd
-- sample/kof2005/widget.svg
-- sample/lavie.png
-- sample/lightning-talk.rd
-- sample/lldn/input.svg
-- sample/lldn/interface.svg
-- sample/lldn/kame.png
-- sample/lldn/lavie.png
-- sample/lldn/lldn.rd
-- sample/lldn/output.svg
-- sample/lldn/rabbit-rwiki.svg
-- sample/lldn/rabbit_banner.png
-- sample/lldn/rabbit_banner2.png
-- sample/m17n.rd
-- sample/note.rab
-- sample/ppt/hare-and-tortoise-end.png
-- sample/ppt/hare-and-tortoise-middle.png
-- sample/ppt/hare-and-tortoise-start.png
-- sample/ppt/ppt.rd
-- sample/ppt/rabbit-with-ruby.png
-- sample/pre.rd
-- sample/rabbit-balloon.obj
-- sample/rabbit-en.hiki
-- sample/rabbit-en.md
-- sample/rabbit-en.rd
-- sample/rabbit-history.svg
-- sample/rabbit-implementation.rd
-- sample/rabbit-slide-show-logo.svg
-- sample/rabbit.dia
-- sample/rabbit.hiki
-- sample/rabbit.md
-- sample/rabbit.rd
-- sample/rabbit.xcf
-- sample/rabbit/theme/festival/festival.rb
-- sample/rabbit/theme/gl-sample/gl-sample.rb
-- sample/rabbit/theme/image-with-frame/image-with-frame.rb
-- sample/rabbit/theme/image-with-no-shadow-frame/image-with-no-shadow-frame.rb
-- sample/rabbit/theme/image-without-frame/image-without-frame.rb
-- sample/rabbit/theme/kof2005/kof2005.rb
-- sample/rabbit/theme/kof2005/property.rb
-- sample/rabbit/theme/lightning-talk-with-contact/lightning-talk-with-contact.rb
-- sample/rabbit/theme/lldn/lldn.rb
-- sample/rabbit/theme/pdf/pdf.rb
-- sample/rabbit/theme/pdf/property.rb
-- sample/rabbit/theme/ppt/ppt.rb
-- sample/rabbit/theme/rabbit-and-tortoise/rabbit-and-tortoise.rb
-- sample/rabbit/theme/rectangle-image-slide-number/rectangle-image-slide-number.rb
-- sample/rabbit/theme/stop-auto-slide/stop-auto-slide.rb
-- sample/rabbit/theme/triangle-image-slide-number/triangle-image-slide-number.rb
-- sample/rabbit_icon.ico
-- sample/rabbit_icon.png
-- sample/shocker.jpg
-- sample/slide-property.hiki
-- sample/slide-property.rab
-- sample/spiral.svg
-- sample/table-en.rd
-- sample/table.hiki
-- sample/table.rd
-- sample/usagi.png
-- test/image/test-dia.rb
-- test/image/test-eps.rb
-- test/parser/test-markdown.rb
-- test/parser/test-rd.rb
-- test/parser/test-wiki.rb
-- test/rabbit-test-utils.rb
-- test/rabbit-test-utils/fixture.rb
-- test/rabbit-test-utils/parser.rb
-- test/run-test.rb
-- test/source-generator/test-hiki.rb
-- test/source-generator/test-markdown.rb
-- test/source-generator/test-rd.rb
-- test/test-applier.rb
-- test/test-author-configuration.rb
-- test/test-color.rb
-- test/test-element.rb
-- test/test-readme-parser.rb
-- test/test-size.rb
-- test/test-slide-configuration.rb
-- test/test-slideshare.rb
-- test/test-source.rb
-- test/test-theme-configuration.rb
-- test/test-utils.rb
-homepage: http://rabbit-shocker.org/
-licenses:
-- GPLv2+
-metadata: {}
-post_install_message: 
-rdoc_options: []
-require_paths:
-- lib
-required_ruby_version: !ruby/object:Gem::Requirement
-  requirements:
-  - - ">="
-    - !ruby/object:Gem::Version
-      version: 1.9.3
-required_rubygems_version: !ruby/object:Gem::Requirement
-  requirements:
-  - - ">="
-    - !ruby/object:Gem::Version
-      version: '0'
-requirements: []
-rubyforge_project: rabbit
-rubygems_version: 2.2.2
-signing_key: 
-specification_version: 4
-summary: Rabbit is an RD-document-based presentation application.
-test_files:
-- test/test-color.rb
-- test/test-utils.rb
-- test/test-slideshare.rb
-- test/image/test-dia.rb
-- test/image/test-eps.rb
-- test/rabbit-test-utils.rb
-- test/test-readme-parser.rb
-- test/test-author-configuration.rb
-- test/rabbit-test-utils/parser.rb
-- test/rabbit-test-utils/fixture.rb
-- test/source-generator/test-rd.rb
-- test/source-generator/test-markdown.rb
-- test/source-generator/test-hiki.rb
-- test/test-theme-configuration.rb
-- test/run-test.rb
-- test/test-size.rb
-- test/test-element.rb
-- test/test-applier.rb
-- test/parser/test-wiki.rb
-- test/parser/test-rd.rb
-- test/parser/test-markdown.rb
-- test/test-source.rb
-- test/test-slide-configuration.rb
-has_rdoc: 
diff --git a/po/en/rabbit.edit.po b/po/en/rabbit.edit.po
index 3302c4f..a9f648b 100644
--- a/po/en/rabbit.edit.po
+++ b/po/en/rabbit.edit.po
@@ -220,7 +220,7 @@ msgstr ""
 msgid "Save as image"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:83 ../lib/rabbit/command/rabbit.rb:312
+#: ../lib/rabbit/action/basic.rb:83 ../lib/rabbit/command/rabbit.rb:315
 msgid "Print"
 msgstr ""
 
@@ -604,398 +604,398 @@ msgstr ""
 msgid "rabbit-theme-benchmark-en.gem"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:141 ../lib/rabbit/theme/blue-bar/property.rb:1 ../lib/rabbit/theme/blue-circle/property.rb:1 ../lib/rabbit/theme/centering-rabbit/property.rb:1 ../lib/rabbit/theme/clear-blue/property.rb:1 ../lib/rabbit/theme/cozmixng/property.rb:1 ../lib/rabbit/theme/dark-gradation/property.rb:1 ../lib/rabbit/theme/day-white/property.rb:1 ../lib/rabbit/theme/debian/property.rb:1 ../lib/rabbit/theme/default/property.rb:1 ../lib/rabbit/theme/enishi-green/property.rb:1 .. [...]
+#: ../lib/rabbit/command/rabbit.rb:144 ../lib/rabbit/theme/blue-bar/property.rb:1 ../lib/rabbit/theme/blue-circle/property.rb:1 ../lib/rabbit/theme/centering-rabbit/property.rb:1 ../lib/rabbit/theme/clear-blue/property.rb:1 ../lib/rabbit/theme/cozmixng/property.rb:1 ../lib/rabbit/theme/dark-gradation/property.rb:1 ../lib/rabbit/theme/day-white/property.rb:1 ../lib/rabbit/theme/debian/property.rb:1 ../lib/rabbit/theme/default/property.rb:1 ../lib/rabbit/theme/enishi-green/property.rb:1 .. [...]
 msgid "Theme"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:144
+#: ../lib/rabbit/command/rabbit.rb:147
 msgid "Add [PATH] to load path."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:149
+#: ../lib/rabbit/command/rabbit.rb:152
 msgid "Use [THEME] as theme."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:156
+#: ../lib/rabbit/command/rabbit.rb:159
 msgid "Use [THEME] for comment."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:162
+#: ../lib/rabbit/command/rabbit.rb:165
 msgid "Use [TIME] as allotted time."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:168 ../lib/rabbit/html/generator.rb:404
+#: ../lib/rabbit/command/rabbit.rb:171 ../lib/rabbit/html/generator.rb:404
 msgid "Source"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:175
+#: ../lib/rabbit/command/rabbit.rb:178
 msgid ""
 "When select %s\n"
 "specify %s\n"
 "as [SOURCE_INFOS]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:182
+#: ../lib/rabbit/command/rabbit.rb:185
 msgid "Specify source type as [TYPE]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:183 ../lib/rabbit/console.rb:165 ../lib/rabbit/console.rb:182
+#: ../lib/rabbit/command/rabbit.rb:186 ../lib/rabbit/console.rb:165 ../lib/rabbit/console.rb:182
 msgid "Select from [%s]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:184
+#: ../lib/rabbit/command/rabbit.rb:187
 msgid "Note: case insensitive."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:198
+#: ../lib/rabbit/command/rabbit.rb:201
 msgid "Specify source encoding as [ENCODING]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:199 ../lib/rabbit/command/rabbit.rb:205 ../lib/rabbit/command/rabbit.rb:372 ../lib/rabbit/command/rabbit.rb:379 ../lib/rabbit/command/rabbit.rb:386 ../lib/rabbit/command/rabbit.rb:393 ../lib/rabbit/command/rabbit.rb:418 ../lib/rabbit/command/rabbit.rb:425 ../lib/rabbit/command/rabbit.rb:432 ../lib/rabbit/command/rabbit.rb:439 ../lib/rabbit/command/rabbit.rb:552 ../lib/rabbit/console.rb:150
+#: ../lib/rabbit/command/rabbit.rb:202 ../lib/rabbit/command/rabbit.rb:208 ../lib/rabbit/command/rabbit.rb:375 ../lib/rabbit/command/rabbit.rb:382 ../lib/rabbit/command/rabbit.rb:389 ../lib/rabbit/command/rabbit.rb:396 ../lib/rabbit/command/rabbit.rb:421 ../lib/rabbit/command/rabbit.rb:428 ../lib/rabbit/command/rabbit.rb:435 ../lib/rabbit/command/rabbit.rb:442 ../lib/rabbit/command/rabbit.rb:555 ../lib/rabbit/console.rb:150
 msgid "(auto)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:204
+#: ../lib/rabbit/command/rabbit.rb:207
 msgid "Specify base URI or path of source as [BASE]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:210
+#: ../lib/rabbit/command/rabbit.rb:213
 msgid "Initial state"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:213
+#: ../lib/rabbit/command/rabbit.rb:216
 msgid "Toggle full screen mode."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:219
+#: ../lib/rabbit/command/rabbit.rb:222
 msgid "Toggle index mode."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:225
+#: ../lib/rabbit/command/rabbit.rb:228
 msgid "Show the Nth slide. (zero-based)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:231
+#: ../lib/rabbit/command/rabbit.rb:234
 msgid "Size"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:234
+#: ../lib/rabbit/command/rabbit.rb:237
 msgid "Set window geometry [GEOMETRY]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:235
+#: ../lib/rabbit/command/rabbit.rb:238
 msgid "Format: WIDTHxHEIGHT+X+Y"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:242
+#: ../lib/rabbit/command/rabbit.rb:245
 msgid "Set window width to [WIDTH]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:249
+#: ../lib/rabbit/command/rabbit.rb:252
 msgid "Set window height to [HEIGHT]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:254
+#: ../lib/rabbit/command/rabbit.rb:257
 msgid ""
 "Set window width and height to\n"
 "[WIDTH] and [HEIGHT]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:267
+#: ../lib/rabbit/command/rabbit.rb:270
 msgid "Save"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:270
+#: ../lib/rabbit/command/rabbit.rb:273
 msgid "Save as image and exit."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:275
+#: ../lib/rabbit/command/rabbit.rb:278
 msgid "Specify saved image type as [TYPE]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:282
+#: ../lib/rabbit/command/rabbit.rb:285
 msgid "Specify saved image base name as [BASE_NAME]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:283 ../lib/rabbit/command/rabbit.rb:321
+#: ../lib/rabbit/command/rabbit.rb:286 ../lib/rabbit/command/rabbit.rb:324
 msgid "Title of slide"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:288
+#: ../lib/rabbit/command/rabbit.rb:291
 msgid "Output HTML for viewing saved images."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:294
+#: ../lib/rabbit/command/rabbit.rb:297
 msgid "Output index HTML for navigating slides."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:300
+#: ../lib/rabbit/command/rabbit.rb:303
 msgid "Specify base URI of RSS as [URI]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:301
+#: ../lib/rabbit/command/rabbit.rb:304
 msgid "RSS is generated only when HTML is output."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:307
+#: ../lib/rabbit/command/rabbit.rb:310
 msgid "Specify source filenam as [FILENAME]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:315
+#: ../lib/rabbit/command/rabbit.rb:318
 msgid "Print and exit."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:320
+#: ../lib/rabbit/command/rabbit.rb:323
 msgid "Specify printed out filename as [FILENAME]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:327
+#: ../lib/rabbit/command/rabbit.rb:330
 msgid "Set slides per page."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:333
+#: ../lib/rabbit/command/rabbit.rb:336
 msgid "Draw scaled image."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:334
+#: ../lib/rabbit/command/rabbit.rb:337
 msgid "Better look for displaying but lesser look for printing."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:339
+#: ../lib/rabbit/command/rabbit.rb:342
 msgid "Paper"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:343
+#: ../lib/rabbit/command/rabbit.rb:346
 msgid "Set paper width to [WIDTH] Pt."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:344
+#: ../lib/rabbit/command/rabbit.rb:347
 msgid "(landscape A4 width)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:350
+#: ../lib/rabbit/command/rabbit.rb:353
 msgid "Set paper height to [HEIGHT] Pt."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:351
+#: ../lib/rabbit/command/rabbit.rb:354
 msgid "(landscape A4 height)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:355
+#: ../lib/rabbit/command/rabbit.rb:358
 msgid ""
 "Set paper width and height to\n"
 "[WIDTH] Pt and [HEIGHT] Pt."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:357
+#: ../lib/rabbit/command/rabbit.rb:360
 msgid "(landscape A4 size)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:367
+#: ../lib/rabbit/command/rabbit.rb:370
 msgid "Margin"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:371
+#: ../lib/rabbit/command/rabbit.rb:374
 msgid "Set left margin for slides per page mode print."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:378
+#: ../lib/rabbit/command/rabbit.rb:381
 msgid "Set right margin for slides per page mode print."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:385
+#: ../lib/rabbit/command/rabbit.rb:388
 msgid "Set top margin for slides per page mode print."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:392
+#: ../lib/rabbit/command/rabbit.rb:395
 msgid "Set bottom margin for slides per page mode print."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:397
+#: ../lib/rabbit/command/rabbit.rb:400
 msgid "[ALL]"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:398
+#: ../lib/rabbit/command/rabbit.rb:401
 msgid "[TOP_BOTTOM],[LEFT_RIGHT]"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:399
+#: ../lib/rabbit/command/rabbit.rb:402
 msgid "[TOP],[LEFT_RIGHT],[BOTTOM]"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:400
+#: ../lib/rabbit/command/rabbit.rb:403
 msgid "[TOP],[RIGHT],[BOTTOM],[LEFT]"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:403
+#: ../lib/rabbit/command/rabbit.rb:406
 msgid "Set margin for slides per page mode print."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:417
+#: ../lib/rabbit/command/rabbit.rb:420
 msgid "Set left page margin."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:424
+#: ../lib/rabbit/command/rabbit.rb:427
 msgid "Set right page margin."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:431
+#: ../lib/rabbit/command/rabbit.rb:434
 msgid "Set top page margin."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:438
+#: ../lib/rabbit/command/rabbit.rb:441
 msgid "Set bottom page margin."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:445
+#: ../lib/rabbit/command/rabbit.rb:448
 msgid "Set page margin."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:457
+#: ../lib/rabbit/command/rabbit.rb:460
 msgid "dRuby"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:460
+#: ../lib/rabbit/command/rabbit.rb:463
 msgid "Specify whether to use dRuby."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:466
+#: ../lib/rabbit/command/rabbit.rb:469
 msgid "Specify dRuby URI."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:472
+#: ../lib/rabbit/command/rabbit.rb:475
 msgid "Specify whether to output dRuby URI."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:477
+#: ../lib/rabbit/command/rabbit.rb:480
 msgid "SOAP"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:480
+#: ../lib/rabbit/command/rabbit.rb:483
 msgid "Specify whether to use SOAP."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:486
+#: ../lib/rabbit/command/rabbit.rb:489
 msgid "Specify SOAP host as [HOST]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:493
+#: ../lib/rabbit/command/rabbit.rb:496
 msgid "Specify SOAP port as [PORT]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:498
+#: ../lib/rabbit/command/rabbit.rb:501
 msgid "XML-RPC"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:501
+#: ../lib/rabbit/command/rabbit.rb:504
 msgid "Specify whether to use XML-RPC."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:507
+#: ../lib/rabbit/command/rabbit.rb:510
 msgid "Specify XML-RPC host as [HOST]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:514
+#: ../lib/rabbit/command/rabbit.rb:517
 msgid "Specify XML-RPC port as [PORT]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:519
+#: ../lib/rabbit/command/rabbit.rb:522
 msgid "Public level"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:526
+#: ../lib/rabbit/command/rabbit.rb:529
 msgid "Specify public level."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:527
+#: ../lib/rabbit/command/rabbit.rb:530
 msgid "Select from the following:"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:536 ../lib/rabbit/command/rabbit.rb:561 ../lib/rabbit/command/rabbit.rb:568
+#: ../lib/rabbit/command/rabbit.rb:539 ../lib/rabbit/command/rabbit.rb:564 ../lib/rabbit/command/rabbit.rb:571
 msgid "(%s)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:541 ../lib/rabbit/theme/clutter-comment/property.rb:1 ../lib/rabbit/theme/footer-comment/property.rb:1 ../lib/rabbit/theme/stream-comment/property.rb:1
+#: ../lib/rabbit/command/rabbit.rb:544 ../lib/rabbit/theme/clutter-comment/property.rb:1 ../lib/rabbit/theme/footer-comment/property.rb:1 ../lib/rabbit/theme/stream-comment/property.rb:1
 msgid "Comment"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:544 ../lib/rabbit/command/rabbit.rb:550
+#: ../lib/rabbit/command/rabbit.rb:547 ../lib/rabbit/command/rabbit.rb:553
 msgid "Deprecated. Just ignored."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:545
+#: ../lib/rabbit/command/rabbit.rb:548
 msgid "Specify initial comment source."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:546
+#: ../lib/rabbit/command/rabbit.rb:549
 msgid "(default source)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:551
+#: ../lib/rabbit/command/rabbit.rb:554
 msgid "Specify comment source encoding."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:555
+#: ../lib/rabbit/command/rabbit.rb:558
 msgid "Migemo"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:560
+#: ../lib/rabbit/command/rabbit.rb:563
 msgid "Specify search paths for Migemo static dictionary."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:567
+#: ../lib/rabbit/command/rabbit.rb:570
 msgid "Specify static dictionary name for Migemo."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:572
+#: ../lib/rabbit/command/rabbit.rb:575
 msgid "3D"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:575
+#: ../lib/rabbit/command/rabbit.rb:578
 msgid "Specify whether to use OpenGL if available."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:580
+#: ../lib/rabbit/command/rabbit.rb:583
 msgid "Display"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:583
+#: ../lib/rabbit/command/rabbit.rb:586
 msgid "Specify whether to keep above window."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:588
+#: ../lib/rabbit/command/rabbit.rb:591
 msgid "Others"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:591
+#: ../lib/rabbit/command/rabbit.rb:594
 msgid "Check slide source syntax and exit."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:596
+#: ../lib/rabbit/command/rabbit.rb:599
 msgid "Show a native window ID of the Rabbit window if available."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:597
+#: ../lib/rabbit/command/rabbit.rb:600
 msgid "e.g. The ID is the ID of X resource on X window system."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:638
+#: ../lib/rabbit/command/rabbit.rb:641
 msgid "Choose a Rabbit source file"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:755
+#: ../lib/rabbit/command/rabbit.rb:759
 msgid "dRuby URI <%s> is in use."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:774
+#: ../lib/rabbit/command/rabbit.rb:778
 msgid "port <%s> for SOAP is in use."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:795
+#: ../lib/rabbit/command/rabbit.rb:799
 msgid "port <%s> for XML-RPC is in use."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:856
+#: ../lib/rabbit/command/rabbit.rb:860
 msgid "Window ID: %d"
 msgstr ""
 
@@ -1219,14 +1219,22 @@ msgstr ""
 msgid "tried mimeTeX commands: %s"
 msgstr ""
 
-#: ../lib/rabbit/parser/markdown/converter.rb:154 ../test/parser/test-markdown.rb:306
+#: ../lib/rabbit/parser/markdown/converter.rb:154 ../test/parser/test-markdown.rb:340
 msgid "multiple ![alt]{image} in a paragraph isn't supported."
 msgstr ""
 
-#: ../lib/rabbit/parser/markdown/converter.rb:323
+#: ../lib/rabbit/parser/markdown/converter.rb:265 ../test/parser/test-markdown.rb:354
+msgid "horizontal rule isn't supported."
+msgstr ""
+
+#: ../lib/rabbit/parser/markdown/converter.rb:327
 msgid "multiple ![]('XXX.png'){:align='right'} isn't supported."
 msgstr ""
 
+#: ../lib/rabbit/parser/markdown/converter.rb:385
+msgid "HTML isn't supported."
+msgstr ""
+
 #: ../lib/rabbit/parser/rd/ext/block-verbatim.rb:61
 msgid "multiple 'align = right' isn't supported."
 msgstr ""
@@ -1379,7 +1387,7 @@ msgstr ""
 msgid "Publish the theme to %s"
 msgstr ""
 
-#: ../lib/rabbit/theme/applier.rb:610 ../lib/rabbit/theme/auto-slide/auto-slide.rb:1 ../lib/rabbit/theme/slide-background/slide-background.rb:1
+#: ../lib/rabbit/theme/applier.rb:616 ../lib/rabbit/theme/auto-slide/auto-slide.rb:1 ../lib/rabbit/theme/slide-background/slide-background.rb:1
 msgid "%s is deprecated. Use %s instead."
 msgstr ""
 
diff --git a/po/en/rabbit.po b/po/en/rabbit.po
index 74cbdcb..65ef9eb 100644
--- a/po/en/rabbit.po
+++ b/po/en/rabbit.po
@@ -927,9 +927,15 @@ msgstr ""
 msgid "multiple ![alt]{image} in a paragraph isn't supported."
 msgstr ""
 
+msgid "horizontal rule isn't supported."
+msgstr ""
+
 msgid "multiple ![]('XXX.png'){:align='right'} isn't supported."
 msgstr ""
 
+msgid "HTML isn't supported."
+msgstr ""
+
 msgid "multiple 'align = right' isn't supported."
 msgstr ""
 
diff --git a/po/fr/rabbit.edit.po b/po/fr/rabbit.edit.po
index 58cb488..3c6eda5 100644
--- a/po/fr/rabbit.edit.po
+++ b/po/fr/rabbit.edit.po
@@ -219,7 +219,7 @@ msgstr ""
 msgid "Save as image"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:83 ../lib/rabbit/command/rabbit.rb:312
+#: ../lib/rabbit/action/basic.rb:83 ../lib/rabbit/command/rabbit.rb:315
 msgid "Print"
 msgstr ""
 
@@ -603,398 +603,398 @@ msgstr ""
 msgid "rabbit-theme-benchmark-en.gem"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:141 ../lib/rabbit/theme/blue-bar/property.rb:1 ../lib/rabbit/theme/blue-circle/property.rb:1 ../lib/rabbit/theme/centering-rabbit/property.rb:1 ../lib/rabbit/theme/clear-blue/property.rb:1 ../lib/rabbit/theme/cozmixng/property.rb:1 ../lib/rabbit/theme/dark-gradation/property.rb:1 ../lib/rabbit/theme/day-white/property.rb:1 ../lib/rabbit/theme/debian/property.rb:1 ../lib/rabbit/theme/default/property.rb:1 ../lib/rabbit/theme/enishi-green/property.rb:1 .. [...]
+#: ../lib/rabbit/command/rabbit.rb:144 ../lib/rabbit/theme/blue-bar/property.rb:1 ../lib/rabbit/theme/blue-circle/property.rb:1 ../lib/rabbit/theme/centering-rabbit/property.rb:1 ../lib/rabbit/theme/clear-blue/property.rb:1 ../lib/rabbit/theme/cozmixng/property.rb:1 ../lib/rabbit/theme/dark-gradation/property.rb:1 ../lib/rabbit/theme/day-white/property.rb:1 ../lib/rabbit/theme/debian/property.rb:1 ../lib/rabbit/theme/default/property.rb:1 ../lib/rabbit/theme/enishi-green/property.rb:1 .. [...]
 msgid "Theme"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:144
+#: ../lib/rabbit/command/rabbit.rb:147
 msgid "Add [PATH] to load path."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:149
+#: ../lib/rabbit/command/rabbit.rb:152
 msgid "Use [THEME] as theme."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:156
+#: ../lib/rabbit/command/rabbit.rb:159
 msgid "Use [THEME] for comment."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:162
+#: ../lib/rabbit/command/rabbit.rb:165
 msgid "Use [TIME] as allotted time."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:168 ../lib/rabbit/html/generator.rb:404
+#: ../lib/rabbit/command/rabbit.rb:171 ../lib/rabbit/html/generator.rb:404
 msgid "Source"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:175
+#: ../lib/rabbit/command/rabbit.rb:178
 msgid ""
 "When select %s\n"
 "specify %s\n"
 "as [SOURCE_INFOS]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:182
+#: ../lib/rabbit/command/rabbit.rb:185
 msgid "Specify source type as [TYPE]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:183 ../lib/rabbit/console.rb:165 ../lib/rabbit/console.rb:182
+#: ../lib/rabbit/command/rabbit.rb:186 ../lib/rabbit/console.rb:165 ../lib/rabbit/console.rb:182
 msgid "Select from [%s]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:184
+#: ../lib/rabbit/command/rabbit.rb:187
 msgid "Note: case insensitive."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:198
+#: ../lib/rabbit/command/rabbit.rb:201
 msgid "Specify source encoding as [ENCODING]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:199 ../lib/rabbit/command/rabbit.rb:205 ../lib/rabbit/command/rabbit.rb:372 ../lib/rabbit/command/rabbit.rb:379 ../lib/rabbit/command/rabbit.rb:386 ../lib/rabbit/command/rabbit.rb:393 ../lib/rabbit/command/rabbit.rb:418 ../lib/rabbit/command/rabbit.rb:425 ../lib/rabbit/command/rabbit.rb:432 ../lib/rabbit/command/rabbit.rb:439 ../lib/rabbit/command/rabbit.rb:552 ../lib/rabbit/console.rb:150
+#: ../lib/rabbit/command/rabbit.rb:202 ../lib/rabbit/command/rabbit.rb:208 ../lib/rabbit/command/rabbit.rb:375 ../lib/rabbit/command/rabbit.rb:382 ../lib/rabbit/command/rabbit.rb:389 ../lib/rabbit/command/rabbit.rb:396 ../lib/rabbit/command/rabbit.rb:421 ../lib/rabbit/command/rabbit.rb:428 ../lib/rabbit/command/rabbit.rb:435 ../lib/rabbit/command/rabbit.rb:442 ../lib/rabbit/command/rabbit.rb:555 ../lib/rabbit/console.rb:150
 msgid "(auto)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:204
+#: ../lib/rabbit/command/rabbit.rb:207
 msgid "Specify base URI or path of source as [BASE]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:210
+#: ../lib/rabbit/command/rabbit.rb:213
 msgid "Initial state"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:213
+#: ../lib/rabbit/command/rabbit.rb:216
 msgid "Toggle full screen mode."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:219
+#: ../lib/rabbit/command/rabbit.rb:222
 msgid "Toggle index mode."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:225
+#: ../lib/rabbit/command/rabbit.rb:228
 msgid "Show the Nth slide. (zero-based)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:231
+#: ../lib/rabbit/command/rabbit.rb:234
 msgid "Size"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:234
+#: ../lib/rabbit/command/rabbit.rb:237
 msgid "Set window geometry [GEOMETRY]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:235
+#: ../lib/rabbit/command/rabbit.rb:238
 msgid "Format: WIDTHxHEIGHT+X+Y"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:242
+#: ../lib/rabbit/command/rabbit.rb:245
 msgid "Set window width to [WIDTH]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:249
+#: ../lib/rabbit/command/rabbit.rb:252
 msgid "Set window height to [HEIGHT]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:254
+#: ../lib/rabbit/command/rabbit.rb:257
 msgid ""
 "Set window width and height to\n"
 "[WIDTH] and [HEIGHT]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:267
+#: ../lib/rabbit/command/rabbit.rb:270
 msgid "Save"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:270
+#: ../lib/rabbit/command/rabbit.rb:273
 msgid "Save as image and exit."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:275
+#: ../lib/rabbit/command/rabbit.rb:278
 msgid "Specify saved image type as [TYPE]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:282
+#: ../lib/rabbit/command/rabbit.rb:285
 msgid "Specify saved image base name as [BASE_NAME]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:283 ../lib/rabbit/command/rabbit.rb:321
+#: ../lib/rabbit/command/rabbit.rb:286 ../lib/rabbit/command/rabbit.rb:324
 msgid "Title of slide"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:288
+#: ../lib/rabbit/command/rabbit.rb:291
 msgid "Output HTML for viewing saved images."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:294
+#: ../lib/rabbit/command/rabbit.rb:297
 msgid "Output index HTML for navigating slides."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:300
+#: ../lib/rabbit/command/rabbit.rb:303
 msgid "Specify base URI of RSS as [URI]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:301
+#: ../lib/rabbit/command/rabbit.rb:304
 msgid "RSS is generated only when HTML is output."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:307
+#: ../lib/rabbit/command/rabbit.rb:310
 msgid "Specify source filenam as [FILENAME]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:315
+#: ../lib/rabbit/command/rabbit.rb:318
 msgid "Print and exit."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:320
+#: ../lib/rabbit/command/rabbit.rb:323
 msgid "Specify printed out filename as [FILENAME]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:327
+#: ../lib/rabbit/command/rabbit.rb:330
 msgid "Set slides per page."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:333
+#: ../lib/rabbit/command/rabbit.rb:336
 msgid "Draw scaled image."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:334
+#: ../lib/rabbit/command/rabbit.rb:337
 msgid "Better look for displaying but lesser look for printing."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:339
+#: ../lib/rabbit/command/rabbit.rb:342
 msgid "Paper"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:343
+#: ../lib/rabbit/command/rabbit.rb:346
 msgid "Set paper width to [WIDTH] Pt."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:344
+#: ../lib/rabbit/command/rabbit.rb:347
 msgid "(landscape A4 width)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:350
+#: ../lib/rabbit/command/rabbit.rb:353
 msgid "Set paper height to [HEIGHT] Pt."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:351
+#: ../lib/rabbit/command/rabbit.rb:354
 msgid "(landscape A4 height)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:355
+#: ../lib/rabbit/command/rabbit.rb:358
 msgid ""
 "Set paper width and height to\n"
 "[WIDTH] Pt and [HEIGHT] Pt."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:357
+#: ../lib/rabbit/command/rabbit.rb:360
 msgid "(landscape A4 size)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:367
+#: ../lib/rabbit/command/rabbit.rb:370
 msgid "Margin"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:371
+#: ../lib/rabbit/command/rabbit.rb:374
 msgid "Set left margin for slides per page mode print."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:378
+#: ../lib/rabbit/command/rabbit.rb:381
 msgid "Set right margin for slides per page mode print."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:385
+#: ../lib/rabbit/command/rabbit.rb:388
 msgid "Set top margin for slides per page mode print."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:392
+#: ../lib/rabbit/command/rabbit.rb:395
 msgid "Set bottom margin for slides per page mode print."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:397
+#: ../lib/rabbit/command/rabbit.rb:400
 msgid "[ALL]"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:398
+#: ../lib/rabbit/command/rabbit.rb:401
 msgid "[TOP_BOTTOM],[LEFT_RIGHT]"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:399
+#: ../lib/rabbit/command/rabbit.rb:402
 msgid "[TOP],[LEFT_RIGHT],[BOTTOM]"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:400
+#: ../lib/rabbit/command/rabbit.rb:403
 msgid "[TOP],[RIGHT],[BOTTOM],[LEFT]"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:403
+#: ../lib/rabbit/command/rabbit.rb:406
 msgid "Set margin for slides per page mode print."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:417
+#: ../lib/rabbit/command/rabbit.rb:420
 msgid "Set left page margin."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:424
+#: ../lib/rabbit/command/rabbit.rb:427
 msgid "Set right page margin."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:431
+#: ../lib/rabbit/command/rabbit.rb:434
 msgid "Set top page margin."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:438
+#: ../lib/rabbit/command/rabbit.rb:441
 msgid "Set bottom page margin."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:445
+#: ../lib/rabbit/command/rabbit.rb:448
 msgid "Set page margin."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:457
+#: ../lib/rabbit/command/rabbit.rb:460
 msgid "dRuby"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:460
+#: ../lib/rabbit/command/rabbit.rb:463
 msgid "Specify whether to use dRuby."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:466
+#: ../lib/rabbit/command/rabbit.rb:469
 msgid "Specify dRuby URI."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:472
+#: ../lib/rabbit/command/rabbit.rb:475
 msgid "Specify whether to output dRuby URI."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:477
+#: ../lib/rabbit/command/rabbit.rb:480
 msgid "SOAP"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:480
+#: ../lib/rabbit/command/rabbit.rb:483
 msgid "Specify whether to use SOAP."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:486
+#: ../lib/rabbit/command/rabbit.rb:489
 msgid "Specify SOAP host as [HOST]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:493
+#: ../lib/rabbit/command/rabbit.rb:496
 msgid "Specify SOAP port as [PORT]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:498
+#: ../lib/rabbit/command/rabbit.rb:501
 msgid "XML-RPC"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:501
+#: ../lib/rabbit/command/rabbit.rb:504
 msgid "Specify whether to use XML-RPC."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:507
+#: ../lib/rabbit/command/rabbit.rb:510
 msgid "Specify XML-RPC host as [HOST]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:514
+#: ../lib/rabbit/command/rabbit.rb:517
 msgid "Specify XML-RPC port as [PORT]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:519
+#: ../lib/rabbit/command/rabbit.rb:522
 msgid "Public level"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:526
+#: ../lib/rabbit/command/rabbit.rb:529
 msgid "Specify public level."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:527
+#: ../lib/rabbit/command/rabbit.rb:530
 msgid "Select from the following:"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:536 ../lib/rabbit/command/rabbit.rb:561 ../lib/rabbit/command/rabbit.rb:568
+#: ../lib/rabbit/command/rabbit.rb:539 ../lib/rabbit/command/rabbit.rb:564 ../lib/rabbit/command/rabbit.rb:571
 msgid "(%s)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:541 ../lib/rabbit/theme/clutter-comment/property.rb:1 ../lib/rabbit/theme/footer-comment/property.rb:1 ../lib/rabbit/theme/stream-comment/property.rb:1
+#: ../lib/rabbit/command/rabbit.rb:544 ../lib/rabbit/theme/clutter-comment/property.rb:1 ../lib/rabbit/theme/footer-comment/property.rb:1 ../lib/rabbit/theme/stream-comment/property.rb:1
 msgid "Comment"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:544 ../lib/rabbit/command/rabbit.rb:550
+#: ../lib/rabbit/command/rabbit.rb:547 ../lib/rabbit/command/rabbit.rb:553
 msgid "Deprecated. Just ignored."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:545
+#: ../lib/rabbit/command/rabbit.rb:548
 msgid "Specify initial comment source."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:546
+#: ../lib/rabbit/command/rabbit.rb:549
 msgid "(default source)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:551
+#: ../lib/rabbit/command/rabbit.rb:554
 msgid "Specify comment source encoding."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:555
+#: ../lib/rabbit/command/rabbit.rb:558
 msgid "Migemo"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:560
+#: ../lib/rabbit/command/rabbit.rb:563
 msgid "Specify search paths for Migemo static dictionary."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:567
+#: ../lib/rabbit/command/rabbit.rb:570
 msgid "Specify static dictionary name for Migemo."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:572
+#: ../lib/rabbit/command/rabbit.rb:575
 msgid "3D"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:575
+#: ../lib/rabbit/command/rabbit.rb:578
 msgid "Specify whether to use OpenGL if available."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:580
+#: ../lib/rabbit/command/rabbit.rb:583
 msgid "Display"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:583
+#: ../lib/rabbit/command/rabbit.rb:586
 msgid "Specify whether to keep above window."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:588
+#: ../lib/rabbit/command/rabbit.rb:591
 msgid "Others"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:591
+#: ../lib/rabbit/command/rabbit.rb:594
 msgid "Check slide source syntax and exit."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:596
+#: ../lib/rabbit/command/rabbit.rb:599
 msgid "Show a native window ID of the Rabbit window if available."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:597
+#: ../lib/rabbit/command/rabbit.rb:600
 msgid "e.g. The ID is the ID of X resource on X window system."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:638
+#: ../lib/rabbit/command/rabbit.rb:641
 msgid "Choose a Rabbit source file"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:755
+#: ../lib/rabbit/command/rabbit.rb:759
 msgid "dRuby URI <%s> is in use."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:774
+#: ../lib/rabbit/command/rabbit.rb:778
 msgid "port <%s> for SOAP is in use."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:795
+#: ../lib/rabbit/command/rabbit.rb:799
 msgid "port <%s> for XML-RPC is in use."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:856
+#: ../lib/rabbit/command/rabbit.rb:860
 msgid "Window ID: %d"
 msgstr ""
 
@@ -1218,14 +1218,22 @@ msgstr ""
 msgid "tried mimeTeX commands: %s"
 msgstr ""
 
-#: ../lib/rabbit/parser/markdown/converter.rb:154 ../test/parser/test-markdown.rb:306
+#: ../lib/rabbit/parser/markdown/converter.rb:154 ../test/parser/test-markdown.rb:340
 msgid "multiple ![alt]{image} in a paragraph isn't supported."
 msgstr ""
 
-#: ../lib/rabbit/parser/markdown/converter.rb:323
+#: ../lib/rabbit/parser/markdown/converter.rb:265 ../test/parser/test-markdown.rb:354
+msgid "horizontal rule isn't supported."
+msgstr ""
+
+#: ../lib/rabbit/parser/markdown/converter.rb:327
 msgid "multiple ![]('XXX.png'){:align='right'} isn't supported."
 msgstr ""
 
+#: ../lib/rabbit/parser/markdown/converter.rb:385
+msgid "HTML isn't supported."
+msgstr ""
+
 #: ../lib/rabbit/parser/rd/ext/block-verbatim.rb:61
 msgid "multiple 'align = right' isn't supported."
 msgstr ""
@@ -1378,7 +1386,7 @@ msgstr ""
 msgid "Publish the theme to %s"
 msgstr ""
 
-#: ../lib/rabbit/theme/applier.rb:610 ../lib/rabbit/theme/auto-slide/auto-slide.rb:1 ../lib/rabbit/theme/slide-background/slide-background.rb:1
+#: ../lib/rabbit/theme/applier.rb:616 ../lib/rabbit/theme/auto-slide/auto-slide.rb:1 ../lib/rabbit/theme/slide-background/slide-background.rb:1
 msgid "%s is deprecated. Use %s instead."
 msgstr ""
 
diff --git a/po/fr/rabbit.po b/po/fr/rabbit.po
index 0034329..e20776a 100644
--- a/po/fr/rabbit.po
+++ b/po/fr/rabbit.po
@@ -926,9 +926,15 @@ msgstr ""
 msgid "multiple ![alt]{image} in a paragraph isn't supported."
 msgstr ""
 
+msgid "horizontal rule isn't supported."
+msgstr ""
+
 msgid "multiple ![]('XXX.png'){:align='right'} isn't supported."
 msgstr ""
 
+msgid "HTML isn't supported."
+msgstr ""
+
 msgid "multiple 'align = right' isn't supported."
 msgstr ""
 
diff --git a/po/ja/rabbit.edit.po b/po/ja/rabbit.edit.po
index 8e10f98..8ddabc2 100644
--- a/po/ja/rabbit.edit.po
+++ b/po/ja/rabbit.edit.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Rabbit 0.5.4\n"
 "Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2015-09-05 23:04+0900\n"
+"PO-Revision-Date: 2016-05-27 13:29+0900\n"
 "Last-Translator: Kouhei Sutou <kou at cozmixng.org>\n"
 "Language-Team: Kouhei Sutou <kou at cozmixng.org> and Kobayashi Noritada <nori1 at d"
 "olphin.c.u-tokyo.ac.jp>\n"
@@ -220,7 +220,7 @@ msgstr "ジャンプ"
 msgid "Save as image"
 msgstr "画像として保存"
 
-#: ../lib/rabbit/action/basic.rb:83 ../lib/rabbit/command/rabbit.rb:312
+#: ../lib/rabbit/action/basic.rb:83 ../lib/rabbit/command/rabbit.rb:315
 msgid "Print"
 msgstr "印刷"
 
@@ -620,31 +620,31 @@ msgstr "利用者用"
 msgid "rabbit-theme-benchmark-en.gem"
 msgstr "rabbit-theme-benchmark-ja.gem"
 
-#: ../lib/rabbit/command/rabbit.rb:141 ../lib/rabbit/theme/blue-bar/property.rb:1 ../lib/rabbit/theme/blue-circle/property.rb:1 ../lib/rabbit/theme/centering-rabbit/property.rb:1 ../lib/rabbit/theme/clear-blue/property.rb:1 ../lib/rabbit/theme/cozmixng/property.rb:1 ../lib/rabbit/theme/dark-gradation/property.rb:1 ../lib/rabbit/theme/day-white/property.rb:1 ../lib/rabbit/theme/debian/property.rb:1 ../lib/rabbit/theme/default/property.rb:1 ../lib/rabbit/theme/enishi-green/property.rb:1 .. [...]
+#: ../lib/rabbit/command/rabbit.rb:144 ../lib/rabbit/theme/blue-bar/property.rb:1 ../lib/rabbit/theme/blue-circle/property.rb:1 ../lib/rabbit/theme/centering-rabbit/property.rb:1 ../lib/rabbit/theme/clear-blue/property.rb:1 ../lib/rabbit/theme/cozmixng/property.rb:1 ../lib/rabbit/theme/dark-gradation/property.rb:1 ../lib/rabbit/theme/day-white/property.rb:1 ../lib/rabbit/theme/debian/property.rb:1 ../lib/rabbit/theme/default/property.rb:1 ../lib/rabbit/theme/enishi-green/property.rb:1 .. [...]
 msgid "Theme"
 msgstr "テーマ"
 
-#: ../lib/rabbit/command/rabbit.rb:144
+#: ../lib/rabbit/command/rabbit.rb:147
 msgid "Add [PATH] to load path."
 msgstr "[PATH]をロードパスに追加します."
 
-#: ../lib/rabbit/command/rabbit.rb:149
+#: ../lib/rabbit/command/rabbit.rb:152
 msgid "Use [THEME] as theme."
 msgstr "テーマに[THEME]を使用します."
 
-#: ../lib/rabbit/command/rabbit.rb:156
+#: ../lib/rabbit/command/rabbit.rb:159
 msgid "Use [THEME] for comment."
 msgstr "コメント用のテーマに[THEME]を使用します."
 
-#: ../lib/rabbit/command/rabbit.rb:162
+#: ../lib/rabbit/command/rabbit.rb:165
 msgid "Use [TIME] as allotted time."
 msgstr "持ち時間を[TIME]とします。"
 
-#: ../lib/rabbit/command/rabbit.rb:168 ../lib/rabbit/html/generator.rb:404
+#: ../lib/rabbit/command/rabbit.rb:171 ../lib/rabbit/html/generator.rb:404
 msgid "Source"
 msgstr "ソース"
 
-#: ../lib/rabbit/command/rabbit.rb:175
+#: ../lib/rabbit/command/rabbit.rb:178
 msgid ""
 "When select %s\n"
 "specify %s\n"
@@ -654,67 +654,67 @@ msgstr ""
 "[SOURCE_INFOS]として\n"
 "%sを指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:182
+#: ../lib/rabbit/command/rabbit.rb:185
 msgid "Specify source type as [TYPE]."
 msgstr "[TYPE]にソースの種類を指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:183 ../lib/rabbit/console.rb:165 ../lib/rabbit/console.rb:182
+#: ../lib/rabbit/command/rabbit.rb:186 ../lib/rabbit/console.rb:165 ../lib/rabbit/console.rb:182
 msgid "Select from [%s]."
 msgstr "[%s]から選びます."
 
-#: ../lib/rabbit/command/rabbit.rb:184
+#: ../lib/rabbit/command/rabbit.rb:187
 msgid "Note: case insensitive."
 msgstr "注意: 大文字小文字は区別しません."
 
-#: ../lib/rabbit/command/rabbit.rb:198
+#: ../lib/rabbit/command/rabbit.rb:201
 msgid "Specify source encoding as [ENCODING]."
 msgstr "[ENCODING]にソースエンコーディングを指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:199 ../lib/rabbit/command/rabbit.rb:205 ../lib/rabbit/command/rabbit.rb:372 ../lib/rabbit/command/rabbit.rb:379 ../lib/rabbit/command/rabbit.rb:386 ../lib/rabbit/command/rabbit.rb:393 ../lib/rabbit/command/rabbit.rb:418 ../lib/rabbit/command/rabbit.rb:425 ../lib/rabbit/command/rabbit.rb:432 ../lib/rabbit/command/rabbit.rb:439 ../lib/rabbit/command/rabbit.rb:552 ../lib/rabbit/console.rb:150
+#: ../lib/rabbit/command/rabbit.rb:202 ../lib/rabbit/command/rabbit.rb:208 ../lib/rabbit/command/rabbit.rb:375 ../lib/rabbit/command/rabbit.rb:382 ../lib/rabbit/command/rabbit.rb:389 ../lib/rabbit/command/rabbit.rb:396 ../lib/rabbit/command/rabbit.rb:421 ../lib/rabbit/command/rabbit.rb:428 ../lib/rabbit/command/rabbit.rb:435 ../lib/rabbit/command/rabbit.rb:442 ../lib/rabbit/command/rabbit.rb:555 ../lib/rabbit/console.rb:150
 msgid "(auto)"
 msgstr "(自動)"
 
-#: ../lib/rabbit/command/rabbit.rb:204
+#: ../lib/rabbit/command/rabbit.rb:207
 msgid "Specify base URI or path of source as [BASE]."
 msgstr "ソースのベースURIまたはベースパスを[BASE]とします."
 
-#: ../lib/rabbit/command/rabbit.rb:210
+#: ../lib/rabbit/command/rabbit.rb:213
 msgid "Initial state"
 msgstr "初期状態"
 
-#: ../lib/rabbit/command/rabbit.rb:213
+#: ../lib/rabbit/command/rabbit.rb:216
 msgid "Toggle full screen mode."
 msgstr "フルスクリーンモードに切替えます."
 
-#: ../lib/rabbit/command/rabbit.rb:219
+#: ../lib/rabbit/command/rabbit.rb:222
 msgid "Toggle index mode."
 msgstr "一覧モードに切替えます."
 
-#: ../lib/rabbit/command/rabbit.rb:225
+#: ../lib/rabbit/command/rabbit.rb:228
 msgid "Show the Nth slide. (zero-based)"
 msgstr "N番目のスライドを表示。(0はじまり)"
 
-#: ../lib/rabbit/command/rabbit.rb:231
+#: ../lib/rabbit/command/rabbit.rb:234
 msgid "Size"
 msgstr "サイズ"
 
-#: ../lib/rabbit/command/rabbit.rb:234
+#: ../lib/rabbit/command/rabbit.rb:237
 msgid "Set window geometry [GEOMETRY]."
 msgstr "ウィンドウの位置を[GEOMETRY]にします."
 
-#: ../lib/rabbit/command/rabbit.rb:235
+#: ../lib/rabbit/command/rabbit.rb:238
 msgid "Format: WIDTHxHEIGHT+X+Y"
 msgstr "フォーマット: WIDTHxHEIGHT+X+Y"
 
-#: ../lib/rabbit/command/rabbit.rb:242
+#: ../lib/rabbit/command/rabbit.rb:245
 msgid "Set window width to [WIDTH]."
 msgstr "ウィンドウの幅を[WIDTH]にします."
 
-#: ../lib/rabbit/command/rabbit.rb:249
+#: ../lib/rabbit/command/rabbit.rb:252
 msgid "Set window height to [HEIGHT]."
 msgstr "ウィンドウの高さを[HEIGHT]にします."
 
-#: ../lib/rabbit/command/rabbit.rb:254
+#: ../lib/rabbit/command/rabbit.rb:257
 msgid ""
 "Set window width and height to\n"
 "[WIDTH] and [HEIGHT]."
@@ -722,87 +722,87 @@ msgstr ""
 "ウィンドウの幅と高さを\n"
 "[WIDTH]と[HEIGHT]にします."
 
-#: ../lib/rabbit/command/rabbit.rb:267
+#: ../lib/rabbit/command/rabbit.rb:270
 msgid "Save"
 msgstr "保存"
 
-#: ../lib/rabbit/command/rabbit.rb:270
+#: ../lib/rabbit/command/rabbit.rb:273
 msgid "Save as image and exit."
 msgstr "画像として保存し終了します."
 
-#: ../lib/rabbit/command/rabbit.rb:275
+#: ../lib/rabbit/command/rabbit.rb:278
 msgid "Specify saved image type as [TYPE]."
 msgstr "保存する画像の種類を[TYPE]にします."
 
-#: ../lib/rabbit/command/rabbit.rb:282
+#: ../lib/rabbit/command/rabbit.rb:285
 msgid "Specify saved image base name as [BASE_NAME]."
 msgstr "保存する画像のベース名を[BASE_NAME]にします."
 
-#: ../lib/rabbit/command/rabbit.rb:283 ../lib/rabbit/command/rabbit.rb:321
+#: ../lib/rabbit/command/rabbit.rb:286 ../lib/rabbit/command/rabbit.rb:324
 msgid "Title of slide"
 msgstr "スライドのタイトル"
 
-#: ../lib/rabbit/command/rabbit.rb:288
+#: ../lib/rabbit/command/rabbit.rb:291
 msgid "Output HTML for viewing saved images."
 msgstr "保存した画像を閲覧するためのHTMLを出力します."
 
-#: ../lib/rabbit/command/rabbit.rb:294
+#: ../lib/rabbit/command/rabbit.rb:297
 msgid "Output index HTML for navigating slides."
 msgstr "保存した画像を閲覧するための索引用HTMLを出力します."
 
-#: ../lib/rabbit/command/rabbit.rb:300
+#: ../lib/rabbit/command/rabbit.rb:303
 msgid "Specify base URI of RSS as [URI]."
 msgstr "RSS のベース URI を [URI] と指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:301
+#: ../lib/rabbit/command/rabbit.rb:304
 msgid "RSS is generated only when HTML is output."
 msgstr "RSS は、HTML が出力されるときだけ生成されます。"
 
-#: ../lib/rabbit/command/rabbit.rb:307
+#: ../lib/rabbit/command/rabbit.rb:310
 msgid "Specify source filenam as [FILENAME]."
 msgstr "[FILENAME]をソースファイル名とします."
 
-#: ../lib/rabbit/command/rabbit.rb:315
+#: ../lib/rabbit/command/rabbit.rb:318
 msgid "Print and exit."
 msgstr "印刷し終了します."
 
-#: ../lib/rabbit/command/rabbit.rb:320
+#: ../lib/rabbit/command/rabbit.rb:323
 msgid "Specify printed out filename as [FILENAME]."
 msgstr "[FILENAME]を印刷するファイル名とします."
 
-#: ../lib/rabbit/command/rabbit.rb:327
+#: ../lib/rabbit/command/rabbit.rb:330
 msgid "Set slides per page."
 msgstr "1ページ中のスライドの枚数を設定します."
 
-#: ../lib/rabbit/command/rabbit.rb:333
+#: ../lib/rabbit/command/rabbit.rb:336
 msgid "Draw scaled image."
 msgstr "拡大・縮小した画面を描画します。"
 
-#: ../lib/rabbit/command/rabbit.rb:334
+#: ../lib/rabbit/command/rabbit.rb:337
 msgid "Better look for displaying but lesser look for printing."
 msgstr "画面表示時にはよりキレイになりますが、印刷時には少し見栄えが悪くなります。"
 
-#: ../lib/rabbit/command/rabbit.rb:339
+#: ../lib/rabbit/command/rabbit.rb:342
 msgid "Paper"
 msgstr "用紙"
 
-#: ../lib/rabbit/command/rabbit.rb:343
+#: ../lib/rabbit/command/rabbit.rb:346
 msgid "Set paper width to [WIDTH] Pt."
 msgstr "用紙幅を[WIDTH] Ptにします."
 
-#: ../lib/rabbit/command/rabbit.rb:344
+#: ../lib/rabbit/command/rabbit.rb:347
 msgid "(landscape A4 width)"
 msgstr "(横置きA4の幅)"
 
-#: ../lib/rabbit/command/rabbit.rb:350
+#: ../lib/rabbit/command/rabbit.rb:353
 msgid "Set paper height to [HEIGHT] Pt."
 msgstr "用紙の高さを[HEIGHT] Ptにします."
 
-#: ../lib/rabbit/command/rabbit.rb:351
+#: ../lib/rabbit/command/rabbit.rb:354
 msgid "(landscape A4 height)"
 msgstr "(横置きA4の高さ)"
 
-#: ../lib/rabbit/command/rabbit.rb:355
+#: ../lib/rabbit/command/rabbit.rb:358
 msgid ""
 "Set paper width and height to\n"
 "[WIDTH] Pt and [HEIGHT] Pt."
@@ -810,215 +810,215 @@ msgstr ""
 "用紙の幅と高さを\n"
 "[WIDTH] Ptと[HEIGHT] Ptにします."
 
-#: ../lib/rabbit/command/rabbit.rb:357
+#: ../lib/rabbit/command/rabbit.rb:360
 msgid "(landscape A4 size)"
 msgstr "(横置きA4サイズ)"
 
-#: ../lib/rabbit/command/rabbit.rb:367
+#: ../lib/rabbit/command/rabbit.rb:370
 msgid "Margin"
 msgstr "余白"
 
-#: ../lib/rabbit/command/rabbit.rb:371
+#: ../lib/rabbit/command/rabbit.rb:374
 msgid "Set left margin for slides per page mode print."
 msgstr "1ページ複数スライド印刷モードの左余白を設定します."
 
-#: ../lib/rabbit/command/rabbit.rb:378
+#: ../lib/rabbit/command/rabbit.rb:381
 msgid "Set right margin for slides per page mode print."
 msgstr "1ページ複数スライド印刷モードの右余白を設定します."
 
-#: ../lib/rabbit/command/rabbit.rb:385
+#: ../lib/rabbit/command/rabbit.rb:388
 msgid "Set top margin for slides per page mode print."
 msgstr "1ページ複数スライド印刷モードの上余白を設定します."
 
-#: ../lib/rabbit/command/rabbit.rb:392
+#: ../lib/rabbit/command/rabbit.rb:395
 msgid "Set bottom margin for slides per page mode print."
 msgstr "1ページ複数スライド印刷モードの下余白を設定します."
 
-#: ../lib/rabbit/command/rabbit.rb:397
+#: ../lib/rabbit/command/rabbit.rb:400
 msgid "[ALL]"
 msgstr "[全部]"
 
-#: ../lib/rabbit/command/rabbit.rb:398
+#: ../lib/rabbit/command/rabbit.rb:401
 msgid "[TOP_BOTTOM],[LEFT_RIGHT]"
 msgstr "[上下],[左右]"
 
-#: ../lib/rabbit/command/rabbit.rb:399
+#: ../lib/rabbit/command/rabbit.rb:402
 msgid "[TOP],[LEFT_RIGHT],[BOTTOM]"
 msgstr "[上],[左右],[下]"
 
-#: ../lib/rabbit/command/rabbit.rb:400
+#: ../lib/rabbit/command/rabbit.rb:403
 msgid "[TOP],[RIGHT],[BOTTOM],[LEFT]"
 msgstr "[上],[右],[下],[左]"
 
-#: ../lib/rabbit/command/rabbit.rb:403
+#: ../lib/rabbit/command/rabbit.rb:406
 msgid "Set margin for slides per page mode print."
 msgstr "1ページ複数スライド印刷モードの余白を設定します."
 
-#: ../lib/rabbit/command/rabbit.rb:417
+#: ../lib/rabbit/command/rabbit.rb:420
 msgid "Set left page margin."
 msgstr "左ページ余白を設定します."
 
-#: ../lib/rabbit/command/rabbit.rb:424
+#: ../lib/rabbit/command/rabbit.rb:427
 msgid "Set right page margin."
 msgstr "右ページ余白を指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:431
+#: ../lib/rabbit/command/rabbit.rb:434
 msgid "Set top page margin."
 msgstr "上ページ余白を指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:438
+#: ../lib/rabbit/command/rabbit.rb:441
 msgid "Set bottom page margin."
 msgstr "下ページ余白を指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:445
+#: ../lib/rabbit/command/rabbit.rb:448
 msgid "Set page margin."
 msgstr "ページ余白を指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:457
+#: ../lib/rabbit/command/rabbit.rb:460
 msgid "dRuby"
 msgstr "dRuby"
 
-#: ../lib/rabbit/command/rabbit.rb:460
+#: ../lib/rabbit/command/rabbit.rb:463
 msgid "Specify whether to use dRuby."
 msgstr "dRubyを使うかどうかを指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:466
+#: ../lib/rabbit/command/rabbit.rb:469
 msgid "Specify dRuby URI."
 msgstr "dRuby URIを指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:472
+#: ../lib/rabbit/command/rabbit.rb:475
 msgid "Specify whether to output dRuby URI."
 msgstr "dRuby URIを出力するかどうかを指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:477
+#: ../lib/rabbit/command/rabbit.rb:480
 msgid "SOAP"
 msgstr "SOAP"
 
-#: ../lib/rabbit/command/rabbit.rb:480
+#: ../lib/rabbit/command/rabbit.rb:483
 msgid "Specify whether to use SOAP."
 msgstr "SOAPを使うかどうかを指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:486
+#: ../lib/rabbit/command/rabbit.rb:489
 msgid "Specify SOAP host as [HOST]."
 msgstr "SOAPのホスト名を[HOST]とします."
 
-#: ../lib/rabbit/command/rabbit.rb:493
+#: ../lib/rabbit/command/rabbit.rb:496
 msgid "Specify SOAP port as [PORT]."
 msgstr "SOAPのポートを[PORT]とします."
 
-#: ../lib/rabbit/command/rabbit.rb:498
+#: ../lib/rabbit/command/rabbit.rb:501
 msgid "XML-RPC"
 msgstr "XML-RPC"
 
-#: ../lib/rabbit/command/rabbit.rb:501
+#: ../lib/rabbit/command/rabbit.rb:504
 msgid "Specify whether to use XML-RPC."
 msgstr "XML-RPCを使うかどうかを指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:507
+#: ../lib/rabbit/command/rabbit.rb:510
 msgid "Specify XML-RPC host as [HOST]."
 msgstr "XML-RPCのホスト名を[HOST]とします."
 
-#: ../lib/rabbit/command/rabbit.rb:514
+#: ../lib/rabbit/command/rabbit.rb:517
 msgid "Specify XML-RPC port as [PORT]."
 msgstr "XML-RPCのポートを[PORT]とします."
 
-#: ../lib/rabbit/command/rabbit.rb:519
+#: ../lib/rabbit/command/rabbit.rb:522
 msgid "Public level"
 msgstr "公開レベル"
 
-#: ../lib/rabbit/command/rabbit.rb:526
+#: ../lib/rabbit/command/rabbit.rb:529
 msgid "Specify public level."
 msgstr "公開レベルを指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:527
+#: ../lib/rabbit/command/rabbit.rb:530
 msgid "Select from the following:"
 msgstr "以下から選択します."
 
-#: ../lib/rabbit/command/rabbit.rb:536 ../lib/rabbit/command/rabbit.rb:561 ../lib/rabbit/command/rabbit.rb:568
+#: ../lib/rabbit/command/rabbit.rb:539 ../lib/rabbit/command/rabbit.rb:564 ../lib/rabbit/command/rabbit.rb:571
 msgid "(%s)"
 msgstr "(%s)"
 
-#: ../lib/rabbit/command/rabbit.rb:541 ../lib/rabbit/theme/clutter-comment/property.rb:1 ../lib/rabbit/theme/footer-comment/property.rb:1 ../lib/rabbit/theme/stream-comment/property.rb:1
+#: ../lib/rabbit/command/rabbit.rb:544 ../lib/rabbit/theme/clutter-comment/property.rb:1 ../lib/rabbit/theme/footer-comment/property.rb:1 ../lib/rabbit/theme/stream-comment/property.rb:1
 msgid "Comment"
 msgstr "コメント"
 
-#: ../lib/rabbit/command/rabbit.rb:544 ../lib/rabbit/command/rabbit.rb:550
+#: ../lib/rabbit/command/rabbit.rb:547 ../lib/rabbit/command/rabbit.rb:553
 msgid "Deprecated. Just ignored."
 msgstr "非推奨です。無視してください。"
 
-#: ../lib/rabbit/command/rabbit.rb:545
+#: ../lib/rabbit/command/rabbit.rb:548
 msgid "Specify initial comment source."
 msgstr "初期コメントソースを指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:546
+#: ../lib/rabbit/command/rabbit.rb:549
 msgid "(default source)"
 msgstr "(デフォルトソース)"
 
-#: ../lib/rabbit/command/rabbit.rb:551
+#: ../lib/rabbit/command/rabbit.rb:554
 msgid "Specify comment source encoding."
 msgstr "コメントソースのエンコーディングを指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:555
+#: ../lib/rabbit/command/rabbit.rb:558
 msgid "Migemo"
 msgstr "Migemo"
 
-#: ../lib/rabbit/command/rabbit.rb:560
+#: ../lib/rabbit/command/rabbit.rb:563
 msgid "Specify search paths for Migemo static dictionary."
 msgstr "Migemoの静的辞書の検索パスを指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:567
+#: ../lib/rabbit/command/rabbit.rb:570
 msgid "Specify static dictionary name for Migemo."
 msgstr "Migemoの静的辞書名を指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:572
+#: ../lib/rabbit/command/rabbit.rb:575
 msgid "3D"
 msgstr "3D"
 
-#: ../lib/rabbit/command/rabbit.rb:575
+#: ../lib/rabbit/command/rabbit.rb:578
 msgid "Specify whether to use OpenGL if available."
 msgstr "可能ならOpenGLを使うかどうかを指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:580
+#: ../lib/rabbit/command/rabbit.rb:583
 msgid "Display"
 msgstr "画面表示"
 
-#: ../lib/rabbit/command/rabbit.rb:583
+#: ../lib/rabbit/command/rabbit.rb:586
 msgid "Specify whether to keep above window."
 msgstr "ウィンドウを常に前面に表示するかどうかを指定します。"
 
-#: ../lib/rabbit/command/rabbit.rb:588
+#: ../lib/rabbit/command/rabbit.rb:591
 msgid "Others"
 msgstr "その他"
 
-#: ../lib/rabbit/command/rabbit.rb:591
+#: ../lib/rabbit/command/rabbit.rb:594
 msgid "Check slide source syntax and exit."
 msgstr "スライドのソースの構文をチェックして終了します。"
 
-#: ../lib/rabbit/command/rabbit.rb:596
+#: ../lib/rabbit/command/rabbit.rb:599
 msgid "Show a native window ID of the Rabbit window if available."
 msgstr "可能ならウィンドウシステムに依存したRabbitのウィンドウのIDを表示します。"
 
-#: ../lib/rabbit/command/rabbit.rb:597
+#: ../lib/rabbit/command/rabbit.rb:600
 msgid "e.g. The ID is the ID of X resource on X window system."
 msgstr "例えば、Xウィンドウシステム上ではXリソースのIDになります。"
 
-#: ../lib/rabbit/command/rabbit.rb:638
+#: ../lib/rabbit/command/rabbit.rb:641
 msgid "Choose a Rabbit source file"
 msgstr "Rabbitのソースファイルを選んでください。"
 
-#: ../lib/rabbit/command/rabbit.rb:755
+#: ../lib/rabbit/command/rabbit.rb:759
 msgid "dRuby URI <%s> is in use."
 msgstr "dRuby URI<%s>は使用中です."
 
-#: ../lib/rabbit/command/rabbit.rb:774
+#: ../lib/rabbit/command/rabbit.rb:778
 msgid "port <%s> for SOAP is in use."
 msgstr "SOAP用ポート<%s>は使用中です."
 
-#: ../lib/rabbit/command/rabbit.rb:795
+#: ../lib/rabbit/command/rabbit.rb:799
 msgid "port <%s> for XML-RPC is in use."
 msgstr "XML-RPC用ポート<%s>は使用中です."
 
-#: ../lib/rabbit/command/rabbit.rb:856
+#: ../lib/rabbit/command/rabbit.rb:860
 msgid "Window ID: %d"
 msgstr "ウィンドウID: %d"
 
@@ -1242,14 +1242,22 @@ msgstr "enscript: サポートしていない要素名です: %s"
 msgid "tried mimeTeX commands: %s"
 msgstr "実行したmimeTeXコマンド名: %s"
 
-#: ../lib/rabbit/parser/markdown/converter.rb:154 ../test/parser/test-markdown.rb:306
+#: ../lib/rabbit/parser/markdown/converter.rb:154 ../test/parser/test-markdown.rb:340
 msgid "multiple ![alt]{image} in a paragraph isn't supported."
 msgstr "ひとつの段落中で複数の「![alt]{image}」を使うことはできません。"
 
-#: ../lib/rabbit/parser/markdown/converter.rb:323
+#: ../lib/rabbit/parser/markdown/converter.rb:265 ../test/parser/test-markdown.rb:354
+msgid "horizontal rule isn't supported."
+msgstr "水平線はサポートしていません"
+
+#: ../lib/rabbit/parser/markdown/converter.rb:327
 msgid "multiple ![]('XXX.png'){:align='right'} isn't supported."
 msgstr "複数の「![]('XXX.png'){:align='right'}」はサポートしていません。"
 
+#: ../lib/rabbit/parser/markdown/converter.rb:385
+msgid "HTML isn't supported."
+msgstr "HTMLはサポートしていません"
+
 #: ../lib/rabbit/parser/rd/ext/block-verbatim.rb:61
 msgid "multiple 'align = right' isn't supported."
 msgstr "複数の'align = right'はサポートしていません。"
@@ -1404,7 +1412,7 @@ msgstr "すべての公開可能な公開場所にこのテーマを公開"
 msgid "Publish the theme to %s"
 msgstr "このテーマを%sに公開"
 
-#: ../lib/rabbit/theme/applier.rb:610 ../lib/rabbit/theme/auto-slide/auto-slide.rb:1 ../lib/rabbit/theme/slide-background/slide-background.rb:1
+#: ../lib/rabbit/theme/applier.rb:616 ../lib/rabbit/theme/auto-slide/auto-slide.rb:1 ../lib/rabbit/theme/slide-background/slide-background.rb:1
 msgid "%s is deprecated. Use %s instead."
 msgstr "%sは非推奨です.代わりに%sを使ってください."
 
@@ -2723,14 +2731,3 @@ msgstr "影の色。"
 #: ../lib/rabbit/theme/title-slide-background-image/property.rb:2
 msgid "TitleSlideBackgroundImage"
 msgstr "タイトルスライド背景画像"
-
-#~ msgid "Server"
-#~ msgstr "サーバ"
-#~ msgid "Specify whether to run as server."
-#~ msgstr "サーバとして動作するかどうかを指定します."
-#~ msgid "going to shutdown..."
-#~ msgstr "終了中です..."
-#~ msgid "DRb.thread done."
-#~ msgstr "DRB.threadは終了しました."
-#~ msgid "multiple {{image, 'XXX.png', :align => :right}} isn't supported."
-#~ msgstr "複数の{{image, 'XXX.png', :align => :right}}はサポートしていません。"
diff --git a/po/ja/rabbit.po b/po/ja/rabbit.po
index 7053ec2..54fa27c 100644
--- a/po/ja/rabbit.po
+++ b/po/ja/rabbit.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Rabbit 0.5.4\n"
 "Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2015-09-05 23:04+0900\n"
+"PO-Revision-Date: 2016-05-27 13:29+0900\n"
 "Last-Translator: Kouhei Sutou <kou at cozmixng.org>\n"
 "Language-Team: Kouhei Sutou <kou at cozmixng.org> and Kobayashi Noritada <nori1 at d"
 "olphin.c.u-tokyo.ac.jp>\n"
@@ -950,9 +950,15 @@ msgstr "実行したmimeTeXコマンド名: %s"
 msgid "multiple ![alt]{image} in a paragraph isn't supported."
 msgstr "ひとつの段落中で複数の「![alt]{image}」を使うことはできません。"
 
+msgid "horizontal rule isn't supported."
+msgstr "水平線はサポートしていません"
+
 msgid "multiple ![]('XXX.png'){:align='right'} isn't supported."
 msgstr "複数の「![]('XXX.png'){:align='right'}」はサポートしていません。"
 
+msgid "HTML isn't supported."
+msgstr "HTMLはサポートしていません"
+
 msgid "multiple 'align = right' isn't supported."
 msgstr "複数の'align = right'はサポートしていません。"
 
diff --git a/sample/rabbit.md b/sample/rabbit.md
index 6158d52..ad595e5 100644
--- a/sample/rabbit.md
+++ b/sample/rabbit.md
@@ -24,7 +24,7 @@ theme
 
 # 機能: 表示(1)
 
-* *強調*
+* *強調*・~~削除~~
 * ソースの色付け
 
 # 機能: 表示(2)
diff --git a/test/parser/test-markdown.rb b/test/parser/test-markdown.rb
index 947259b..837a962 100644
--- a/test/parser/test-markdown.rb
+++ b/test/parser/test-markdown.rb
@@ -96,6 +96,40 @@ class RabbitParserMarkdownTest < Test::Unit::TestCase
       end
     end
 
+    class DeletedTextTest < self
+      def test_simple
+        assert_equal([
+                       "Body", [
+                         "Paragraph",
+                         ["Text", "Hello "],
+                         ["DeletedText", ["Text", "deleted"]],
+                         ["Text", " World"],
+                       ],
+                     ],
+                     parse("Hello ~~deleted~~ World"))
+      end
+
+      def test_start_only
+        assert_equal([
+                       "Body", [
+                         "Paragraph",
+                         ["Text", "Hello ~~ World"],
+                       ],
+                     ],
+                     parse("Hello ~~ World"))
+      end
+
+      def test_escaple
+        assert_equal([
+                       "Body", [
+                         "Paragraph",
+                         ["Text", "Hello ~~not deleted~~ World"],
+                       ],
+                     ],
+                     parse("Hello \\~\\~not deleted\\~\\~ World"))
+      end
+    end
+
     class SyntaxHighlightTest < self
       def test_indent_lang
         assert_equal([
@@ -312,5 +346,18 @@ a ![](#{image_path})
         end
       end
     end
+
+    class HorizontalRuleTest < self
+      include Rabbit::GetText
+
+      def test_unsupported
+        message = _("horizontal rule isn't supported.")
+        assert_raise(Rabbit::ParseError.new(message)) do
+          parse(<<-MARKDOWN)
+---
+          MARKDOWN
+        end
+      end
+    end
   end
 end

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ruby-extras/rabbit.git



More information about the Pkg-ruby-extras-commits mailing list