[DRE-commits] [rabbit] 01/11: New upstream version 2.2.0

Daisuke Higuchi dai at moszumanska.debian.org
Sun Aug 6 03:59:07 UTC 2017


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

dai pushed a commit to branch master
in repository rabbit.

commit 61e76fd572fe484715c595b65705e79b87271546
Author: HIGUCHI Daisuke (VDR dai) <dai at debian.org>
Date:   Sun Aug 6 11:53:49 2017 +0900

    New upstream version 2.2.0
---
 Gemfile                                            |    2 +-
 README                                             |    1 -
 Rakefile                                           |   46 +-
 bin/rabbit                                         |    4 +-
 data/locale/en/LC_MESSAGES/rabbit.mo               |  Bin 488 -> 447 bytes
 data/locale/fr/LC_MESSAGES/rabbit.mo               |  Bin 461 -> 420 bytes
 data/locale/ja/LC_MESSAGES/rabbit.mo               |  Bin 65224 -> 66803 bytes
 doc/_config.yml                                    |   29 +-
 doc/_layouts/en.html                               |    4 +-
 doc/_layouts/ja.html                               |    4 +-
 doc/_layouts/skeleton.html                         |   62 +-
 doc/css/rabbit.css                                 |   66 +-
 doc/en/development.rd                              |   22 +-
 doc/en/faq.rd                                      |  136 +-
 doc/en/hiki.hiki                                   |    3 +-
 doc/en/how-to-make/markdown.md                     |   37 +-
 doc/en/index.rd                                    |   55 +-
 doc/en/install/homebrew.rd                         |    4 +-
 doc/en/install/windows.rd                          |   94 +-
 doc/en/news.rd                                     |  545 +-
 doc/en/rd.rd                                       |    3 +-
 doc/en/sample/hiki/rabbit.hiki                     |    3 +-
 doc/en/slides.rd                                   |    4 +
 doc/en/usage.rd                                    |    4 +
 doc/en/usage/platform/os-x.rd                      |   13 +
 doc/en/usage/rabbit-slide.rd                       |  236 +-
 doc/images/jp.png                                  |  Bin 420 -> 0 bytes
 doc/images/screenshots/en/blue-circle-raw.png      |  Bin 8373 -> 8531 bytes
 doc/images/screenshots/en/blue-circle.png          |  Bin 12538 -> 12696 bytes
 doc/images/screenshots/en/clear-blue-raw.png       |  Bin 6503 -> 6754 bytes
 doc/images/screenshots/en/clear-blue.png           |  Bin 10716 -> 10912 bytes
 doc/images/screenshots/en/cozmixng-raw.png         |  Bin 10308 -> 10571 bytes
 doc/images/screenshots/en/cozmixng.png             |  Bin 14878 -> 15155 bytes
 doc/images/screenshots/en/dark-gradation-raw.png   |  Bin 11019 -> 12698 bytes
 doc/images/screenshots/en/dark-gradation.png       |  Bin 14973 -> 16499 bytes
 doc/images/screenshots/en/day-white-raw.png        |  Bin 5491 -> 5689 bytes
 doc/images/screenshots/en/day-white.png            |  Bin 9628 -> 9761 bytes
 doc/images/screenshots/en/debian-raw.png           |  Bin 9538 -> 10365 bytes
 doc/images/screenshots/en/debian.png               |  Bin 13978 -> 14824 bytes
 doc/images/screenshots/en/green-circle-raw.png     |  Bin 8424 -> 8584 bytes
 doc/images/screenshots/en/green-circle.png         |  Bin 12616 -> 12775 bytes
 doc/images/screenshots/en/night-black-raw.png      |  Bin 5676 -> 5820 bytes
 doc/images/screenshots/en/night-black.png          |  Bin 9495 -> 9634 bytes
 doc/images/screenshots/en/rabbit-raw.png           |  Bin 7937 -> 8231 bytes
 doc/images/screenshots/en/rabbit.png               |  Bin 12127 -> 12341 bytes
 doc/images/screenshots/en/ranguba-raw.png          |  Bin 7124 -> 7968 bytes
 doc/images/screenshots/en/ranguba.png              |  Bin 11669 -> 12294 bytes
 doc/images/screenshots/en/red-frame-raw.png        |  Bin 6630 -> 6825 bytes
 doc/images/screenshots/en/red-frame.png            |  Bin 10847 -> 11002 bytes
 doc/images/screenshots/en/ruby-gnome2-raw.png      |  Bin 10859 -> 11034 bytes
 doc/images/screenshots/en/ruby-gnome2.png          |  Bin 15261 -> 15446 bytes
 doc/images/screenshots/en/rubykaigi2011-raw.png    |  Bin 31553 -> 30523 bytes
 doc/images/screenshots/en/rubykaigi2011.png        |  Bin 37432 -> 36148 bytes
 doc/images/screenshots/ja/blue-circle-raw.png      |  Bin 8380 -> 8745 bytes
 doc/images/screenshots/ja/blue-circle.png          |  Bin 12637 -> 12994 bytes
 doc/images/screenshots/ja/clear-blue-raw.png       |  Bin 6973 -> 7531 bytes
 doc/images/screenshots/ja/clear-blue.png           |  Bin 11603 -> 12065 bytes
 doc/images/screenshots/ja/cozmixng-raw.png         |  Bin 10991 -> 11536 bytes
 doc/images/screenshots/ja/cozmixng.png             |  Bin 15876 -> 16361 bytes
 doc/images/screenshots/ja/dark-gradation-raw.png   |  Bin 11023 -> 12825 bytes
 doc/images/screenshots/ja/dark-gradation.png       |  Bin 15214 -> 16913 bytes
 doc/images/screenshots/ja/day-white-raw.png        |  Bin 5981 -> 6436 bytes
 doc/images/screenshots/ja/day-white.png            |  Bin 10422 -> 10751 bytes
 doc/images/screenshots/ja/debian-raw.png           |  Bin 9514 -> 10404 bytes
 doc/images/screenshots/ja/debian.png               |  Bin 13983 -> 14975 bytes
 doc/images/screenshots/ja/green-circle-raw.png     |  Bin 8438 -> 8789 bytes
 doc/images/screenshots/ja/green-circle.png         |  Bin 12672 -> 13012 bytes
 doc/images/screenshots/ja/night-black-raw.png      |  Bin 6188 -> 6517 bytes
 doc/images/screenshots/ja/night-black.png          |  Bin 10324 -> 10555 bytes
 doc/images/screenshots/ja/rabbit-raw.png           |  Bin 8650 -> 9182 bytes
 doc/images/screenshots/ja/rabbit.png               |  Bin 13045 -> 13464 bytes
 doc/images/screenshots/ja/ranguba-raw.png          |  Bin 7562 -> 8634 bytes
 doc/images/screenshots/ja/ranguba.png              |  Bin 12386 -> 13275 bytes
 doc/images/screenshots/ja/red-frame-raw.png        |  Bin 7039 -> 7480 bytes
 doc/images/screenshots/ja/red-frame.png            |  Bin 11278 -> 11654 bytes
 doc/images/screenshots/ja/ruby-gnome2-raw.png      |  Bin 11386 -> 11768 bytes
 doc/images/screenshots/ja/ruby-gnome2.png          |  Bin 15967 -> 16386 bytes
 doc/images/screenshots/ja/rubykaigi2011-raw.png    |  Bin 31464 -> 30569 bytes
 doc/images/screenshots/ja/rubykaigi2011.png        |  Bin 37597 -> 36335 bytes
 doc/images/us.png                                  |  Bin 609 -> 0 bytes
 doc/index.html.en                                  |   36 +-
 doc/index.html.ja                                  |   40 +-
 doc/ja/development.rd                              |    4 +-
 doc/ja/faq.rd                                      |   69 +-
 doc/ja/hiki.hiki                                   |    3 +-
 doc/ja/how-to-make/markdown.md                     |   38 +-
 doc/ja/how-to-make/theme.rd                        |  100 +-
 doc/ja/index.rd                                    |   81 +-
 doc/ja/install/homebrew.rd                         |    3 +-
 doc/ja/install/windows.rd                          |   98 +-
 doc/ja/news.rd                                     |  600 +-
 doc/ja/rd.rd                                       |    3 +-
 doc/ja/sample/hiki/rabbit.hiki                     |   11 +-
 doc/ja/usage/rabbit-slide.rd                       |   30 +-
 doc/ja/usage/rabbit-theme.rd                       |   14 +-
 doc/ja/usage/rabbit.rd                             |  248 +-
 entities/ent2rb.rb                                 |   52 +-
 lib/rabbit/action.rb                               |    2 +-
 lib/rabbit/action/basic.rb                         |    2 +-
 lib/rabbit/canvas.rb                               |   49 +-
 lib/rabbit/command/rabbit-slide.rb                 |   25 +-
 lib/rabbit/command/rabbit.rb                       |  130 +-
 lib/rabbit/cursor-manager.rb                       |   61 +-
 lib/rabbit/element/container-element.rb            |    8 +-
 lib/rabbit/element/index-slide.rb                  |    4 +-
 lib/rabbit/element/poppler-slide.rb                |    6 +
 lib/rabbit/element/poppler-title-slide.rb          |    6 +
 lib/rabbit/element/slide-element.rb                |   15 +
 lib/rabbit/element/text-container-element.rb       |   31 +-
 lib/rabbit/element/text-renderer.rb                |   15 +-
 lib/rabbit/element/text.rb                         |    7 +
 lib/rabbit/{rabbit.rb => error.rb}                 |   40 +-
 lib/rabbit/formatter.rb                            |   18 +-
 lib/rabbit/frame.rb                                |   58 +-
 lib/rabbit/front.rb                                |   20 +-
 lib/rabbit/gem-pusher.rb                           |   66 +
 lib/rabbit/gesture/handler.rb                      |    2 +-
 lib/rabbit/graffiti/config-dialog.rb               |   12 +-
 lib/rabbit/graffiti/processor.rb                   |   20 +-
 lib/rabbit/gtk.rb                                  |  199 +
 lib/rabbit/html/template.erb                       |    2 +-
 .../test-eps.rb => lib/rabbit/image-data-loader.rb |   45 +-
 lib/rabbit/image/base.rb                           |   20 +-
 lib/rabbit/image/default.rb                        |    7 +-
 lib/rabbit/image/dia.rb                            |   17 +-
 lib/rabbit/image/eps.rb                            |   38 +-
 lib/rabbit/image/gimp.rb                           |    5 +-
 lib/rabbit/image/pdf.rb                            |   23 +-
 lib/rabbit/image/svg.rb                            |   12 +-
 lib/rabbit/info-window.rb                          |  148 +-
 lib/rabbit/keys.rb                                 |  150 +-
 lib/rabbit/logger.rb                               |   24 +-
 lib/rabbit/logger/base.rb                          |   10 +-
 lib/rabbit/logger/gui.rb                           |   26 +-
 lib/rabbit/logger/stderr.rb                        |   17 +-
 lib/rabbit/menu.rb                                 |   40 +-
 lib/rabbit/parser.rb                               |    6 +-
 lib/rabbit/parser/base.rb                          |    6 -
 lib/rabbit/parser/ext/aafigure.rb                  |   10 +-
 lib/rabbit/parser/ext/blockdiag.rb                 |    8 +-
 lib/rabbit/parser/ext/entity.rb                    | 7358 ++++++++++----------
 lib/rabbit/parser/image.rb                         |    4 +
 lib/rabbit/parser/markdown.rb                      |   99 +-
 lib/rabbit/parser/markdown/converter.rb            |  210 +-
 lib/rabbit/parser/pdf.rb                           |   10 +-
 lib/rabbit/parser/rd.rb                            |    6 +-
 lib/rabbit/parser/rd/ext/block-verbatim.rb         |   88 +-
 lib/rabbit/parser/rd/rt/rt2rabbit-lib.rb           |    4 +-
 lib/rabbit/parser/wiki.rb                          |    4 +
 lib/rabbit/parser/wiki/output.rb                   |   57 +-
 lib/rabbit/{version.rb => password-reader.rb}      |   19 +-
 lib/rabbit/progress.rb                             |   36 +-
 lib/rabbit/rabbit.rb                               |  233 +-
 lib/rabbit/readme-parser.rb                        |   63 +-
 lib/rabbit/renderer.rb                             |    2 +-
 lib/rabbit/renderer/base.rb                        |   54 +-
 lib/rabbit/renderer/color.rb                       |   16 +-
 lib/rabbit/renderer/display/base.rb                |  105 +-
 lib/rabbit/renderer/display/button-handler.rb      |   12 +-
 lib/rabbit/renderer/display/clutter-embed.rb       |   20 +-
 lib/rabbit/renderer/display/drawing-area-base.rb   |   58 +-
 .../renderer/display/drawing-area-primitive.rb     |   55 +-
 .../renderer/display/drawing-area-view-only.rb     |    2 +-
 lib/rabbit/renderer/display/drawing-area.rb        |    2 +-
 lib/rabbit/renderer/display/gesture.rb             |    2 +-
 lib/rabbit/renderer/display/info.rb                |    5 +
 lib/rabbit/renderer/display/key-handler.rb         |   44 +-
 lib/rabbit/renderer/display/magnifier.rb           |   12 +-
 lib/rabbit/renderer/display/mask.rb                |   39 +-
 lib/rabbit/renderer/display/progress.rb            |    2 +-
 lib/rabbit/renderer/display/scroll-handler.rb      |    6 +-
 lib/rabbit/renderer/display/search.rb              |    9 +-
 lib/rabbit/renderer/display/spotlight.rb           |    4 +-
 lib/rabbit/renderer/engine.rb                      |   19 +-
 lib/rabbit/renderer/engine/cairo.rb                |  124 +-
 lib/rabbit/renderer/engine/gdk.rb                  |  230 -
 lib/rabbit/renderer/kernel.rb                      |   30 +-
 lib/rabbit/renderer/offscreen.rb                   |  120 +
 lib/rabbit/renderer/pixmap.rb                      |   25 -
 lib/rabbit/renderer/pixmap/base.rb                 |  127 -
 lib/rabbit/renderer/pixmap/cairo.rb                |   23 -
 lib/rabbit/renderer/pixmap/gdk.rb                  |   29 -
 lib/rabbit/renderer/pixmap/gl.rb                   |   46 -
 lib/rabbit/renderer/print/base.rb                  |   10 +-
 lib/rabbit/renderer/print/cairo.rb                 |   38 +-
 lib/rabbit/renderer/print/layout.rb                |   12 +-
 lib/rabbit/renderer/print/multiple.rb              |   25 +-
 lib/rabbit/search-window.rb                        |   18 +-
 lib/rabbit/searcher.rb                             |   88 +-
 lib/rabbit/size.rb                                 |   65 +
 lib/rabbit/slide-configuration.rb                  |   11 +-
 lib/rabbit/{version.rb => slide.rb}                |   25 +-
 lib/rabbit/slideshare.rb                           |   20 +-
 lib/rabbit/soap/driver.rb                          |    2 +-
 lib/rabbit/soap/server.rb                          |    2 +-
 lib/rabbit/source-generator/markdown.rb            |    8 +-
 lib/rabbit/source/argf.rb                          |    8 +-
 lib/rabbit/source/base.rb                          |   65 +-
 lib/rabbit/source/file.rb                          |   16 +-
 lib/rabbit/source/hiki.rb                          |    2 +-
 lib/rabbit/source/memory.rb                        |    4 +-
 lib/rabbit/source/uri.rb                           |    6 +-
 lib/rabbit/stock.rb                                |   14 +-
 lib/rabbit/task/slide.rb                           |   15 +-
 lib/rabbit/task/theme.rb                           |   11 +-
 lib/rabbit/theme/applier.rb                        |   42 +-
 .../background-image-toolkit.rb                    |    9 +-
 lib/rabbit/theme/clear-blue/clear-blue.rb          |   10 +-
 .../default-block-quote/default-block-quote.rb     |    4 +-
 .../default-preformatted/default-preformatted.rb   |    5 +-
 lib/rabbit/theme/default-text/default-text.rb      |   10 -
 .../theme/default-title-text/default-title-text.rb |    5 +
 .../theme/image-slide-number/image-slide-number.rb |   12 +-
 lib/rabbit/theme/image-timer/image-timer.rb        |    5 +-
 lib/rabbit/theme/image-viewer/image-viewer.rb      |    2 +
 lib/rabbit/theme/image/image.rb                    |   24 +-
 lib/rabbit/theme/pdf/pdf.rb                        |   18 +-
 lib/rabbit/theme/searcher.rb                       |    4 +-
 lib/rabbit/theme/slide-logo/slide-logo.rb          |   64 +-
 lib/rabbit/theme/slide-show/slide-show.rb          |    4 +-
 .../syntax-highlighting/syntax-highlighting.rb     |   28 +-
 lib/rabbit/theme/tag/tag.rb                        |    4 +
 .../title-on-image-toolkit.rb                      |    6 +
 lib/rabbit/utils.rb                                |   40 +-
 lib/rabbit/version.rb                              |    4 +-
 lib/rabbit/video-window.rb                         |    8 +-
 lib/rabbit/xmlrpc/server.rb                        |    2 +-
 metadata.yml                                       | 1110 ---
 po/en/{rabbit.po => rabbit.edit.po}                |  886 +--
 po/en/rabbit.po                                    | 1200 +---
 po/fr/{rabbit.po => rabbit.edit.po}                |  883 +--
 po/fr/rabbit.po                                    | 1197 +---
 po/ja/{rabbit.po => rabbit.edit.po}                | 1007 +--
 po/ja/rabbit.po                                    | 1365 +---
 rabbit.gemspec                                     |    7 +-
 sample/image-reflection.rab                        |   12 +
 sample/note.rab                                    |   31 +
 sample/rabbit-en.hiki                              |    6 +-
 sample/rabbit-en.md                                |   39 +-
 sample/rabbit-en.rd                                |    4 +-
 sample/rabbit-slide-show-logo.svg                  |  597 ++
 sample/rabbit.hiki                                 |    6 +-
 sample/rabbit.md                                   |   51 +-
 sample/rabbit.rd                                   |    4 +-
 test/image/test-dia.rb                             |    4 +-
 test/image/test-eps.rb                             |    4 +-
 test/parser/test-markdown.rb                       |  409 ++
 test/{image/test-eps.rb => parser/test-rd.rb}      |   40 +-
 test/parser/test-wiki.rb                           |   73 +
 test/rabbit-test-utils.rb                          |   10 +-
 .../fixture.rb}                                    |   14 +-
 .../test-dia.rb => rabbit-test-utils/parser.rb}    |   52 +-
 test/run-test.rb                                   |    6 +-
 test/source-generator/test-markdown.rb             |    6 +-
 test/test-readme-parser.rb                         |  142 +-
 test/test-size.rb                                  |  152 +
 test/test-slide-configuration.rb                   |    3 +-
 test/test-source.rb                                |  123 +-
 258 files changed, 11401 insertions(+), 12447 deletions(-)

diff --git a/Gemfile b/Gemfile
index 2250adf..62c3f56 100644
--- a/Gemfile
+++ b/Gemfile
@@ -1,5 +1,5 @@
 # -*- ruby -*-
 
-source "http://rubygems.org"
+source "https://rubygems.org"
 
 gemspec
diff --git a/README b/README
deleted file mode 100644
index b0b9935..0000000
--- a/README
+++ /dev/null
@@ -1 +0,0 @@
-See doc/ or http://rabbit-shocker.org/.
diff --git a/Rakefile b/Rakefile
index c3f70dc..b47607c 100644
--- a/Rakefile
+++ b/Rakefile
@@ -1,6 +1,6 @@
 # -*- ruby -*-
 #
-# Copyright (C) 2008-2012  Kouhei Sutou <kou at cozmixng.org>
+# Copyright (C) 2008-2014  Kouhei Sutou <kou at cozmixng.org>
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -20,7 +20,9 @@ require "find"
 require "rubygems"
 require "rubygems/package_task"
 require "bundler/gem_helper"
-require "gettext/task"
+require "gettext/tools/task"
+
+task :default => :test
 
 base_dir = File.expand_path(File.dirname(__FILE__))
 $LOAD_PATH.unshift(File.join(base_dir, 'lib'))
@@ -53,9 +55,10 @@ def spec.extra_rdoc_files
   @extra_rdoc_files = force_array(super)
 end
 
-GetText::Task.new(spec) do |task|
+GetText::Tools::Task.define do |task|
+  task.spec = spec
   task.files -= Dir.glob("sample/**/*.*")
-  task.mo_base_directory = "data"
+  task.mo_base_directory = "data/locale"
 end
 
 Gem::PackageTask.new(spec) do |package|
@@ -79,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
 
@@ -152,7 +155,7 @@ EOC
   task :generate => screenshots do
     Dir.chdir("doc") do
       rm_rf("_site")
-      sh("ruby", "-S", "jekyll", "build")
+      ruby("-S", "jekyll", "build")
     end
   end
 
@@ -224,3 +227,34 @@ namespace :github do
     end
   end
 end
+
+desc "Run test"
+task :test do
+  ruby("test/run-test.rb")
+end
+
+namespace :doc do
+  related_products = [
+    "rabwii",
+    "rabbirack",
+    "rabbiter",
+  ]
+  related_product_directories = []
+  related_products.each do |related_product|
+    related_product_directory = "../#{related_product}"
+    related_product_directories << related_product_directory
+    directory related_product_directory do
+      sh("git",
+         "clone",
+         "https://github.com/rabbit-shocker/#{related_product}.git",
+         related_product_directory)
+    end
+  end
+
+  desc "Run documentation server"
+  task :server => related_product_directories do
+    Dir.chdir("doc") do
+      sh("jekyll", "server", "--watch")
+    end
+  end
+end
diff --git a/bin/rabbit b/bin/rabbit
index 5b397a0..cacf02f 100755
--- a/bin/rabbit
+++ b/bin/rabbit
@@ -1,7 +1,7 @@
 #!/usr/bin/env ruby
 # -*- ruby -*-
 #
-# Copyright (C) 2004-2012  Kouhei Sutou <kou at cozmixng.org>
+# Copyright (C) 2004-2013  Kouhei Sutou <kou at cozmixng.org>
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -19,4 +19,4 @@
 
 require "rabbit/command/rabbit"
 
-Rabbit::Command::Rabbit.run(*ARGV)
+exit(Rabbit::Command::Rabbit.run(*ARGV))
diff --git a/data/locale/en/LC_MESSAGES/rabbit.mo b/data/locale/en/LC_MESSAGES/rabbit.mo
index 0c91f6b..d02ad1e 100644
Binary files a/data/locale/en/LC_MESSAGES/rabbit.mo and b/data/locale/en/LC_MESSAGES/rabbit.mo differ
diff --git a/data/locale/fr/LC_MESSAGES/rabbit.mo b/data/locale/fr/LC_MESSAGES/rabbit.mo
index 66b0d16..1d50895 100644
Binary files a/data/locale/fr/LC_MESSAGES/rabbit.mo and b/data/locale/fr/LC_MESSAGES/rabbit.mo differ
diff --git a/data/locale/ja/LC_MESSAGES/rabbit.mo b/data/locale/ja/LC_MESSAGES/rabbit.mo
index 59fa493..185bdbd 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 279b17a..160ab29 100644
--- a/doc/_config.yml
+++ b/doc/_config.yml
@@ -1,10 +1,29 @@
 markdown: kramdown
-pygments: true
-version: 2.1.1
-release_date: 2013-06-26
-rabbiter_version: 2.0.0
-rabbiter_release_date: 2012-08-29
+version: 2.2.0
+release_date: 2017-01-22
+rabbiter_version: 2.0.3
+rabbiter_release_date: 2016-08-21
 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 478489a..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">
@@ -41,7 +39,7 @@ country: US
         <a href="http://slide.rabbit-shocker.org/"
            title="Rabbit Slide Show">
           <img src="/images/rabbit-slide-show-logo.png"
-               alt="Rabbit Slide Show" />
+               alt="Rabbit Slide Show">
         </a>
       </li>
     </ul>
diff --git a/doc/_layouts/ja.html b/doc/_layouts/ja.html
index eb0894e..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">
@@ -41,7 +39,7 @@ country: JP
         <a href="http://slide.rabbit-shocker.org/"
            title="Rabbit Slide Show">
           <img src="/images/rabbit-slide-show-logo.png"
-               alt="Rabbit Slide Show" />
+               alt="Rabbit Slide Show">
         </a>
       </li>
     </ul>
diff --git a/doc/_layouts/skeleton.html b/doc/_layouts/skeleton.html
index ae752ae..9152463 100644
--- a/doc/_layouts/skeleton.html
+++ b/doc/_layouts/skeleton.html
@@ -1,7 +1,8 @@
 <!DOCTYPE html>
 <html lang="{{ page.language }}">
   <head>
-    <meta charset="UTF-8" />
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <title>Rabbit - {{ page.title }}</title>
     <link rel="shortcut icon" href="/favicon.ico"
           type="image/vnd.microsfot.icon">
@@ -20,23 +21,45 @@
     <!--[if lt IE 9]>
     <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
     <![endif]-->
+    <script>
+      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+      ga('create', 'UA-12143252-4', 'rabbit-shocker.org');
+      ga('send', 'pageview');
+    </script>
   </head>
   <body>
+    <div id="fb-root"></div>
+    <script>(function(d, s, id) {
+  var js, fjs = d.getElementsByTagName(s)[0];
+  if (d.getElementById(id)) return;
+  js = d.createElement(s); js.id = id;
+  js.src = "//connect.facebook.net/{{ page.language }}_{{ page.country }}/all.js#xfbml=1";
+  fjs.parentNode.insertBefore(js, fjs);
+}(document, 'script', 'facebook-jssdk'));</script>
+
     <header id="header">
       <h1 class="title">
-	<a href="/">
+        <a href="/">
           <span class="project">Rabbit</span>
           <span class="separator">-</span>
           <span class="description">{{ page.title }}</span>
         </a>
       </h1>
       <div class="facebook-buttons">
-	<fb:like href="http://www.facebook.com/pages/Rabbit/202603309766491"
-                 layout="standard"></fb:like>
+        <div class="fb-like"
+             data-href="http://www.facebook.com/pages/Rabbit/202603309766491"
+             data-layout="standard"
+             data-send="true"
+             data-show-faces="true"
+             data-width="320"></div>
       </div>
       <pre id="install" class="command">gem install rabbit</pre>
       <div class="other-language-links">
-	<ul>
+        <ul>
 {% if page.language != "en" %}
   {% capture en_url %}
     {% if page.lang_suffix %}
@@ -45,7 +68,7 @@
       /en{{ page.url | remove_first:page.language | replace:'//','/' | remove:"index.html" }}
     {% endif %}
   {% endcapture %}
-	  <li><a href="{{ en_url | remove:' ' | strip_newlines }}" alt="English" title="English"><img src="/images/us.png"></a></li>
+          <li><a href="{{ en_url | remove:' ' | strip_newlines }}">English</a></li>
 {% endif %}
 {% if page.language != "ja" %}
   {% capture ja_url %}
@@ -55,37 +78,14 @@
       /ja{{ page.url | remove_first:page.language | replace:'//','/' | remove:"index.html" }}
     {% endif %}
   {% endcapture %}
-	  <li><a href="{{ ja_url | remove:' ' | strip_newlines }}" alt="日本語" title="日本語"><img src="/images/jp.png"></a></li>
+          <li><a href="{{ ja_url | remove:' ' | strip_newlines }}">日本語</a></li>
 {% endif %}
-	</ul>
+        </ul>
       </div>
     </header>
     {{ content }}
     <footer>
       <p class="copyright">© 2004-{{ site.time | date:"%Y" }} Kouhei Sutou.</p>
     </footer>
-    <script src="http://connect.facebook.net/{{ page.language }}_{{ page.country }}/all.js"></script>
-    <script>
-    FB.init({
-      appId  : null,
-      status : true, // check login status
-      cookie : true, // enable cookies to allow the server to access the session
-      xfbml  : true  // parse XFBML
-    });
-    </script>
-    <script type="text/javascript">
-      if (document.location.protocol != "file:" &&
-          document.location.host != "localhost") {
-	var _gaq = _gaq || [];
-	_gaq.push(['_setAccount', 'UA-12143252-4']);
-	_gaq.push(['_trackPageview']);
-
-	(function() {
-	  var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
-	  ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-	  var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
-	})();
-      }
-    </script>
   </body>
 </html>
diff --git a/doc/css/rabbit.css b/doc/css/rabbit.css
index 00502b6..a07a702 100644
--- a/doc/css/rabbit.css
+++ b/doc/css/rabbit.css
@@ -38,7 +38,7 @@ h1 a
     height: 90px;
     padding-top: 30px;
     padding-left: 130px;
-    margin-right: 570px;
+    margin-right: 440px;
 }
 
 h1 span.title
@@ -115,7 +115,7 @@ header div.other-language-links
 {
     position: absolute;
     top: 10px;
-    right: 500px;
+    right: 370px;
     /* width: 50px; */
 }
 
@@ -127,9 +127,9 @@ header div.other-language-links li
     margin: 0;
 }
 
-header div.other-language-links a img
+header div.other-language-links a
 {
-    border-style: none;
+    color: white;
 }
 
 div.latest-release p
@@ -301,9 +301,67 @@ nav a:active
 footer
 {
     display: block;
+    z-index: -1;
 }
 
 footer p.copyright
 {
     text-align: center;
 }
+
+ at media screen and (max-width: 640px)
+{
+    h1
+    {
+        margin-left: 0;
+    }
+
+    h1 a
+    {
+        padding-left: 110px;
+        margin-right: 10px;
+    }
+
+    div.facebook-buttons
+    {
+        position: static;
+        width: 90%;
+        margin-left: auto;
+        margin-right: auto;
+    }
+
+    pre#install
+    {
+        display: none;
+    }
+
+    header div.other-language-links
+    {
+        right: 10px;
+    }
+
+    section#screenshots
+    {
+        margin-left: 10px;
+        margin-right: 10px;
+    }
+
+    div.latest-release,
+    nav.menu
+    {
+        padding-left: 10px;
+        padding-right: 10px;
+    }
+
+    div#body div#main
+    {
+        margin-right: 0px;
+    }
+
+    div#body nav#sidebar
+    {
+        position: static;
+        width: auto;
+        margin-top: 20px;
+    }
+}
diff --git a/doc/en/development.rd b/doc/en/development.rd
index 826fc42..46ca5ba 100644
--- a/doc/en/development.rd
+++ b/doc/en/development.rd
@@ -1,5 +1,5 @@
 ---
-layout: ja
+layout: en
 title: Development
 ---
 == Repository
@@ -10,11 +10,11 @@ Rabbit's repository is
 == Commit mail
 
 You can stay up to date on the latest development by
-subscribing to the git commit ML. If you want to subscribe
-to the ML, send an e-mail like the following.
+subscribing to the git commit ML. If you want to join,
+send an e-mail like the following.
 
-  To: commit at ml.rabbit-shocker.org
-  Cc: null at cozmixng.org
+  To: rabbit at ml.commit-email.info
+  Cc: null at commit-email.info
   Subject: Subscribe
 
   Subscribe
@@ -28,22 +28,22 @@ reporting a bug or a request.
 
 == Contribution
 
-We welcome to your contribution. :)
+We welcome your contribution. :)
 
 === Theme
 
-We always welcome to a new theme. Please send your theme
-when you create a theme.
+We always welcome new theme. Please tell us your own theme
+when you create one.
 
 === Documentation
 
-Rabbit lacks documentation in English. Please consider that
-you write your tips to ((<faq.rd/FAQ>)) page.
+Rabbit lacks of documentation in English. Please consider 
+to write your tips to ((<faq.rd/FAQ>)) page.
 
 === Translation
 
 Please translate messages in Rabbit into your native
-language. You can make po/#{LANG}/rabbit.po by the running
+language. You can make po/#{LANG}/rabbit.po by running
 the following:
 
   % mkdir po/#{LANG}
diff --git a/doc/en/faq.rd b/doc/en/faq.rd
index e565e1c..6600d46 100644
--- a/doc/en/faq.rd
+++ b/doc/en/faq.rd
@@ -4,15 +4,147 @@ title: FAQ
 ---
 == FAQ
 
-This page lists frequently asked questions. Here is a format used in this page.
+This page lists frequently asked questions. Here is the format used on this page.
 
 == Question...
 
 Answer...
 
-== How to make a PDF which has some slides per page?
+== How can I embed tweets on a Rabbit slide?
+
+Use the "rabbiter" command. For exapmle, you use the rabbiter command as follows:
+ (after starting Rabbit, you will see tweets including the word "ruby" at the bottom of the slides in the form of comments)
+
+  % rabbiter --filter ruby
+
+== How can I flow tweets on slides like an embeded video?
+
+Run ((%rabbit%)) command with ((%--comment-theme stream-comment%)) options.
+
+  % rabbit --comment-theme stream-comment slide.rab
+
+Taking into tweets with ((%rabbiter%)) command,
+you can flow them on your slides.
+
+== How to create a PDF with multiple slides per page?
 
 For example, we make XXX_multi.pdf which has 8 slides per
 page from XXX.rd.
 
   % rabbit -p --slides-per-page 8 -o XXX_multi.pdf XXX.rd
+
+== What should I do to use hare and tortoise on PDF slide?
+
+Use --allotted-time option.
+
+  % rabbit --allotted-time 5m slide.pdf
+
+The same value format of 
+
+  # _
+  : allotted-time
+      5m
+
+on slides are available for that of --allotted-time. 
+
+For this example you set "5m" and the tortoise runs just 5 minutes.
+
+== How can I reset tortoise to start?
+
+Hit Alt+t
+
+== How can I include default style slides with one used "Takahashi method"?
+
+Takahashi method is called lightning-talk as far as Rabbit.
+
+We generally use the theme when we want to make pure Takahashi method slides.
+
+  = Title
+  : author
+      Anonymous
+  : theme
+     lightning-talk # <= like this
+
+  = I am
+
+  = a Rubyist!
+
+If you'd like to include plain slide which has e.g. unordered list as well as Takahashi method, you cannot do it in that way. Because the theme lightning-talk does not have any style definition for its display like list.
+
+You can resolve the issue with including theme. Some themes which are mixed with lightning-talk theme are prepared. For example, a theme named "lightning-rabbit" is a mixture of "rabbit" and "lightning-talk". With this, you will get what you want as follows:
+
+  = Title
+  : author
+     anonymous
+  : theme
+     lightning-rabbit
+
+  = I am
+
+  = ...
+
+    * ...
+    * ...
+    * ...
+
+  = a Rubyist
+
+ The theme "lightning-rabbit" is very neat like below.
+
+  # enscript ruby
+  include_theme("rabbit")       # (1)
+
+  @lightning_talk_proc_name = "lightning-rabbit"
+  @lightning_talk_as_large_as_possible = true
+  include_theme("lightning-talk-toolkit")
+
+  match(Slide) do |slides|
+    slides.each do |slide|
+      if slide.lightning_talk?  # (2)
+        slide.lightning_talk    # (3)
+      end
+    end
+  end
+
+So in other words,
+
+  (1) Apply a theme for its base.((1))
+  (2) For only slides for lightning-talk((2))
+      overwrite its definition for look in one for lightning-talk. ((3))
+
+In this way, you can include Takahashi method to your slide. Note that ((*slide.lightning_talkは最後に!*)) should be loaded in the last owing to overwrite default settings.
+
+Finally, some themes have another name, for example, (({slide.lightning_talk})) also can be called (({slide.takahashi})) and (({slide.lightning_talk?}))can be called (({slide.takahashi?})).
+
+Happy Rabbitting!
+
+== How can I change property of specific slides?
+
+In following example, you can change font to Italic on slides containing phrase "Redhanded".
+
+  match Slide do |slides|
+    slides.each do |slide|
+      if slide.match?(/Redhanded/)
+        slide.prop_set("style", "italic")
+      end
+    end
+  end
+
+== How can I set new line?
+
+Use following charachters.
+
+  \n
+
+This is available in both content and title.
+
+TODO: Formerly we used 
 but now can use \n
+, which means following sentence is oblsolete. Oh my god...
+
+Rabbit has got into the magic as well as Ruby, which "makes what you shouldn't looks ugly". ((-Using (({$})) for global vars is a kind of "Magic Powder" for Ruby. -))。
+
+The reason it is difficult to put new lines in Rabbit and they makes source dirty is that Rabbit wants you not to use so many new lines.
+
+The most important reason of it is that you shouldn't take too long sentences to set new line on slides. You'd better think of shorter one rather than use long terms with many new lines.
+
+If you show so long sentence on your stage, they will achieve more attention than that towards you. Note that some says you should be appearant when want to tell them the most important thing((-sure ?-)). Longer sentence makes it much difficult for you to do so.
diff --git a/doc/en/hiki.hiki b/doc/en/hiki.hiki
index aa5db8b..c8e0bc1 100644
--- a/doc/en/hiki.hiki
+++ b/doc/en/hiki.hiki
@@ -1,8 +1,8 @@
 ---
 layout: ja
 title: Hiki notation
-apply_data: false
 ---
+{% raw %}
 !Paragraphs
 
 Consecutive lines are concatenated into a single paragraph.
@@ -323,3 +323,4 @@ which is not surrounded by <p> ... </p>.
  {{pre('
  ...
  ')}}
+{% endraw %}
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 881ad1e..5beaa49 100644
--- a/doc/en/index.rd
+++ b/doc/en/index.rd
@@ -2,47 +2,37 @@
 layout: en
 title: README
 ---
-== What is Rabbit?
+== About Rabbit
 
-Rabbit is a presentation tool for programmer, especially
-Rubyist.
+Rabbit is a presentation tool for programmer, especially Rubyist.
 
-You can create presentation slides as a text format. So you
-can use your favorite editor and version control system for
-creating presentation slides.
+Slide is written in text format, so you can use your favorite editor or versioning tool to make it.
 
-Rabbit has programmer-friendly keybord interface. If you
-type a key then you will get what you want because Rabbit
-uses Emacs/Vi like key bindings by default.
+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.
 
-You can just use Rabbit as a slide viewer because Rabbit can
-also show PDF format slide. You can create by Keynote or
-what you like and use Rabbit as a slide viewer for
-programmer-friendly keybord interface.
-
-You can customize slide look and feed by Ruby. It's very
-important for Rubyist that you can program when you make
-presentation slides.
+You can customize its look with Ruby code, so you can hack even when making slides! 
 
 === Format
 
-Rabbit supports RD, Wiki notation and Markdown for text format.
+Rabbit supports RD, Wiki markup and Markdown for its format.
 
-((<rd.rd/RD>)) is an abbreviation of Ruby Document. It's
-easy to read text format.
+((<rd.rd/RD>)) is an abbreviation of Ruby Document, which is
+easy to read for its simple text format.
 
-Rabbit supports a ((<hiki.rd/Hiki notation>)) that is a
-dialect of Wiki notations.
+Rabbit supports a ((<hiki.rd/Hiki notation>)); one of
+the dialects of Wiki notations.
 
 === Interface
 
-Rabbit has useful slide operation interface.
+Rabbit has useful slide operation interface as follows.
 
-  * Keybord interface: If you type a key then you will get
+  * Keybord interface: If you hit a key, then you will get
     what you want.
-  * Mouse gesture: Just for a fun. It'll not be used while
-    presentation but it's fun while creating.
-  * Here and tortoise: Visualize remaining time.
+  * Mouse gesture: Just for a fun. It'll not be used during
+    presentation but it's fun for creating.
+  * Hare and tortoise: Visualize remaining time with animation of their race.
 
 == Install
 
@@ -158,14 +148,14 @@ other words the committer retains copyright of his or her
 committed code and patch authors retain the copyright of
 their submitted patch code.
 
-The images above are copyright their respective owners.
+The images above are copyrighted by their respective owners.
 
 == License
 
 Licensed under GPLv2 or later. For more information see 'GPL'
 file. Provided patches, codes and so on are also licensed under GPLv2
 or later. Kouhei Sutou can change the license of them. He considers
-that authores of them agree with the rule when they contribute their
+that authors of them agree with the rule when they contribute their
 patches, codes and so on.
 
 lib/rabbit/div/prototype.js released under an MIT-style
@@ -176,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
@@ -207,11 +198,11 @@ Here is a contributor list. Thanks to them!!!
     * Makes presentations with Rabbit.
     * Updated INSTALL.win32.ja.
     * Updated INSTALL.macosx-macports.{ja,en}.
-  * Vincent: Helped make Rabbit work on Max OS X. He also 
+  * Vincent: Helped make Rabbit work on Max OS X. He also
     made french messages.
   * sode: Made the cool rabbit, cute rabbit and cute
     turtle.
-  * Kazuhiko: Sent me many bug reports. He also makes 
+  * Kazuhiko: Sent me many bug reports. He also makes
     presentations with Rabbit and gives me ideas for theme
     design.
   * noritada: Sent me a bug report for document.
diff --git a/doc/en/install/homebrew.rd b/doc/en/install/homebrew.rd
index 72efda1..c22d794 100644
--- a/doc/en/install/homebrew.rd
+++ b/doc/en/install/homebrew.rd
@@ -22,15 +22,17 @@ Then add /usr/local/bin to your PATH.
 
   $ brew install cairo
   $ brew link cairo
+  $ brew link --overwrite pixman
   $ brew install pango
   $ brew install gtk+
   $ brew install poppler --with-glib
+  $ brew install libsvg
 
 === Install Rabbit
 
 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 dfd25de..f1bea20 100644
--- a/doc/en/install/windows.rd
+++ b/doc/en/install/windows.rd
@@ -7,97 +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 1.8.7 from ((<download page of RubyInstall for
-Windows|URL:http://rubyinstaller.org/downloads/>)). For
-example, Ruby 1.8.7-p334 installer can be downloaded via the
-following URL.
+==== How to install Ruby
 
-: rubyinstaller-1.8.7-p334.exe
-   ((<URL:http://rubyforge.org/frs/download.php/74293/rubyinstaller-1.8.7-p334.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.
 
-==== Install Rabbit
+==== How to 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:
-
-  * RDtool
-  * Ghostscript
-  * Enscript
-  * div
-
-==== Install RDTool
-
-Install ((<RAA:rdtool>)).
-
-Extract the following archive and execute setup.rb to install.
-
-: rdtool-0.6.20.tar.gz
-   ((<URL:http://www.moonwolf.com/ruby/archive/rdtool-0.6.20.tar.gz>))
-
-==== EPS format support
-
-(1) Install AFPL Ghostscript for Win32.
-
-    : gs853w32.exe
-        ((<URL:ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/AFPL/gs853/gs853w32.exe>))
-
-(2) Add <Ghostscript Install Path>/gs/gs8.53/bin to the PATH environment variable.
-
-==== Source code highlighting support
-
-(1) Install Enscript.
-
-    : enscript-1.6.3-9-bin.exe
-        ((<URL:http://sourceforge.net/project/showfiles.php?group_id=23617&package_id=16960>))
-
-(2) Add <Enscript Install Path>/bin to the PATH environment variable.
-
-(3) You may need to obtain ruby.st for Ruby syntax highlighting.
-
-      > cd <Enscript Install Path>/share/enscript/hl
-      > ruby -ropen-uri -e "puts open('http://viewvc.rubyforge.mmmultiworks.com/cgi/viewvc.cgi/trunk/support/ruby.st?root=support&view=co').read" > ruby.st
-
-(4) Install ((<RAA:htree>)).
-
-    Extract the following archive and execute install.rb to install.
-
-    : htree.tar.gz
-        ((<URL:http://cvs.m17n.org/viewcvs/ruby/htree.tar.gz>))
-
-==== Use rabrick
-
-Install ((<RAA:div>)).
+=== How to run Rabbit
 
-Extract the following archive and execute install.rb to install.
+Run the following command on command prompt that is used for
+installing Rabbit:
 
-: div-1.3.2.tar.gz
-   ((<URL:http://www2a.biglobe.ne.jp/~seki/ruby/div-1.3.2.tar.gz>))
+  > rabbit
 
+It opens a dialog to open a slide file.
 
-Sorry for having so many steps.
+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 4640b28..f366260 100644
--- a/doc/en/news.rd
+++ b/doc/en/news.rd
@@ -1,8 +1,548 @@
 ---
 layout: en
 title: News
-apply_data: false
 ---
+{% raw %}
+== 2.2.0: 2017-01-22
+
+Markdown support improvement release.
+
+=== Improvements
+
+==== All
+
+  * Dropped Ruby 2.0 support.
+
+  * Dropped gdk_pixbuf2 gem 3.0.8 or earlier support.
+
+==== rabbit
+
+  * PDF: Supported PDF file that has "%" in its name.
+
+  * Dropped Migemo support.
+
+  * Markdown: Supported tag.
+
+    Example (Inline):
+
+      Normal {::tag name="center"}Centered{:/tag} Normal
+
+    Example (Paragraph):
+
+      Normal
+
+      {:.center}
+      Centered
+
+      Normal
+
+  * Markdown: Supported (({wait})) in nested list item.
+
+  * Improved performance on deciding font size dynamically.
+
+  * Changed to use RubyGems user in (({config.yaml})) on pushing
+    slide/theme gems.
+
+  * PDF: Supported link. But there are the following limitations:
+      * cairo 1.15.4 is required. (If you use Rabbit with cairo 1.15.2
+        or earlier, you just can't use this feature.)
+      * Link target is paragraph not link text.
+
+==== Theme
+
+  * slide-logo: Supported logo per side by specifying image file name
+    to (({logo-image})) slide property.
+
+  * title-on-image-toolkit: Improved readability by rendering
+    character border.
+
+  * syntax-highlighting: Changed color for path of (({#include})) in
+    C. Now, it uses the same color as normal string.
+
+==== rabbit-slide
+
+  * Markdown: Fixed a bug that required newlines are missing.
+    [GitHub#95][Patch by znz]
+
+==== Document
+
+  * Improve English in FAQ.
+    [GitHub#100][Patch by Todd Trimble]
+
+=== Fixes
+
+==== rabbit
+
+  * Fixed a bug that error isn't reported when multibyte image file
+    name is specified and it doesn't exist.
+    [GitHub#91][Reported by takiy33]
+
+  * Windows: Fixed encoding error on image file detection.
+    [GitHub#93][Reported by dogatana]
+
+  * Fixed a bug that an error is occurred when you cancel in slide
+    select dialog.
+
+  * Fixed typos.
+    [GitHub#97][Patch by znz]
+
+  * Fixed a bug that spotlight and magnifier uses wrong position when
+    slide aspect ratio and window aspect ratio are difference.
+    [GitHub#99][Patch by OBATA Akio]
+
+  * Windows: Fixed a bug that unfullscreen doesn't restore window size.
+    [GitHub#98][Reported by TADA, Tadashi]
+
+==== Document
+
+  * Fix typos.
+    [GitHub#101][Patch by znz]
+
+=== Thanks
+
+  * takiy33
+  * dogatana
+  * znz
+  * Todd Trimble
+  * OBATA Akio
+  * TADA, Tadashi
+
+== 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.
+
+=== Fixes
+
+==== rabbit
+
+  * Windows: Fixed a bug that Rabbit can't start. [Reported by yoku0825]
+
+=== Thanks
+
+  * yoku0825
+
+== 2.1.7: 2015-09-05
+
+Note markup support in Markdown release.
+
+=== Improvements
+
+==== rabbit
+
+  * Removed GDK rendering engine.
+    (Because cairo is always available since a few years ago. If we
+    can use cairo, there is no problem without GDK rendering engine.)
+  * Improved GTK+ 3 support. (It's not completed yet.) [Patch by okkez]
+  * Removed unused (({--server})) option.
+  * Wiki markup: Improved error message when unsupported markup is used.
+  * Markdown markup: Supported error message when multiple images
+    exist in a paragraph.
+    [GitHub#71][Reported by Colin Dean]
+
+  * Markdown markup: Supported note markup. [Suggested by yoku0825]
+
+    Syntax is (('{::note}...{:/note}')).
+
+    Example:
+
+      Normal text {::note}note{:/note} Normal text
+
+==== Theme
+
+  * image-timer: Reduced memory usage.
+  * image-slide-number: Reduced memory usage.
+  * clear-blue: Removed indent of the first line in block quote.
+
+==== Document
+
+  * Marked up README in Markdown.
+    [GitHub#72][Patch by Toshi MARUYAMA]
+  * Improved description about Rabbit in Japanese.
+    [GitHub#74][Patch by YU-TAYU]
+
+=== Fixes
+
+==== rabbit-slide
+
+  * Fixed a bug that invalid Markdown is generated.
+    [Matafumi Yokoyama]
+
+==== Document
+
+  * Fixed a bug that side menu is hidden.
+    [GitHub#75][Reported by YU-TAYU]
+
+=== Thanks
+
+  * okkez
+  * Matafumi Yokoyama
+  * Colin Dean
+  * Toshi MARUYAMA
+  * YU-TAYU
+  * yoku0825
+
+== 2.1.6: 2015-02-26
+
+A bug fix release of 2.1.5.
+
+=== Fixes
+
+==== rabbit
+
+  * Fixed a bug that full screen feature doesn't work.
+    [GitHub#58] [Reported by Mamoru TASAKA]
+
+=== Thanks
+
+  * Mamoru TASAKA
+
+== 2.1.5: 2015-02-25
+
+A bug fix release of 2.1.4.
+
+=== Improvements
+
+==== rabbit
+
+  * Removed codes for old GTK+ 2.
+    [GitHub#56] [Patch by okkez]
+  * Started cleaning up for GTK+ 3 support.
+    [GitHub#55] [Patch by okkez]
+
+==== Test
+
+  * Avoided error in test when blockdiag isn't installed.
+    [GitHub#54] [Reported by Mamoru TASAKA]
+
+=== Fixes
+
+==== rabbit
+
+  * Fixed a bug that slides are broken in information window.
+
+=== Thanks
+
+  * Mamoru TASAKA
+  * okkez
+
+== 2.1.4: 2015-02-23
+
+Markdown support improved release.
+
+=== Improvement
+
+==== rabbit
+
+  * Replaced invalid encoding characters in log message.
+    [shocker-ja:1228] [Reported by OBATA Akio]
+  * Supported outputting as cairo script format. If you specify output
+    file extension as .cs, cairo script format is used for output.
+    * Example:
+        % rabbit --print --output-filename=slide.cs
+  * Remove needless spaces.
+    [GitHub#48] [Patch by Yuichi NANSAI]
+  * Untabified
+    [GitHub#49] [Patch by Yuichi NANSAI]
+  * Kept slide size ratio of PDF.
+    [Suggested by Kenshi Muto]
+  * Supported (({file:///})) URI.
+    [Reported by TOMITA Masahiro]
+  * Supported reading PDF on Windows.
+    [Reported by TOMITA Masahiro]
+  * Markdown: Supported wait tag.
+    [shocker-ja:1249] [Suggested by Isobe]
+    * Example:
+        {::wait/}
+  * Markdown: Supported enumeration list.
+  * Markdown: Supported syntax highlight in codeblock fence markup.
+    * Example of Kramdown style:
+        ~~~ruby
+        # Ruby code
+        ~~~
+    * Example of GitHub Flavored Markdown style:
+        ```ruby
+        # Ruby code
+        ```
+  * Markdown: Supported (({language})) as attribute name for syntax highlight
+    language.
+    * Example:
+        # Title
+
+            def hello
+            end
+        {: language="ruby"}
+  * Markdown: Supported blockdiag.
+    * Example:
+        ```blockdiag
+        {
+          A -> B -> C;
+        }
+        ```
+  * Removed needless backward compatibility codes.
+  * Kept ratio of the initial slide size even when window size is
+    changed.
+
+==== rabbit-slide
+
+  * Changed date format to ISO 8601 format.
+
+==== Theme
+
+  * default-block-quote: Stopped to justify ASCII only block quoted text.
+
+==== Document
+
+  * Add description about how to use full screen feature on OS X.
+    [GitHub#45] [Patch by Shinta Koyanagi]
+  * Updated Ruby Installer version. [Masafumi Yokoyama]
+  * Added slide URLs that use Rabbit.
+    [GitHub#46] [Patch by Brett Chalupa]
+  * Fixed a typo.
+    [GitHub#47] [Patch by HAYASHI Kentaro]
+  * Remove old information for Windows.
+    [Reported by SATOH Kiyoshi]
+
+=== Fixes
+
+==== rabbit
+
+  * Fixed a bug that PDF can't be read.
+    [Reported by Junichi Oya]
+  * Markdown: Added missing meta character escape.
+    [GitHub#50] [Reported by Matthias Günther]
+
+=== Thanks
+
+  * OBATA Akio
+  * Junichi Oya
+  * Shinta Koyanagi
+  * Brett Chalupa
+  * Yuichi NANSAI
+  * Kenshi Muto
+  * Matthias Günther
+  * HAYASHI Kentaro
+  * TOMITA Masahiro
+  * SATOH Kiyoshi
+
+== 2.1.3: 2014-08-03
+
+A drawing performance improved release.
+
+=== Improvements
+
+==== rabbit
+
+  * Improved input encoding detection for UTF-8 case.
+    [GitHub#34] [Reported by Colin Dean]
+  * Markdown: Supported no text item list.
+    [GitHub#37] [Reported by Colin Dean]
+  * Improved drawing performance when vertical centering isn't used.
+    [GitHub#35] [Reported by Colin Dean]
+  * Avoided memory usage growing.
+    [GitHub#41] [Reported by Enrico Rivarola]
+
+==== Theme
+
+  * default-preformatted: Changed text size element to
+    (({PreformattedBlock})) from (({PreformattedText})).
+  * tag: Supported (({xx-small})) tag and (({xx-large})) tag.
+    [GitHub#39] [Patch by Enrico Rivarola]
+  * syntax-highlighting: Supported float literal.
+
+==== Document
+
+  * Updated Ruby Installer version. [Masafumi Yokoyama]
+  * Updated how to install with Homebrew.
+    [GitHub#30] [Patch by Bert Chang]
+  * Improved English and translated into English.
+    [GitHub#33] [Patch by Tomohiro Imaizumi]
+  * Added a description about Rabbit doesn't support 64bit Ruby on Windows.
+    [GitHub#43] [Patch by YUKI Hiroshi]
+
+=== Fixes
+
+==== rabbit
+
+  * Fixed a bug that rabbit command's exit code is always non-zero.
+  * Fixed a crash bug when rabbit command is ran on no window system
+    environment.
+    [shocker-ja:1189] [Reported by Kazuhiro NISHIYAMA]
+  * Information window: Fixed a bug that note text isn't changed when
+    window size is changed.
+    [shocker-en:71][shocker-en:74] [Reported by Enrico Rivarola]
+  * Information window: Fixed a bug that long word in note text is cut.
+    [shocker-en:78] [Reported by Enrico Rivarola]
+  * Information window: Fixed a bug that markup in note text isn't applied.
+    [GitHub#38] [Patch by Enrico Rivarola]
+  * Fixed a bug that temporary files aren't removed when they aren't needed.
+    [GitHub#40] [Patch by Enrico Rivarola]
+
+==== rabbit-slide
+
+  * Fixed a bug that tags are ignored on uploading SlideShare.
+
+=== Thanks
+
+  * Masafumi Yokoyama
+  * Kazuhiro NISHIYAMA
+  * Bert Chang
+  * Enrico Rivarola
+  * Colin Dean
+  * YUKI Hiroshi
+
+== 2.1.2: 2014-03-08
+
+A bug fix release of 2.1.1.
+
+=== Improvements
+
+==== rabbit
+
+  * Supported auto source reloading in information window.
+    [GitHub#23] [Reported by Kazuhiro NISHIYAMA]
+  * Add ((%--check-syntax%)) option that checks source syntax and exits.
+    [GitHub#27] [Reported by HAYASHI Kentaro]
+  * Supported inline code markup "(({`...`}))" in Markdown.
+    [GitHub#29] [Patch by KITAITI Makoto]
+  * Supported newline markup "(({\\}))" in Markdown.
+    [GitHub#29] [Patch by KITAITI Makoto]
+
+==== rabbit-slide
+
+   * Supported README written in Markdown.
+   * Added "tag" task that tags by Git.
+   * Supported auto adding "theme.rb" file to gem if the file exists.
+   * Supported (({youtube_id})) parameter in config.yaml.
+     You can specify YouTube video that is associated with your
+     presentation. You will find a link at slide.rabbit-shocker.org
+     when you specify it.
+
+==== Document
+
+  * Updated install document for Homebrew.
+    [Yutaro Sugai]
+  * Updated install document on Windows.
+    [Masafumi Yokoyama]
+
+=== Fixes
+
+==== rabbit
+
+  * Fixed a bug that configuration dialog for graffiti mode can't be opened.
+    [shocker-en:63] [Reported by Enrico Rivarola]
+
+==== rabbit-slide
+
+  * Fixed a bug that gem can be created without PDF.
+
+=== Thanks
+
+  * Kazuhiro NISHIYAMA
+  * Yutaro Sugai
+  * Masafumi Yokoyama
+  * HAYASHI Kentaro
+  * Enrico Rivarola
+  * KITAITI Makoto
+
 == 2.1.1: 2013-06-26
 
 A bug fix release of 2.1.0.
@@ -714,7 +1254,7 @@ Markdown support release!
   * [GitHub#3]: Fixed a wrong variable name.
     [Patch by TAKATSU Tomonari]
 
-==== rabbitter
+==== rabbiter
 
   * Supported HTTPS. [Patch by OBATA Akio]
 
@@ -1732,3 +2272,4 @@ SASAKI]
 === Other news
 
   * Mac OS X package (DarwinPorts) is available by kimura wataru.
+{% endraw %}
diff --git a/doc/en/rd.rd b/doc/en/rd.rd
index 8465cba..d9d121d 100644
--- a/doc/en/rd.rd
+++ b/doc/en/rd.rd
@@ -1,8 +1,8 @@
 ---
 layout: en
 title: RD
-apply_data: false
 ---
+{% raw %}
 == What is RD?
 
 RD is Ruby's POD, embeddable documentation format in script file. 
@@ -479,3 +479,4 @@ Of course, you can use the text for the display for Reference to URL resource.
 When the text for the display is omitted, you can use ((<Inline>)) for Label.
    ((<((*Label*))>))
 ((<((*Label*))>))
+{% endraw %}
diff --git a/doc/en/sample/hiki/rabbit.hiki b/doc/en/sample/hiki/rabbit.hiki
index 8aa3e80..31c2dd1 100644
--- a/doc/en/sample/hiki/rabbit.hiki
+++ b/doc/en/sample/hiki/rabbit.hiki
@@ -1,8 +1,8 @@
 ---
 layout: en
 title: "Sample slide: Rabbit"
-apply_data: false
 ---
+{% raw %}
 <<<
 // To run with it without system install.
 //  % ruby -I./lib bin/rabbit -f sample/rabbit-en.rd
@@ -389,3 +389,4 @@ End of source code.
 * Emphasize keybord shortcuts
 ** UI/text based source
 >>>
+{% endraw %}
diff --git a/doc/en/slides.rd b/doc/en/slides.rd
index 877628f..658157b 100644
--- a/doc/en/slides.rd
+++ b/doc/en/slides.rd
@@ -6,4 +6,8 @@ title: Slides
 
   * ((<Review Semestral|URL:https://bitbucket.org/asterite/review_2012_h1>))
     by Ary Borenszweig.
+  * ((<Bitcoin: digital cryptocurrency for the masses|URL:https://github.com/colindean/talks/blob/68315ef5cfb4a39b5e4ef7b39059af4c52144b66/bitcoin-technical/bitcoin-technical.md>))
+    by Colin Dean.
+  * ((<The Fundamentals of Ruby|URL:https://github.com/brettchalupa/the_fundamentals_of_ruby/>)) by Brett Chalupa.
+  * ((<Educating with Ruby|URL:https://speakerdeck.com/brettchalupa/educating-with-ruby>)) by Brett Chalupa.
   * (Please add a link to your slide)
diff --git a/doc/en/usage.rd b/doc/en/usage.rd
index bde8c12..4fa760e 100644
--- a/doc/en/usage.rd
+++ b/doc/en/usage.rd
@@ -18,3 +18,7 @@ other pages.
     comments on the current slide.
   * ((<"rabwii/"/RabWii>)): A Wii Remote interface for Rabbit. You can
     control Rabbit by your Wii Remote.
+
+Here are platform specific usages:
+
+  * ((<"usage/platform/os-x.rd"/OS X specific Rabbit usage>))
diff --git a/doc/en/usage/platform/os-x.rd b/doc/en/usage/platform/os-x.rd
new file mode 100644
index 0000000..e2f2baf
--- /dev/null
+++ b/doc/en/usage/platform/os-x.rd
@@ -0,0 +1,13 @@
+---
+layout: en
+title: OS X specific usage
+---
+== Summary
+
+There are OS X specific Rabbit usage.
+
+=== TODO: title
+
+TODO: summary
+
+TODO: description
diff --git a/doc/en/usage/rabbit-slide.rd b/doc/en/usage/rabbit-slide.rd
index 90b9d1a..3837db6 100644
--- a/doc/en/usage/rabbit-slide.rd
+++ b/doc/en/usage/rabbit-slide.rd
@@ -2,4 +2,238 @@
 layout: en
 title: rabbit-slide command usage
 ---
-TODO
+== Abstract
+
+((%rabbit-slide%)) is a command that generates a slide template.
+
+Template is helpful for creating a slide even if you create just a
+simple slide. You just need a source file for a simple slide. But you
+need some files for publishing your slide. ((%rabbit-slide%))
+generates all needed files for creating and publishng your slide.
+
+You create your slide after you generate a slide template. The
+template includes helper features for creating and publishing your
+slide. These helper features are provided as Rake tasks. You can run
+an useful task by a command line. Here is a list for useful features:
+
+  * Showing your slide.
+  * Generating a PDF from your slide source.
+  * Publishing your slide to RubyGems.org as a gem.
+  * Publishing your slide to SlideShare.
+
+Let's create a good slide, do a good presentation and share your good
+slide!
+
+You can view published slide gems at
+((<URL:http://slide.rabbit-shocker.org/>)).
+
+== Templates generation
+
+First, you generate templates by ((%rabbit-slide%)) command. You pass
+slide information to the command. It is inconvenient because you need
+to pass many information in command line. ((%rabbit-slide%)) will
+provide GUI to pass slide information.
+
+Here is a command line that generates templates for a teheme benchmark
+slide:
+
+  % rabbit-slide new \
+     --id theme-benchmark-en \
+     --base-name theme-benchmark \
+     --markup-language rd \
+     --name "Kouhei Sutou" \
+     --email kou at cozmixng.org \
+     --rubygems-user kou \
+     --tags rabbit
+
+((%--id%)) and ((%--base-name%)) is the required parameters.
+
+((%--id%)) is the slide ID. You need to use only ASCII characters.
+
+((%--base-name%)) is the base name. The base name is a name that is
+computed by removing extension from slide source file name. You need
+to use oly ASCII characters.
+
+If you publish your slide as a gem on RubyGems.org, you need to
+specify user information by ((%--name%)), ((%--email%)),
+((%--rubygems-user%)) and so on.
+
+TODO: Describe all parameters.
+
+You can confirm all patermeters by ((%--help%)):
+
+  Usage: rabbit-slide COMMAND [OPTIONS]
+   e.g.: rabbit-slide new \
+            --id rubykaigi2012 \
+            --base-name rabbit-introduction \
+            --markup-language rd \
+            --name "Kouhei Sutou" \
+            --email kou at cozmixng.org \
+            --rubygems-user kou \
+            --slideshare-user kou \
+            --speaker-deck-user kou
+
+  COMMAND
+    new:    create a new slide
+    change: change an existing slide
+
+  Slide information
+          --id=ID                      Slide ID
+                                       (e.g.: --id=rubykaigi2012)
+                                       (must)
+          --base-name=NAME             Base name for the slide source file and generated PDF file
+                                       (e.g.: --base-name=rabbit-introduction)
+                                       (must)
+          --markup-language=LANGUAGE   Markup language for the new slide
+                                       (e.g.: --markup-language=rd)
+                                       (available markup languages: [rd, hiki, markdown])
+                                       (default: rd)
+                                       (optional)
+          --title=TITLE                Title of the new slide
+                                       (e.g.: --title="Rabbit Introduction")
+                                       (optional)
+          --tags=TAG,TAG,...           Tags of the new slide
+                                       (e.g.: --tags=rabbit,presentation,ruby)
+                                       (optional)
+          --allotted-time=TIME         Allotted time in presentaion
+                                       (e.g.: --allotted-time=5m)
+                                       (optional)
+          --presentation-date=DATE     Presentation date with the new slide
+                                       (e.g.: --presentation-date=2012/06/29)
+                                       (optional)
+  Your information
+          --name=NAME                  Author name of the new slide
+                                       (e.g.: --name="Kouhei Sutou")
+                                       (default: Kouhei Sutou)
+                                       (optional)
+          --email=EMAIL                Author e-mail of the new slide
+                                       (e.g.: --email=kou at cozmixng.org)
+                                       (default: kou at clear-code.com)
+                                       (optional)
+          --rubygems-user=USER         Account for RubyGems.org
+                                       It is used to publish your slide to RubyGems.org
+                                       (e.g.: --rubygems-user=kou)
+                                       (default: kou)
+                                       (optional)
+          --slideshare-user=USER       Account for SlideShare
+                                       It is used to publish your slide to SlideShare
+                                       (e.g.: --slideshare-user=kou)
+                                       (default: kou)
+                                       (optional)
+          --speaker-deck-user=USER     Account for Speaker Deck
+                                       It is used to publish your slide to Speaker Deck
+                                       (e.g.: --speaker-deck-user=kou)
+                                       (default: kou)
+                                       (optional)
+
+  Common options
+          --options-file=FILE          Load options from FILE.
+                                       (none)
+
+          --locale-dir=DIR             Specify locale dir as [DIR].
+                                       (auto)
+
+          --logger-type=TYPE           Specify logger type as [TYPE].
+                                       Select from [gui, stderr].
+                                       (STDERR)
+          --log-level=LEVEL            Specify log level as [LEVEL].
+                                       Select from [debug, info, warning, error, fatal, unknown].
+                                       (info)
+
+          --help                       Show this message.
+          --version                    Show version.
+
+== Display
+
+You can find the directory that name is same as the slide ID after you
+generate slide template. You move to the directory. This documentation
+assumes that you specified ((%--id theme-benchmark-en%)):
+
+  % cd theme-benchmark-en
+
+You can display your slide by ((%rake%)):
+
+  % rake
+
+You edit your source file with checking displayed slide. You edit your
+source file, displayed slide is updated automatically.
+
+== PDF generation
+
+Let's publish your slide after you did presentation. You can confirm
+your slide as PDF on your computer before you publish your slide. You
+can generate PDF for your slide by ((%rake pdf%)):
+
+  % rake pdf
+
+It generates ((%pdf/theme-benchmark-en.pdf%)). You open the PDF by
+your favorite PDF viewer. You can use ((%rabbit%)) command because
+Rabbit is a PDF viewer:
+
+  % cd pdf
+  % rabbit theme-benchmark-en.pdf
+
+== Publication
+
+There are publication features for RubyGems.org and SlideShare. There
+is no publication feature for Speaker Deck because Speaker Deck
+doesn't provide API to upload a presentation.
+
+You need to specify the following parameters for publication on
+generating templates:
+
+  * ((%--name%))
+  * ((%--email%))
+  * ((%--rubygems-user%)): for publishing to RubyGems.org
+  * ((%--slideshare-user%)): for publishing to SlideShare
+
+You need to edit the following part in ((%README.rd%)):
+
+  = TODO: SLIDE TITLE
+
+  TODO: SLIDE DESCRIPTION
+
+For example, here is a theme-benchmark-en case:
+
+  = Theme benchmark
+
+  It's a slide for checking a Rabbit's theme. It contains many
+  elements. So it's useful for confirming your theme.
+
+You can publish your slide to both RubyGems.org and SlideShare by
+((%rabbit publish%)). The following documentation describes to publish
+your slide separately.
+
+=== Publication for RubyGems.org
+
+You can publish your slide to RubyGems.org by ((%rabbit
+publish:rubygems%)):
+
+  % rake publish:rubygems
+
+You can display a slide published on RubyGems.org by
+((%rabbit #{the user name on RubyGems.org}-#{the slide ID}.gem%)).
+For theme-benchmark-en case, "the user name on RubyGems.org" is
+((%rabbit%)) and "the slide ID" is ((%theme-benchmark-en%)). So you
+can display by the following command:
+
+  % rabbit rabbit-theme-benchmark-en.gem
+
+You can view a slide published on RubyGems.org on ((<Rabbit Slide
+Show|URL:http://slide.rabbit-shocker.org/>)). URL is
+((%http://slide.rabbit-shocker.org/authors/#{the user name on
+RubyGems.org}/#{the slide ID}/%)).
+
+Rabbit Slide Show collects and displays all slides published on
+RubyGems.org automatically. So you don't need to publish your slide to
+Rabbit Slide Show explicitly. You only need to publish your slide to
+RubyGems.org.
+
+=== Publication for SlideShare
+
+You can publish your slide to SlideShare by ((%rabbit publish:slideshare%)).
+
+  % rake publish:slideshare
+
+If the task is completed successfully, the slide page on SlideShare is
+opened by your favorite browser automatically.
diff --git a/doc/images/jp.png b/doc/images/jp.png
deleted file mode 100644
index 325fbad..0000000
Binary files a/doc/images/jp.png and /dev/null differ
diff --git a/doc/images/screenshots/en/blue-circle-raw.png b/doc/images/screenshots/en/blue-circle-raw.png
index 7bf58c1..ba32d31 100644
Binary files a/doc/images/screenshots/en/blue-circle-raw.png 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
index db41d25..a81ef15 100644
Binary files a/doc/images/screenshots/en/blue-circle.png 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
index 4e3dc7a..c575352 100644
Binary files a/doc/images/screenshots/en/clear-blue-raw.png 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
index 19a8f3d..44caec4 100644
Binary files a/doc/images/screenshots/en/clear-blue.png 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
index 24aea73..9d03c6a 100644
Binary files a/doc/images/screenshots/en/cozmixng-raw.png 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
index 1df2b87..128b10d 100644
Binary files a/doc/images/screenshots/en/cozmixng.png 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
index 996831f..05eae0f 100644
Binary files a/doc/images/screenshots/en/dark-gradation-raw.png 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
index 215e7fd..0f9f5ab 100644
Binary files a/doc/images/screenshots/en/dark-gradation.png 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
index 8b34b04..f1131dd 100644
Binary files a/doc/images/screenshots/en/day-white-raw.png 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
index e87fd6c..1173bbe 100644
Binary files a/doc/images/screenshots/en/day-white.png 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
index ef7f5ba..cd8414a 100644
Binary files a/doc/images/screenshots/en/debian-raw.png 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
index 13bdba3..185ea8a 100644
Binary files a/doc/images/screenshots/en/debian.png 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
index 9cdabf1..8e51392 100644
Binary files a/doc/images/screenshots/en/green-circle-raw.png 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
index 258d39b..3ac342e 100644
Binary files a/doc/images/screenshots/en/green-circle.png 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
index dba2364..bb1b510 100644
Binary files a/doc/images/screenshots/en/night-black-raw.png 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
index 0e6e76a..37936d9 100644
Binary files a/doc/images/screenshots/en/night-black.png 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
index 54f5994..d9bcd57 100644
Binary files a/doc/images/screenshots/en/rabbit-raw.png 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
index a73cf44..3c98e51 100644
Binary files a/doc/images/screenshots/en/rabbit.png 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
index 52a98a1..31472db 100644
Binary files a/doc/images/screenshots/en/ranguba-raw.png 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
index d2ecd4a..dab6763 100644
Binary files a/doc/images/screenshots/en/ranguba.png 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
index 6cb8902..3108538 100644
Binary files a/doc/images/screenshots/en/red-frame-raw.png 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
index 40a751c..ea14010 100644
Binary files a/doc/images/screenshots/en/red-frame.png 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
index c486bb4..f61ee8a 100644
Binary files a/doc/images/screenshots/en/ruby-gnome2-raw.png 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
index d809bf2..5585e7b 100644
Binary files a/doc/images/screenshots/en/ruby-gnome2.png 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
index 4e5b234..3dea974 100644
Binary files a/doc/images/screenshots/en/rubykaigi2011-raw.png 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
index 380c071..ed8c24f 100644
Binary files a/doc/images/screenshots/en/rubykaigi2011.png and b/doc/images/screenshots/en/rubykaigi2011.png differ
diff --git a/doc/images/screenshots/ja/blue-circle-raw.png b/doc/images/screenshots/ja/blue-circle-raw.png
index 80e1698..51fcae4 100644
Binary files a/doc/images/screenshots/ja/blue-circle-raw.png and b/doc/images/screenshots/ja/blue-circle-raw.png differ
diff --git a/doc/images/screenshots/ja/blue-circle.png b/doc/images/screenshots/ja/blue-circle.png
index 76c661b..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 27c89d1..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 e6b83b7..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 a90f7a1..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 cd8bf35..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-raw.png b/doc/images/screenshots/ja/dark-gradation-raw.png
index 6a05061..db699b0 100644
Binary files a/doc/images/screenshots/ja/dark-gradation-raw.png and b/doc/images/screenshots/ja/dark-gradation-raw.png differ
diff --git a/doc/images/screenshots/ja/dark-gradation.png b/doc/images/screenshots/ja/dark-gradation.png
index 9b9b038..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-raw.png b/doc/images/screenshots/ja/day-white-raw.png
index 7305477..68ae013 100644
Binary files a/doc/images/screenshots/ja/day-white-raw.png and b/doc/images/screenshots/ja/day-white-raw.png differ
diff --git a/doc/images/screenshots/ja/day-white.png b/doc/images/screenshots/ja/day-white.png
index 7dfaabf..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-raw.png b/doc/images/screenshots/ja/debian-raw.png
index 975aac1..5529980 100644
Binary files a/doc/images/screenshots/ja/debian-raw.png and b/doc/images/screenshots/ja/debian-raw.png differ
diff --git a/doc/images/screenshots/ja/debian.png b/doc/images/screenshots/ja/debian.png
index 7312dfa..306452f 100644
Binary files a/doc/images/screenshots/ja/debian.png 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
index f7d9a24..68bfbcc 100644
Binary files a/doc/images/screenshots/ja/green-circle-raw.png 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
index 6472c7b..3b7999b 100644
Binary files a/doc/images/screenshots/ja/green-circle.png 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
index 1dee0e9..eb73de8 100644
Binary files a/doc/images/screenshots/ja/night-black-raw.png 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
index 3c577e4..44fb93d 100644
Binary files a/doc/images/screenshots/ja/night-black.png 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
index 8dec324..c308233 100644
Binary files a/doc/images/screenshots/ja/rabbit-raw.png 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
index 6c18a99..e6704a0 100644
Binary files a/doc/images/screenshots/ja/rabbit.png 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
index dad821e..dc779c5 100644
Binary files a/doc/images/screenshots/ja/ranguba-raw.png 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
index 597e622..596999e 100644
Binary files a/doc/images/screenshots/ja/ranguba.png 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
index 8b50aa4..19eee5a 100644
Binary files a/doc/images/screenshots/ja/red-frame-raw.png 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
index 8714e1f..60c0dfb 100644
Binary files a/doc/images/screenshots/ja/red-frame.png 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
index 30deb89..2ff4ad1 100644
Binary files a/doc/images/screenshots/ja/ruby-gnome2-raw.png 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
index e3b6418..df59a1b 100644
Binary files a/doc/images/screenshots/ja/ruby-gnome2.png 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
index 46716aa..1a2cfc2 100644
Binary files a/doc/images/screenshots/ja/rubykaigi2011-raw.png 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
index 5be7670..27ccf24 100644
Binary files a/doc/images/screenshots/ja/rubykaigi2011.png and b/doc/images/screenshots/ja/rubykaigi2011.png differ
diff --git a/doc/images/us.png b/doc/images/us.png
deleted file mode 100644
index 10f451f..0000000
Binary files a/doc/images/us.png and /dev/null differ
diff --git a/doc/index.html.en b/doc/index.html.en
index d78ab67..b9e08bd 100644
--- a/doc/index.html.en
+++ b/doc/index.html.en
@@ -8,39 +8,39 @@ no_sidebar: true
   <p><a href="/en/news.html">{{ site.version }}</a> is the latest release. It had been released at {{ site.release_date }}.</p>
 </div>
 
-<section class="screenshots">
+<section id="screenshots">
   <h2>Screenshots</h2>
-  <ul id="screenshots">
+  <ul>
     <li><img src="images/screenshots/en/blue-circle.png"
-             alt="Blue Circle theme" /></li>
+             alt="Blue Circle theme"></li>
     <li><img src="images/screenshots/en/clear-blue.png"
-             alt="Clear Blue theme" /></li>
+             alt="Clear Blue theme"></li>
     <li><img src="images/screenshots/en/cozmixng.png"
-             alt="COZMIXNG theme" /></li>
+             alt="COZMIXNG theme"></li>
     <li><img src="images/screenshots/en/dark-gradation.png"
-             alt="Dark Gradation theme" /></li>
+             alt="Dark Gradation theme"></li>
     <li><img src="images/screenshots/en/day-white.png"
-             alt="Day White theme" /></li>
+             alt="Day White theme"></li>
     <li><img src="images/screenshots/en/debian.png"
-             alt="Debian theme" /></li>
+             alt="Debian theme"></li>
     <li><img src="images/screenshots/en/green-circle.png"
-             alt="Green Circle theme" /></li>
+             alt="Green Circle theme"></li>
     <li><img src="images/screenshots/en/night-black.png"
-             alt="Night Black theme" /></li>
+             alt="Night Black theme"></li>
     <li><img src="images/screenshots/en/rabbit.png"
-             alt="Rabbit theme" /></li>
+             alt="Rabbit theme"></li>
     <li><img src="images/screenshots/en/ranguba.png"
-             alt="Ranguba theme" /></li>
+             alt="Ranguba theme"></li>
     <li><img src="images/screenshots/en/red-frame.png"
-             alt="Red Frame theme" /></li>
+             alt="Red Frame theme"></li>
     <li><img src="images/screenshots/en/ruby-gnome2.png"
-             alt="Ruby-GNOME2 theme" /></li>
+             alt="Ruby-GNOME2 theme"></li>
     <li><img src="images/screenshots/en/rubykaigi2011.png"
-             alt="RubyKaigi2011 theme" /></li>
+             alt="RubyKaigi2011 theme"></li>
   </ul>
 </section>
 
-<div class="main">
+<div id="main">
   <section class="contents">
     <h2>About Rabbit</h2>
     <nav>
@@ -48,8 +48,8 @@ no_sidebar: true
         <li><a href="en/">README</a></li>
         <li><a href="en/news.html">News</a></li>
         <li><a href="en/install/">Install</a></li>
-	<li><a href="en/usage.html">Usage</a></li>
-	<li><a href="en/how-to-make/">How to make a slide</a></li>
+        <li><a href="en/usage.html">Usage</a></li>
+        <li><a href="en/how-to-make/">How to make a slide</a></li>
         <li><a href="en/faq.html">FAQ</a></li>
         <li><a href="en/users.html">Rabbit Shocker - Rabbit users group</a></li>
       </ul>
diff --git a/doc/index.html.ja b/doc/index.html.ja
index 6c1986b..72335ce 100644
--- a/doc/index.html.ja
+++ b/doc/index.html.ja
@@ -12,31 +12,31 @@ no_sidebar: true
   <h2>スクリーンショット</h2>
   <ul>
     <li><img src="images/screenshots/ja/blue-circle.png"
-             alt="青い円テーマ" /></li>
+             alt="青い円テーマ"></li>
     <li><img src="images/screenshots/ja/clear-blue.png"
-             alt="きれいな青テーマ" /></li>
+             alt="きれいな青テーマ"></li>
     <li><img src="images/screenshots/ja/cozmixng.png"
-             alt="COZMIXNGテーマ" /></li>
+             alt="COZMIXNGテーマ"></li>
     <li><img src="images/screenshots/ja/dark-gradation.png"
-             alt="暗めのグラデーションテーマ" /></li>
+             alt="暗めのグラデーションテーマ"></li>
     <li><img src="images/screenshots/ja/day-white.png"
-             alt="Day Whiteテーマ" /></li>
+             alt="Day Whiteテーマ"></li>
     <li><img src="images/screenshots/ja/debian.png"
-             alt="Debianテーマ" /></li>
+             alt="Debianテーマ"></li>
     <li><img src="images/screenshots/ja/green-circle.png"
-             alt="緑の円テーマ" /></li>
+             alt="緑の円テーマ"></li>
     <li><img src="images/screenshots/ja/night-black.png"
-             alt="Night Blackテーマ" /></li>
+             alt="Night Blackテーマ"></li>
     <li><img src="images/screenshots/ja/rabbit.png"
-             alt="Rabbitテーマ" /></li>
+             alt="Rabbitテーマ"></li>
     <li><img src="images/screenshots/ja/ranguba.png"
-             alt="ラングバテーマ" /></li>
+             alt="ラングバテーマ"></li>
     <li><img src="images/screenshots/ja/red-frame.png"
-             alt="赤い枠テーマ" /></li>
+             alt="赤い枠テーマ"></li>
     <li><img src="images/screenshots/ja/ruby-gnome2.png"
-             alt="Ruby-GNOME2テーマ" /></li>
+             alt="Ruby-GNOME2テーマ"></li>
     <li><img src="images/screenshots/ja/rubykaigi2011.png"
-             alt="日本Ruby会議2011テーマ" /></li>
+             alt="日本Ruby会議2011テーマ"></li>
   </ul>
 </section>
 
@@ -45,13 +45,13 @@ no_sidebar: true
     <h2>Rabbitについて</h2>
     <nav>
       <ul>
-	<li><a href="ja/">はじめに</a></li>
-	<li><a href="ja/news.html">お知らせ</a></li>
-	<li><a href="ja/install/">インストール</a></li>
-	<li><a href="ja/usage.html">使い方</a></li>
-	<li><a href="ja/how-to-make/">スライドの作り方</a></li>
-	<li><a href="ja/faq.html">よくある質問</a></li>
-	<li><a href="ja/users.html">Rabbitショッカー - ユーザーのみなさん</a></li>
+        <li><a href="ja/">はじめに</a></li>
+        <li><a href="ja/news.html">お知らせ</a></li>
+        <li><a href="ja/install/">インストール</a></li>
+        <li><a href="ja/usage.html">使い方</a></li>
+        <li><a href="ja/how-to-make/">スライドの作り方</a></li>
+        <li><a href="ja/faq.html">よくある質問</a></li>
+        <li><a href="ja/users.html">Rabbitショッカー - ユーザーのみなさん</a></li>
       </ul>
     </nav>
   </section>
diff --git a/doc/ja/development.rd b/doc/ja/development.rd
index a4169c5..a9aa5fb 100644
--- a/doc/ja/development.rd
+++ b/doc/ja/development.rd
@@ -14,8 +14,8 @@ Rabbitのリポジトリは
 リングリストに参加するには以下のようなメールを送信してくださ
 い。
 
-  To: commit at ml.rabbit-shocker.org
-  Cc: null at cozmixng.org
+  To: rabbit at ml.commit-email.info
+  Cc: null at commit-email.info
   Subject: 登録
 
   登録
diff --git a/doc/ja/faq.rd b/doc/ja/faq.rd
index 3a68e89..9ca54aa 100644
--- a/doc/ja/faq.rd
+++ b/doc/ja/faq.rd
@@ -31,7 +31,7 @@ rabbiterコマンドを使います。Rabbitが起動した状態で以下のよ
 == 1ページに複数枚のスライドが入ったPDFを作るには?
 
 XXX.rdから1ページに8枚のスライドが入ったPDF(XXX_multi.pdf)を
-作成する手順は以下の通りです.
+作成する手順は以下の通りです。
 
   % rabbit -p --slides-per-page 8 -o XXX_multi.pdf XXX.rd
 
@@ -57,9 +57,9 @@ XXX.rdから1ページに8枚のスライドが入ったPDF(XXX_multi.pdf)
 
 == 高橋メソッドスライドの中に普通のスライドを混ぜたいときは?
 
-高橋メソッド用のテーマはRabbitではlightning-talkと呼ばれています.
+高橋メソッド用のテーマはRabbitではlightning-talkと呼ばれています。
 
-通常,高橋メソッドのみを使ったスライドを作成する場合は以下のように「lightning-talk」テーマを使います.
+通常,高橋メソッドのみを使ったスライドを作成する場合は以下のように「lightning-talk」テーマを使います。
 
   = タイトル
   : author
@@ -71,9 +71,9 @@ XXX.rdから1ページに8枚のスライドが入ったPDF(XXX_multi.pdf)
 
   = オレだ
 
-もし,高橋メソッドを使ったスライドだけではなく,箇条書きなどを使った「普通の」スライドを混ぜたい場合はこれではうまくいきません.なぜなら,「lightning-talk」テーマは箇条書きなどの見栄え定義を持たないからです.
+もし,高橋メソッドを使ったスライドだけではなく,箇条書きなどを使った「普通の」スライドを混ぜたい場合はこれではうまくいきません。なぜなら,「lightning-talk」テーマは箇条書きなどの見栄え定義を持たないからです。
 
-これを解決するには,テーマを混ぜます.実は,「ligntning-talk」と混ざったテーマが標準でいくつか用意されています.例えば,「rabbit」テーマと「lignting-talk」テーマを混ぜた「lightning-rabbit」です.このテーマを使うと以下のように,高橋メソッドを使ったスライドと普通の「rabbit」テーマのスライドを混ぜることができます.
+これを解決するには,テーマを混ぜます。実は,「ligntning-talk」と混ざったテーマが標準でいくつか用意されています。例えば,「rabbit」テーマと「lignting-talk」テーマを混ぜた「lightning-rabbit」です。このテーマを使うと以下のように,高橋メソッドを使ったスライドと普通の「rabbit」テーマのスライドを混ぜることができます。
 
   = タイトル
   : author
@@ -83,15 +83,15 @@ XXX.rdから1ページに8枚のスライドが入ったPDF(XXX_multi.pdf)
 
   = オレは
 
-  = ...
+  = 。。。
 
-    * ...
-    * ...
-    * ...
+    * 。。。
+    * 。。。
+    * 。。。
 
   = オレだ
 
-「lightning-rabbit」テーマは以下のようにとても小さなテーマです.
+「lightning-rabbit」テーマは以下のようにとても小さなテーマです。
 
   # enscript ruby
   include_theme("rabbit")       # (1)
@@ -108,15 +108,15 @@ XXX.rdから1ページに8枚のスライドが入ったPDF(XXX_multi.pdf)
     end
   end
 
-作戦は,以下のようになっています.
+作戦は,以下のようになっています。
 
-  (1) ベースとなるテーマを適用する.((1)の部分)
+  (1) ベースとなるテーマを適用する。((1)の部分)
   (2) lightning-talk用のスライドだけ((2)の部分)
-      見栄えをlightning-talk用の見栄え定義で上書きする.((3)の部分)
+      見栄えをlightning-talk用の見栄え定義で上書きする。((3)の部分)
 
-これを応用すれば,簡単にちょっとだけ高橋メソッドを使ったプレゼンテーションを行うことができます.注意点は「((*slide.lightning_talkは最後に!*))」ということです.これは,既存の見栄えを上書きするという作戦を用いているためです.
+これを応用すれば,簡単にちょっとだけ高橋メソッドを使ったプレゼンテーションを行うことができます。注意点は「((*slide.lightning_talkは最後に!*))」ということです。これは,既存の見栄えを上書きするという作戦を用いているためです。
 
-ちなみに,(({slide.lightning_talk}))の別名として(({slide.takahashi}))が,(({slide.lightning_talk?}))の別名として(({slide.takahashi?}))が用意されています.
+ちなみに,(({slide.lightning_talk}))の別名として(({slide.takahashi}))が,(({slide.lightning_talk?}))の別名として(({slide.takahashi?}))が用意されています。
 
 Happy Rabbitting!
 
@@ -133,63 +133,68 @@ Happy Rabbitting!
 
 == 改行をするには?
 
-以下のように書きます.
+以下のように書きます。
 
   \n
 
-これはスライドの内容だけではなく,スライドタイトルでも有効です.
+これはスライドの内容だけではなく,スライドタイトルでも有効です。
 
 TODO: 前は
と書かなきゃいけなかったけど、今は\nで書
 けるようにしたから↓は古くなっている。どうしよう。
 
-RabbitにはRubyと同じ魔法の粉がかかっています.つまり,「やってはいけないことは汚く見える」ようになっています((-Rubyの魔法の粉は,例えばグローバル変数に(({$}))を使うというものです.-)).
+RabbitにはRubyと同じ魔法の粉がかかっています。つまり,「やってはいけないことは汚く見える」ようになっています((-Rubyの魔法の粉は,例えばグローバル変数に(({$}))を使うというものです。-))。
 
-Rabbitで改行が書きづらくて,書くとソースが見づらくるのも,Rabbitが改行をできるだけ使わないで欲しいからです.
+Rabbitで改行が書きづらくて,書くとソースが見づらくるのも,Rabbitが改行をできるだけ使わないで欲しいからです。
 
-できるだけ使わないで欲しい一番の理由は「スライドには改行をしなければいけないくらい長い文章は書かない方がよい」からです.文章が長くなってしまった場合は,改行をすることを考える前にその文章を短く言い替えられないかなどを考えた方がよいでしょう.
+できるだけ使わないで欲しい一番の理由は「スライドには改行をしなければいけないくらい長い文章は書かない方がよい」からです。文章が長くなってしまった場合は,改行をすることを考える前にその文章を短く言い替えられないかなどを考えた方がよいでしょう。
 
-スライドに長い文章を書くと,聞いている人はスライドの内容を読むことに集中して,発表者への注意が少なくなってしまいがちです.プレゼンテーションのテクニックとして,「大事なこと,一番言いたいことを話すときは発表者に注目させる」というものがあります((-ホント?-)).スライドに長い文章を書いていると,このテクニックが使いづらくなってしまいます.
+スライドに長い文章を書くと,聞いている人はスライドの内容を読むことに集中して,発表者への注意が少なくなってしまいがちです。プレゼンテーションのテクニックとして,「大事なこと,一番言いたいことを話すときは発表者に注目させる」というものがあります((-ホント?-))。スライドに長い文章を書いていると,このテクニックが使いづらくなってしまいます。
 
 == ブラックアウト?ホワイトアウト?
 
-スライド全体を黒または白くして,スライドの内容を見えなくして,「発表者に注目させる」というテクニックを使うときに利用するための機能です.
+スライド全体を黒または白くして,スライドの内容を見えなくして,「発表者に注目させる」というテクニックを使うときに利用するための機能です。
 
-ブラックアウトは((%B%))で,ホワイトアウトは((%W%))で切替えることができます.それぞれのキーバインドの理由は((*B*))lackと((*W*))hiteです.
+ブラックアウトは((%B%))で,ホワイトアウトは((%W%))で切替えることができます。それぞれのキーバインドの理由は((*B*))lackと((*W*))hiteです。
 
 == タイトルスライドの背景を指定するには?
 
-title-background-colorテーマを使います.
+title-background-colorテーマを使います。
 
-例えば,背景を赤くしたい場合は以下のようにします.
+例えば,背景を赤くしたい場合は以下のようにします。
 
   @title_background_color = "red"
   include_theme("title-background-color")
 
-背景色の指定には(({#RRGGBB}))形式も使えます.以下の例も背景を赤くします.
+背景色の指定には(({#RRGGBB}))形式も使えます。以下の例も背景を赤くします。
 
   @title_background_color = "#ff0000"
   include_theme("title-background-color")
 
-色ではなくて,画像を指定したいときはtitle-background-imageテーマを使います.
+色ではなくて,画像を指定したいときはtitle-background-imageテーマを使います。
 
-以下は背景にマスコットキャラクタ「ラビィ」を指定する例です.
+以下は背景にマスコットキャラクタ「ラビィ」を指定する例です。
 
   @title_background_image = "lavie.png"
   include_theme("title-background-image")
 
 == スライドの背景を指定するには?
 
-例えば,背景を赤くしたい場合は以下のようにします.
+例えば,背景を赤くしたい場合は以下のようにします。
 
   set_background("red")
 
-背景色の指定には(({#RRGGBB}))形式も使えます.以下の例も背景を赤くします.
+背景色の指定には(({#RRGGBB}))形式も使えます。以下の例も背景を赤くします。
 
   set_background("#ff0000")
 
-色ではなくて,画像を指定したいときはslide-background-imageテーマを使います.
+色ではなくて,画像を指定したいときはslide-background-imageテーマを使います。
 
-以下は背景にマスコットキャラクタ「ラビィ」を指定する例です.
+以下は背景にマスコットキャラクタ「ラビィ」を指定する例です。
 
   @slide_background_image = "lavie.png"
   include_theme("slide-background-image")
+
+== Mac OS X で rabbit --full-screen としたとき, 上部のメニューバーや下部のドックが表示されてしまう場合があります.
+
+X11 > 環境設定 > 出力 > フルスクリーンモード のチェックボックスを ON にすると, 上下の表示が消えます.
+環境設定の画面に「コマンド + Option + A キー」でフルスクリーンモードの ON/OFF を切り替えられると書いてありますが, 動かないことがありますので, 「フルスクリーンモード時のメニューバーへのアクセスを許可」というサブオプションも ON にしておくと, X11 のフルスクリーンモードを OFF にするときに環境設定にアクセス出来なくて困るという事にならなくて済みます.
diff --git a/doc/ja/hiki.hiki b/doc/ja/hiki.hiki
index 54332cc..d8f8afe 100644
--- a/doc/ja/hiki.hiki
+++ b/doc/ja/hiki.hiki
@@ -1,8 +1,8 @@
 ---
 layout: ja
 title: Hiki記法
-apply_data: false
 ---
+{% raw %}
 !パラグラフ
 
 連続した複数行は連結されて一つのパラグラフになります。
@@ -317,3 +317,4 @@ http://jp.rubyist.net/theme/clover/clover_h1.png
   パラメータ2
   パラメータ3
  )}}
+{% endraw %}
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/how-to-make/theme.rd b/doc/ja/how-to-make/theme.rd
index 007a40d..fbf9a91 100644
--- a/doc/ja/how-to-make/theme.rd
+++ b/doc/ja/how-to-make/theme.rd
@@ -4,139 +4,139 @@ title: テーマの作り方
 ---
 == テーマについて
 
-スライドの見た目はRDとは別に指定します.それがテーマです.
+スライドの見た目はRDとは別に指定します。それがテーマです。
 
 テーマのテスト用のスライドがsample/theme-bench.rabにあるので
 活用してください。
 
 == 置き場所
 
-テーマはrubyの$LOAD_PATHから検索されます.新しくテーマを作成
+テーマはrubyの$LOAD_PATHから検索されます。新しくテーマを作成
 した場合は((|$LOAD_PATHに含まれているパス/rabbit/theme/テーマ
 名/テーマ名.rb|))あるいは((|ソースがあるディレクトリ/テーマ
-名.rb|))に置いてください.
+名.rb|))に置いてください。
 
 == 書き方
 
-テーマはRubyスクリプトです.難しいと思われるかもしれませんが,
-凝ったことをしなければそれほど難しいことはありません.
+テーマはRubyスクリプトです。難しいと思われるかもしれませんが,
+凝ったことをしなければそれほど難しいことはありません。
 
-テーマは以下のような記述を列挙していくことになると思います.
+テーマは以下のような記述を列挙していくことになると思います。
 
-  (1) 対象となるスライド中の要素(段落とか,ページタイトルと
+  (1) 対象となるスライド中の要素(段落とか、ページタイトルと
       か)を選択
 
-  (2) 選択した要素に対して属性を変更したり,描画時の動作を加
-      えたりする.
+  (2) 選択した要素に対して属性を変更したり、描画時の動作を加
+      えたりする。
 
-例えば,各ページ(タイトルページは含まない)にあるタイトルの
-文字の色を変更したい場合は以下のように書きます.
+例えば、各ページ(タイトルページは含まない)にあるタイトルの
+文字の色を変更したい場合は以下のように書きます。
 
   match(Page, HeadLine) do |heads|
     heads.prop_set("foreground", "red")
   end
 
-((|heads|))というように複数形になっているのは,((|heads|))は
-タイトル(見出し,head line)を0個以上含んでいるからです.
+((|heads|))というように複数形になっているのは、((|heads|))は
+タイトル(見出し,head line)を0個以上含んでいるからです。
 
 == プロパティ
 
 (({prop_set}))では前景色(foreground)以外にも以下のものが指
-定できます.詳しくは((<Pango Text Attribute
+定できます。詳しくは((<Pango Text Attribute
 Markup|URL:http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>))
-を見てください.
+を見てください。
 
 : font_desc
-   フォント情報を指定します.
+   フォント情報を指定します。
 
 : font_family
-   フォント名を指定します.
+   フォント名を指定します。
    
    フォント名の一覧は(({font_families}))とやればフォント名の
-   配列として取得できます.
+   配列として取得できます。
 
 : face
-   font_familyと同じです.
+   font_familyと同じです。
 
 : size
-   フォントの大きさを指定します.
+   フォントの大きさを指定します。
    
-   フォントの大きさを数値で指定する場合は,指定する数値を
+   フォントの大きさを数値で指定する場合は、指定する数値を
    (({screen_size}))で変換してから(({Pango::SCALE}))を掛けて
-   ください.例えば,フォントの大きさを(Rabbitのテーマの世
-   界の単位で)2にする場合は以下のようにします.
+   ください。例えば,フォントの大きさを(Rabbitのテーマの世
+   界の単位で)2にする場合は以下のようにします。
 
      screen_size(2) * Pango::SCALE
 
 : style
-   フォントのスタイルを指定します.
+   フォントのスタイルを指定します。
 
 : weight
-   フォントの重みを指定します.
+   フォントの重みを指定します。
 
 : variant
-   フォントのvariant(変形方法って感じ?)を指定します.
+   フォントのvariant(変形方法って感じ?)を指定します。
 
 : stretch
-   フォントの伸び縮みの具合を指定します.
+   フォントの伸び縮みの具合を指定します。
 
 : foreground
-   前景色を指定します.
+   前景色を指定します。
 
 : background
-   背景色を指定します.
+   背景色を指定します。
 
 : underline
-   下線の種類をします.
+   下線の種類をします。
 
 : rise
-   文字の上下の位置を指定します.
+   文字の上下の位置を指定します。
 
 : strikethrough
-   取消線を引くかどうかを指定します.
+   取消線を引くかどうかを指定します。
 
 : fallback
    指定したフォントがなかった場合に似たようなフォントで代用
-   するかどうかを指定します.
+   するかどうかを指定します。
 
 : lang
-   言語を指定します.
+   言語を指定します。
 
 : b
-   太字にします.
+   太字にします。
 
 : big
-   フォントのサイズを大きくします.
+   フォントのサイズを大きくします。
 
 : i
-   斜体にします.
+   斜体にします。
 
 : s
-   取消線を引きます.
+   取消線を引きます。
 
 : sub
-   下付き文字にします.
+   下付き文字にします。
 
 : sup
-   上付き文字にします.
+   上付き文字にします。
 
 : small
-   フォントのサイズを小さくします.
+   フォントのサイズを小さくします。
 
 : tt
-   固定スペースフォントにします.
+   固定スペースフォントにします。
 
 : u
-   下線を引きます.
+   下線を引きます。
 
 == フック
 
-要素が描画される前,又は後に実行される手続きを指定することが
-できます.それぞれ,(({add_pre_draw_proc})),
-(({add_post_draw_proc}))で指定できます.これらの手続きを削除
-するときは,それぞれ(({clear_pre_draw_procs})),
-(({clear_post_draw_procs}))を使います.
+要素が描画される前、又は後に実行される手続きを指定することが
+できます。それぞれ,(({add_pre_draw_proc})),
+(({add_post_draw_proc}))で指定できます。これらの手続きを削除
+するときは、それぞれ(({clear_pre_draw_procs}))、
+(({clear_post_draw_procs}))を使います。
 
-詳しくは...とりあえず,今のところはdefaultテーマを参考に
-してください.
+詳しくは。。。とりあえず,今のところはdefaultテーマを参考に
+してください。
 
diff --git a/doc/ja/index.rd b/doc/ja/index.rd
index 782751c..bb94e48 100644
--- a/doc/ja/index.rd
+++ b/doc/ja/index.rd
@@ -12,12 +12,12 @@ Rabbitはテキスト形式でプレゼン資料を作成できるので、常
 ンテーションツールです。
 
 また、キーボードによるインターフェイスが充実していることもプ
-ログラマにはうれしい機能です。スライドをKeynoteや他のプレゼン
-テーションツールで作成しているユーザでも、スライド表示だけを
-Rabbitを使うことができます。見栄えの調整などスライド作成は
+ログラマにはうれしい機能です。Keynoteや他のプレゼンテーションツールで
+スライドを作成しているユーザでも、スライド表示にRabbitを使う
+ことができます。具体的には、見栄えの調整などのスライド作成は
 GUIのプレゼンテーションツールで行い、スライド表示・操作のイン
 ターフェイスだけキーボード操作に強いRabbitを使う、というよう
-な使い分けができるということです。
+に使い分けられます。
 
 さらに、Rabbitではスライドの見た目をRubyでカスタマイズできま
 す。プレゼンテーションの時もプログラムできるなんて、Rubyistに
@@ -64,8 +64,8 @@ Kouhei Sutou <kou at cozmixng.org>
 
 === 画像(1)
 
-* マスコットキャラクタLavie(ラヴィ)((-語感はRabbitから,スペ
-  ルはフランス語のla vieからとりました.-))とRabbitのロゴ
+* マスコットキャラクタLavie(ラヴィ)((-語感はRabbitから、スペ
+  ルはフランス語のla vieからとりました。-))とRabbitのロゴ
 
   カワイイ方のうさぎです。
 
@@ -117,11 +117,11 @@ gan
 
 * ゆきうさ
 
-  和服うさぎ少女です.
+  和服うさぎ少女です。
 
 * アリス
 
-  青いドレスの少女です.
+  青いドレスの少女です。
 
 朝比奈 理乃(あさひな りの)
 
@@ -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/>))です。
 
 == メーリングリスト
 
@@ -196,55 +197,55 @@ data/rabbit/image/rubykaigi2011-images/rubykaigi2011-background-black.jpg
 います!!!
 
   * モモさん: かわいいうさぎとかかわいいバナーなどを書いてく
-    れました.
-  * みやむこさん: xyzzy用のrabbitモードを書いてくれました.
-    Windowsまわりでいろいろ助けてくれます.
+    れました。
+  * みやむこさん: xyzzy用のrabbitモードを書いてくれました。
+    Windowsまわりでいろいろ助けてくれます。
   * zundaさん:
-    * EPSの扱いを修正してくれました.
-    * --marginの指定方法についてアドバイスしてくれました.
-    * Rabbitを使ってプレゼンしてくれます.
+    * EPSの扱いを修正してくれました。
+    * --marginの指定方法についてアドバイスしてくれました。
+    * Rabbitを使ってプレゼンしてくれます。
     * Windowsへのインストール用ドキュメントを更新してくれま
       した。
     * Mac OS Xへのインストール用ドキュメントを更新してくれま
       した。
-  * Vincentさん: Max OS Xでの動作確認をしてくれます.フラン
-    ス語のメッセージを用意してくれました.
+  * Vincentさん: Max OS Xでの動作確認をしてくれます。フラン
+    ス語のメッセージを用意してくれました。
   * sodeさん: かっこいい兎とかかわいいうさぎとかかわいいかめ
-    を書いてくれました.
-  * かずひこさん: いろいろバグ報告をしてくれました.Rabbitを
-    使ってプレゼンしてくれます.テーマデザインのアイディアを
-    くれました.
+    を書いてくれました。
+  * かずひこさん: いろいろバグ報告をしてくれました。Rabbitを
+    使ってプレゼンしてくれます。テーマデザインのアイディアを
+    くれました。
   * noritadaさん: ドキュメントに関するバグ報告をしてくれまし
-    た.
-  * ganちゃん: 旗を書いてくれました.
+    た。
+  * ganちゃん: 旗を書いてくれました。
   * かくたにさん:
-    * ドキュメントに関するバグ報告をしてくれました.
-    * Rabbitを使ってプレゼンしてくれます.
-    * テーマデザインや機能拡張のアイディアをくれました.
-    * HTML出力に関するバグを修正するパッチをくれました.
-    * Mac OS X(Intel)用のパッケージを作ってくれました.
+    * ドキュメントに関するバグ報告をしてくれました。
+    * Rabbitを使ってプレゼンしてくれます。
+    * テーマデザインや機能拡張のアイディアをくれました。
+    * HTML出力に関するバグを修正するパッチをくれました。
+    * Mac OS X(Intel)用のパッケージを作ってくれました。
   * atzmさん: Gentoo用のパッケージ(*.ebuild)を作ってくれま
-    した.
+    した。
   * やまだあきらさん:
-    * Debian用のパッケージ(*.deb)を作ってくれました.
+    * Debian用のパッケージ(*.deb)を作ってくれました。
     * バグ報告をし、修正もしてくれます。
     * rabbircを作ってくれました。
-  * うさっちさん: ロゴとか,たろうシリーズなどを書いてくれま
-    した.
+  * うさっちさん: ロゴとか、たろうシリーズなどを書いてくれま
+    した。
   * dotさん: Windowsのインストールについてアドバイスしてくれ
-    ました.
-  * 田中さん: Windowsで動作確認してくれました.
+    ました。
+  * 田中さん: Windowsで動作確認してくれました。
   * 朝比奈さん: かわいいうさぎ少女とかアリスを書いてくれまし
-    た.
-  * 西川さん: FAQページの名前を考えてくれました.動作報告を
-    してくれます.
-  * 武田くん: Emacs用のrabbitモードを書いてくれました.
-  * 木村さん: Mac OS X用のパッケージを作ってくれました.
+    た。
+  * 西川さん: FAQページの名前を考えてくれました。動作報告を
+    してくれます。
+  * 武田くん: Emacs用のrabbitモードを書いてくれました。
+  * 木村さん: Mac OS X用のパッケージを作ってくれました。
   * kitajさん:
     * Rabbitを使ってプレゼンしてくれます。
     * Windowsのインストールドキュメントを修正してくれます。
     * テーマを改良してくれます。
-  * あかぴさん: emergeについてのドキュメントを書いてくれました.
+  * あかぴさん: emergeについてのドキュメントを書いてくれました。
   * おばたさん:
     * pkgsrc用のパッケージを作ってくれました。
     * Rabbitを使ってプレゼンしてくれます。
diff --git a/doc/ja/install/homebrew.rd b/doc/ja/install/homebrew.rd
index 44b039d..2df262c 100644
--- a/doc/ja/install/homebrew.rd
+++ b/doc/ja/install/homebrew.rd
@@ -23,6 +23,7 @@ Rabbit をインストール、利用する手順について説明します。
 
   $ brew install cairo
   $ brew link cairo
+  $ brew link --overwrite pixman
   $ brew install pango
   $ brew install gtk+
   $ brew install poppler --with-glib
@@ -31,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 ca4ea6d..ca83637 100644
--- a/doc/ja/install/windows.rd
+++ b/doc/ja/install/windows.rd
@@ -4,97 +4,43 @@ title: Windowsへインストール
 ---
 == Windowsでのインストール方法
 
-Windows上でRabbitをインストール、利用する手順について説明し
-ます。
-
-必ずインストールしなければいけないソフトウェアと、なくても動
-くけどあると便利なソフトウェアがあります。
+Windows上でRabbitをインストールする方法、起動方法について説明します。
 
-=== 必須のソフトウェアのインストール
+=== インストール方法
 
-以下が必須のソフトウェアです。
+以下のソフトウェアをインストールします。
 
   * Ruby
   * Rabbit
 
-まずは必須のソフトウェアをインストールしましょう。
+それぞれ説明します。
 
-==== Ruby 本体のインストール
+==== Rubyのインストール方法
 
 ((<RubyInstall for Windowsのダウンロードページ(英語)
-|URL:http://rubyinstaller.org/downloads/>))からRuby 1.8.7 の
-インストーラをダウンロードします。Ruby 1.8.7-p334のインストー
-ラは以下のURLからダウンロードできます。
-
-: rubyinstaller-1.8.7-p334.exe
-   ((<URL:http://rubyforge.org/frs/download.php/74293/rubyinstaller-1.8.7-p334.exe>))
+|URL:http://rubyinstaller.org/downloads/>))からインストーラーをダウン
+ロードして実行します。32bit版のRubyでも64bit版のRubyでもかまいません。
 
-==== Rabbitのインストール
+==== Rabbitのインストール方法
 
-RubyInstallerをインストールするとスタートメニューに「Start
-Command Prompt with Ruby」というプログラムが追加されます。こ
-のプログラムを実行するとruby.exeにパスが通ったコマンドプロン
-プトが表示されます。ここで以下のコマンドを実行することで
-Rabbitをインストールできます。Ruby/GTK2など関連するソフトウェ
-アも一緒にインストールされます。
+RubyInstallerをインストールするとスタートメニューに「Start Command
+Prompt with Ruby」(日本語の場合は「Ruby コマンドプロンプトを開く」)
+というプログラムが追加されます。このプログラムを実行すると
+(({ruby.exe}))にパスが通ったコマンドプロンプトが表示されます。ここで以
+下のコマンドを実行することでRabbitをインストールできます。Ruby/GTK2な
+ど関連するソフトウェアも一緒にインストールされます。
 
   > gem install rabbit
 
-=== 必須ではないソフトウェアのインストール
-
-以下がなくても動くけどあると便利なソフトウェアです。
-
-  * RDtool
-  * Ghostscript
-  * Enscript
-  * div
-
-それではあると便利なソフトウェアをインストールしましょう。
-
-==== RDTool のインストール
-
-((<RAA:rdtool>)) をインストールする。
-
-アーカイブを展開して,setup.rb を実行してインストールする.
-
-: rdtool-0.6.20.tar.gz
-   ((<URL:http://www.moonwolf.com/ruby/archive/rdtool-0.6.20.tar.gz>))
-
-==== EPS を表示する
-
-(1) AFPL Ghostscript 8.53 for Win32 をインストールする。
+=== 起動方法
 
-    : gs853w32.exe
-        ((<URL:http://www.cs.wisc.edu/~ghost/>))
-
-(2) インストール後 <インストール先>/gs/gs8.53/bin に PATH を通す。
-
-==== ソースコードの色づけを行う
-
-(1) Enscript をインストールする。
-
-    : enscript-1.6.3-9-bin.exe
-        ((<URL:http://sourceforge.net/project/showfiles.php?group_id=23617&package_id=16960>))
-
-(2) <Enscript のインストール先>/bin に PATH を通す。
-
-(3) ruby コードを色づけする場合は、以下のコマンドで ruby.st もインストールする。
-
-      > cd <Enscript のインストール先>\share\enscript\hl
-      > ruby -ropen-uri -e "puts open('http://viewvc.rubyforge.mmmultiworks.com/cgi/viewvc.cgi/trunk/support/ruby.st?root=support&view=co').read" > ruby.st
-
-(4) ((<RAA:htree>)) をインストールする。
-
-    アーカイブを展開して,install.rb を実行してインストールする。
-
-    : htree.tar.gz
-        ((<URL:http://cvs.m17n.org/viewcvs/ruby/htree.tar.gz>))
-
-==== rabrick を使う
+Rabbitのインストール時に使ったコマンドプロンプトで次のコマンドを実行し
+ます。
 
-((<RAA:div>)) をインストールする。
+  > rabbit
 
-アーカイブを展開して,install.rb を実行してインストールする。
+実行するとスライドファイルを開くダイアログが表示されるので作成したスラ
+イドファイルを指定します。
 
-: div-1.3.2.tar.gz
-   ((<URL:http://www2a.biglobe.ne.jp/~seki/ruby/div-1.3.2.tar.gz>))
+スライドファイルの作成方法は((<スライドの作り方|URL:../how-to-make/>))
+を参考にしてください。
diff --git a/doc/ja/news.rd b/doc/ja/news.rd
index 01dc109..a7776d7 100644
--- a/doc/ja/news.rd
+++ b/doc/ja/news.rd
@@ -3,6 +3,542 @@ layout: ja
 title: お知らせ
 apply_data: false
 ---
+{% raw %}
+== 2.2.0: 2017-01-22
+
+Markdownサポートを強化したリリース。
+
+=== 改良
+
+==== 全体
+
+  * Ruby 2.0のサポートをやめた。
+
+  * gdk_pixbuf2 gem 3.0.8以前のサポートをやめた。
+
+==== rabbit
+
+  * PDF:「%」が含まれているファイル名に対応。
+
+  * Migemoサポートを削除した。
+
+  * Markdown:タグをサポート。
+
+    例(インライン):
+
+      普通のテキスト{::tag name="center"}中央寄せされたテキスト{:/tag}普通のテキスト
+
+    例(段落単位):
+
+      普通のテキスト
+
+      {:.center}
+      中央寄せされたテキスト
+
+      普通のテキスト
+
+  * Markdown:ネストしたリストの項目での(({wait}))をサポート。
+
+  * 動的にフォントサイズを決めるときのパフォーマンスを改善。
+
+  * スライド・テーマのgemをpushするときに(({config.yaml}))で指定してい
+    るRubyGemsユーザーを使うようにした。
+
+  * PDF:リンクをサポート。ただし、以下の制限がある。
+      * cairo 1.15.4以降が必要。(1.15.4未満の場合は単にこの機能を使えないだけ。)
+      * リンクテキストだけでなく段落全体がリンクになってしまう。
+
+==== テーマ
+
+  * slide-logo:(({logo-image}))スライドプロパティーに画像ファイル名を
+    指定することでスライド毎にロゴを変えられるようにした。
+
+  * title-on-image-toolkit:文字の縁も描画して読みやすくした。
+
+  * syntax-highlighting:Cの(({#include}))のパスの色を通常の文字列と同
+    じ色にした。
+
+==== rabbit-slide
+
+  * Markdown:必要な改行が出力されていない問題を修正。
+    [GitHub#95][znzさんがパッチ提供]
+
+==== ドキュメント
+
+  * FAQの英語を改良。
+    [GitHub#100][Todd Trimbleさんがパッチ提供]
+
+=== 修正
+
+==== rabbit
+
+  * マルチバイトの画像ファイル名を指定してそのファイルが見つからなかっ
+    たときに適切にエラーを報告できない問題を修正。
+    [GitHub#91][takiy33さんが報告]
+
+  * Windows:画像ファイル検出時のエンコーディングエラーを修正。
+    [GitHub#93][dogatanaさんが報告]
+
+  * スライド選択ダイアログでキャンセルしたときにエラーが発生していた問
+    題を修正。
+
+  * typoを修正。
+    [GitHub#97][znzさんがパッチ提供]
+
+  * スライドのアスペクト比とウィンドウのアスペクト比が異なるときにスポッ
+    トライト・虫眼鏡が対象とする位置がずれる問題を修正。
+    [GitHub#99][おばたさんがパッチ提供]
+
+  * Windows:フルスクリーンを解除してもウィンドウサイズが戻らない問題
+    を修正。
+    [GitHub#98][ただただしさんが報告]
+
+==== ドキュメント
+
+  * typoを修正。
+    [GitHub#101][znzさんがパッチ提供]
+
+=== 感謝
+
+  * takiy33さん
+  * dogatanaさん
+  * znzさん
+  * Todd Trimbleさん
+  * おばたさん
+  * ただただしさん
+
+== 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で動かない問題を修正したリリース
+
+=== 修正
+
+==== rabbit
+
+  * Windows: 起動できない問題を修正。 [yoku0825さんが報告]
+
+=== 感謝
+
+  * yoku0825さん
+
+== 2.1.7: 2015-09-05
+
+Markdownでのノートマークアップ対応リリース。
+
+=== 改良
+
+==== rabbit
+
+  * GDKレンダリングエンジンを削除。(だいぶ前からcairoが必須になってい
+    てGDKレンダリングエンジンがなくても問題なくなっていたため。)
+  * GTK+ 3対応を進めた。(まだ完成していない。) [okkezさんがパッチ提供]
+  * 使われていない(({--server}))オプションを削除。
+  * Wikiマークアップ: 未サポートの書き方のときのエラーメッセージを改善。
+  * Markdownマークアップ: 1つの段落内に複数の画像を指定したときに「未
+    サポートである」とメッセージを出力するようにした。
+    [GitHub#71][Colin Deanさんが報告]
+  * Markdownマークアップ: ノートマークアップ対応。 [yoku0825さんが提案]
+
+    書式は(('{::note}...{:/note}'))です。
+
+    例:
+
+      普通のテキスト{::note}ノート{:/note}普通のテキスト
+
+==== テーマ
+
+  * image-timer: メモリー使用量を削減。
+  * image-slide-number: メモリー使用量を削減。
+  * clear-blue: 引用ブロックでの最初の行のインデントをやめた。
+
+==== ドキュメント
+
+  * READMEをMarkdownでマークアップした。
+    [GitHub#72][Toshi MARUYAMAさんがパッチ提供]
+  * Rabbitの概要の説明を改良。 [GitHub#74][YU-TAYUさんがパッチ提供]
+
+=== 修正
+
+==== rabbit-slide
+
+  * 不正なMarkdownを出力する問題を修正。 [Matafumi Yokoyamaさん]
+
+==== ドキュメント
+
+  * サイドメニューが隠れている問題を修正。
+    [GitHub#75][YU-TAYUさんが報告]
+
+=== 感謝
+
+  * okkezさん
+  * Matafumi Yokoyamaさん
+  * Colin Deanさん
+  * Toshi MARUYAMAさん
+  * YU-TAYUさん
+  * yoku0825さん
+
+== 2.1.6: 2015-02-26
+
+2.1.5のバグフィックスリリース。
+
+=== 修正
+
+==== rabbit
+
+  * フルスクリーン機能が動作しない問題を修正。
+    [GitHub#58] [Mamoru TASAKAさんが報告]
+
+=== 感謝
+
+  * Mamoru TASAKAさん
+
+== 2.1.5: 2015-02-25
+
+2.1.4のバグフィックスリリース。
+
+=== 改良
+
+==== rabbit
+
+  * 古いGTK+ 2のためのコードを削除した。
+    [GitHub#56] [okkezさんがパッチ提供]
+  * GTK+ 3サポートのためのコード整理を開始。
+    [GitHub#55] [okkezさんがパッチ提供]
+
+==== テスト
+
+  * blockdiagがインストールされていなくてもエラーにならないようにした。
+    [GitHub#54] [Mamoru TASAKAさんが報告]
+
+=== 修正
+
+==== rabbit
+
+  * 情報ウィンドウに適切なサイズで表示されない問題を修正。
+
+=== 感謝
+
+  * Mamoru TASAKAさん
+  * okkezさん
+
+== 2.1.4: 2015-02-23
+
+Markdownサポートを改善したリリース。
+
+=== 改良
+
+==== rabbit
+
+  * ログメッセージ中の不正なエンコーディングの文字を置き換えるようにした。
+    [shocker-ja:1228] [おばたさんが報告]
+  * cairoスクリプトの出力に対応した。出力ファイルの拡張子を.csにすると
+    cairoスクリプト形式で出力される。
+    * 例:
+        % rabbit --print --output-filename=slide.cs
+  * 不要なスペースを削除。
+    [GitHub#48] [Yuichi NANSAIさんがパッチ提供]
+  * インデントをスペースで統一。
+    [GitHub#49] [Yuichi NANSAIさんがパッチ提供]
+  * PDFでスライドの縦横比を維持するようにした。
+    [Kenshi Mutoさんが提案]
+  * (({file:///})) URIに対応。
+    [TOMITA Masahiroさんが報告]
+  * WindowsでもPDFを読み込めるようにした。
+    [TOMITA Masahiroさんが報告]
+  * Markdown: waitタグをサポート。
+    [shocker-ja:1249] [Isobeさんが提案]
+    * 例:
+        {::wait/}
+  * Markdown: 順序付きリストをサポート。
+  * Markdown: コードブロックフェンスでのシンタックスハイライトに対応。
+    * Kramdownスタイルの例:
+        ~~~ruby
+        # Rubyコード
+        ~~~
+    * GitHub Flavored Markdownスタイルの例:
+        ```ruby
+        # Rubyコード
+        ```
+  * Markdown: シンタックスハイライトの言語指定の属性名として
+    (({language}))もサポート。
+    * 例:
+        # タイトル
+
+            def hello
+            end
+        {: language="ruby"}
+  * Markdown: blockdiagに対応。
+    * 例:
+        ```blockdiag
+        {
+          A -> B -> C;
+        }
+        ```
+  * 後方互換性のための不要なコードを削除。
+  * ウィンドウサイズを変えてもスライドの初期表示サイズの縦横比を維持す
+    るようにした。
+
+==== rabbit-slide
+
+  * ISO 8601形式の日付フォーマットを使うようにした。
+
+==== テーマ
+
+  * default-block-quote: ASCIIのみの引用テキストは両端揃えにしないよう
+    にした。
+
+==== ドキュメント
+
+  * OS Xでフルスクリーン機能を使う方法を追加。
+    [GitHub#45] [Shinta Koyanagiさんがパッチ提供]
+  * Ruby Installerのバージョンを更新。 [Masafumi Yokoyamaさん]
+  * Rabbitを使ったスライドのURLを追加。
+    [GitHub#46] [Brett Chalupaさんがパッチ提供]
+  * typoを修正。
+    [GitHub#47] [HAYASHI Kentaroさんがパッチ提供]
+  * Windows向けの古い情報を削除。
+    [SATOH Kiyoshiさんが報告]
+
+=== 修正
+
+==== rabbit
+
+  * PDFを読み込めない問題を修正。
+    [Junichi Oyaさんが報告]
+  * Markdown: メタ文字のエスケープ漏れを修正。
+    [GitHub#50] [Matthias Güntherさんが報告]
+
+=== 感謝
+
+  * おばたさん
+  * Junichi Oyaさん
+  * Shinta Koyanagiさん
+  * Brett Chalupaさん
+  * Yuichi NANSAIさん
+  * Kenshi Mutoさん
+  * Matthias Güntherさん
+  * HAYASHI Kentaroさん
+  * TOMITA Masahiroさん
+  * SATOH Kiyoshiさん
+
+== 2.1.3: 2014-08-03
+
+描画速度を改善したリリース。
+
+=== 改良
+
+==== rabbit
+
+  * UTF-8な入力ファイルのエンコーディング検出処理を改良。
+    [GitHub#34] [Colin Deanさんが報告]
+  * Markdown: 項目の内容がないリストをサポート。
+    [GitHub#37] [Colin Deanさんが報告]
+  * 縦方向の中央揃えを使っていない時の描画性能を改善。
+    [GitHub#35] [Colin Deanさんが報告]
+  * メモリー使用量の増加を抑えた。o
+    [GitHub#41] [Enrico Rivarolaさんが報告]
+
+==== テーマ
+
+  * default-preformatted: (({PreformattedText}))ではなく、
+    (({PreformattedBlock}))にテキストサイズを設定するように変更。
+  * tag: (({xx-small}))タグと(({xx-large}))タグに対応。
+    [GitHub#39] [Enrico Rivarolaさんがパッチ提供]
+  * syntax-highlighting: 浮動小数点リテラルに対応。
+
+==== ドキュメント
+
+  * Ruby Installerのバージョンを更新。 [Masafumi Yokoyamaさん]
+  * Homebrewでのインストール方法を更新。
+    [GitHub#30] [Bert Changさんがパッチ提供]
+  * 英語の翻訳と改良。
+    [GitHub#33] [Tomohiro Imaizumiさんがパッチ提供]
+  * Windowsでは64bit版Rubyに未対応であるという説明を追加。
+    [GitHub#43] [YUKI Hiroshiさんがパッチ提供]
+
+=== 修正
+
+==== rabbit
+
+  * rabbitコマンドの終了ステータスが常に0以外の問題を修正。
+  * ウィンドウシステムがない環境で起動するとエラーを出力して終了するのではなく、
+    クラッシュする問題を修正。
+    [shocker-ja:1189] [Kazuhiro NISHIYAMAさんが報告]
+  * 情報ウィンドウ: ウィンドウサイズが変更してもノートテキストの大きさ
+    が反映されない問題を修正。
+    [shocker-en:71][shocker-en:74] [Enrico Rivarolaさんが報告]
+  * 情報ウィンドウ: ノートに長い単語があると切れてしまう問題を修正。
+    [shocker-en:78] [Enrico Rivarolaさんが報告]
+  * 情報ウィンドウ: ノートのマークアップが反映されない問題を修正。
+    [GitHub#38] [Enrico Rivarolaさんがパッチ提供]
+  * 一時ファイルをすぐに削除しない問題を修正。
+    [GitHub#40] [Enrico Rivarolaさんがパッチ提供]
+
+==== rabbit-slide
+
+  * SlideShareに公開するときにタグが反映されない問題を修正。
+
+=== 感謝
+
+  * Masafumi Yokoyamaさん
+  * Kazuhiro NISHIYAMAさん
+  * Bert Changさん
+  * Enrico Rivarolaさん
+  * Colin Deanさん
+  * YUKI Hiroshiさん
+
+== 2.1.2: 2014-03-08
+
+2.1.1のバグフィックスリリース。
+
+=== 改良
+
+==== rabbit
+
+  * 情報ウィンドウがソースの自動再読み込みに対応。
+    [GitHub#23] [Kazuhiro NISHIYAMAさんが報告]
+  * ソースの構文をチェックして終了する((%--check-syntax%))オプションを追加。
+    [GitHub#27] [HAYASHI Kentaroさんが提案]
+  * Markdownでインラインコード用の「(({`...`}))」記法を使えるようになった。
+    [GitHub#29] [KITAITI Makotoさんがパッチを提供]
+  * Markdownで改行用の「(({\\}))」記法を使えるようになった。
+    [GitHub#29] [KITAITI Makotoさんがパッチを提供]
+
+==== rabbit-slide
+
+   * Markdownで書かれたREADMEに対応。
+   * Gitのタグを打つ「tag」タスクを追加。
+   * 「theme.rb」ファイルがあったら自動でgemに追加するようにした。
+   * config.yamlにプレゼンテーションに対応するYouTubeの動画を指定する
+     (({youtube_id}))パラメーターを書けるようにした。指定すると
+     slide.rabbit-shocker.orgでリンクが出る。
+
+==== ドキュメント
+
+  * Homebrewでのインストール方法を更新。
+    [Yutaro Sugaiさん]
+  * Windowsでのインストール方法を更新。
+    [Masafumi Yokoyamaさん]
+
+=== 修正
+
+==== rabbit
+
+  * 落書きモードの設定ダイアログを開けない問題を修正。
+    [shocker-en:63] [Enrico Rivarolaさんが報告]
+
+==== rabbit-slide
+
+  * PDFを作らなくてもgemを作れてしまう問題を修正。
+
+=== 感謝
+
+  * Kazuhiro NISHIYAMAさん
+  * Yutaro Sugaiさん
+  * Masafumi Yokoyamaさん
+  * HAYASHI Kentaroさん
+  * Enrico Rivarolaさん
+  * KITAITI Makotoさん
+
 == 2.1.1: 2013-06-26
 
 2.1.0のバグフィックスリリース。
@@ -711,7 +1247,7 @@ Markdown対応リリース!
   * [GitHub#3]: 変数名が間違っていた問題を修正。
     [TAKATSU Tomonariさんが修正]
 
-==== rabbitter
+==== rabbiter
 
   * HTTPS対応。 [OBATA Akioさんが修正]
 
@@ -1669,54 +2205,54 @@ Debianオフィシャルパッケージになりました![佐々木さん]
 
 == 0.4.2から0.5.0の変更点: 2006-11-03
 
-  * GtkGLExtのロード絡みのバグを修正.(かくたにさん)
-  * rabbit-mode.elの改良.(武田くん)
-  * emerge関係のドキュメントの更新.(あかぴさん)
-  * MacPorts用のドキュメントの追加.(きむらさん)
-  * RSVGのパス解決に対応策を追加.
-  * (役に立たない)Ruby/Anthyのサポート.
-  * マルチディスプレイ用情報ウィンドウのサポート.
-  * フォント名にRabbit/Rabbit Monospaceがあったら,優先的に
-    使うようにした.
-  * アフィン変換系のAPIの追加.
+  * GtkGLExtのロード絡みのバグを修正。(かくたにさん)
+  * rabbit-mode.elの改良。(武田くん)
+  * emerge関係のドキュメントの更新。(あかぴさん)
+  * MacPorts用のドキュメントの追加。(きむらさん)
+  * RSVGのパス解決に対応策を追加。
+  * (役に立たない)Ruby/Anthyのサポート。
+  * マルチディスプレイ用情報ウィンドウのサポート。
+  * フォント名にRabbit/Rabbit Monospaceがあったら、優先的に
+    使うようにした。
+  * アフィン変換系のAPIの追加。
     * canvas.rotate_context
     * canvas.scale_context
     * canvas.translate_context
     * canvas.reflect_context
     * canvas.shear_context
-  * 描画情報を保存しておくAPIの追加.
+  * 描画情報を保存しておくAPIの追加。
     * canvas.save_context
     * canvas.restore_context
-  * lightning-talkテーマでは"\n"で改行できるようにした.
-  * aroundフックの追加.
-  * 新しいテーマの追加.
+  * lightning-talkテーマでは"\n"で改行できるようにした。
+  * aroundフックの追加。
+  * 新しいテーマの追加。
     * rotate-zoom-effect
     * emphasize-keyword
     * scroll-effect
     * mirror-effect
-  * スポットライト機能の追加.
+  * スポットライト機能の追加。
     ((<URL:http://pub.cozmixng.org/~gallery/kou/screenshot/rabbit/spotlight/>))
-  * 虫眼鏡機能の追加.
+  * 虫眼鏡機能の追加。
     ((<URL:http://pub.cozmixng.org/~gallery/kou/screenshot/rabbit/magnifier/>))
-  * グラデーションのサポート.
-  * setup.rb 3.4.1を使うように変更.
+  * グラデーションのサポート。
+  * setup.rb 3.4.1を使うように変更。
 
 == 0.4.1から0.4.2の変更点
 
-  * 検索時の正規表現のバグを修正.(西川さん)
-  * ドキュメントを修正.(西川さん,きたさん)
+  * 検索時の正規表現のバグを修正。(西川さん)
+  * ドキュメントを修正。(西川さん,きたさん)
   * rabbit-mode.elの追加(武田くん)
-  * HTML生成のバグの修正.(かくたにさん)
-  * アリスの画像を追加.(朝日奈さん)
-  * rabbit-mode.lの修正.(みやむこさん,id:wata_dさん)
-  * 高橋エイリアスから高橋メソッドへ.
-  * Ruby/Popplerを用いたPDF表示のサポート.
-  * OpenGLサポートの改良.
-  * RabrickでのAJAXをサポート.
-  * 携帯電話をサポート.
-  * メモり使用を改善.
+  * HTML生成のバグの修正。(かくたにさん)
+  * アリスの画像を追加。(朝日奈さん)
+  * rabbit-mode.lの修正。(みやむこさん,id:wata_dさん)
+  * 高橋エイリアスから高橋メソッドへ。
+  * Ruby/Popplerを用いたPDF表示のサポート。
+  * OpenGLサポートの改良。
+  * RabrickでのAJAXをサポート。
+  * 携帯電話をサポート。
+  * メモり使用を改善。
 
 === 他のニュース
 
-  * きむらさんがMac OS Xのパッケージ(DarwinPorts用)を作ってくれました.
-
+  * きむらさんがMac OS Xのパッケージ(DarwinPorts用)を作ってくれました。
+{% endraw %}
diff --git a/doc/ja/rd.rd b/doc/ja/rd.rd
index 3c2cb7a..74ae2b3 100644
--- a/doc/ja/rd.rd
+++ b/doc/ja/rd.rd
@@ -1,8 +1,8 @@
 ---
 layout: ja
 title: RD
-apply_data: false
 ---
+{% raw %}
 == RDとは何か
 
 RDとはRuby版のPODです。つまりRubyスクリプトファイルの中に埋め込む事を意図して
@@ -487,3 +487,4 @@ Reference内では"|"や"/"は特殊文字なのでこれらを使いたい時
 表示用のテキストが無い場合には代わりにLabelに((<Inline>))を使えます。
    ((<((*Label*))>))
 ((<((*Label*))>))
+{% endraw %}
diff --git a/doc/ja/sample/hiki/rabbit.hiki b/doc/ja/sample/hiki/rabbit.hiki
index 81e23c3..893a7bd 100644
--- a/doc/ja/sample/hiki/rabbit.hiki
+++ b/doc/ja/sample/hiki/rabbit.hiki
@@ -1,8 +1,8 @@
 ---
 layout: ja
 title: "サンプルスライド: Rabbit"
-apply_data: false
 ---
+{% raw %}
 <<<
 // To run with it without system install.
 //  % ruby -I./lib bin/rabbit -f sample/rabbit.hiki
@@ -318,17 +318,17 @@ end
 
 ! Anthy
 
-ひらがなをかんじにへんかんできます.
+ひらがなをかんじにへんかんできます。
 
-いみもつかいみちもないです.
+いみもつかいみちもないです。
 
 
 ''変換後:''
 
 {{anthy(<<-EOA)
-ひらがなをかんじにへんかんできます.
+ひらがなをかんじにへんかんできます。
 
-いみもつかいみちもないです.
+いみもつかいみちもないです。
 EOA
 }}
 
@@ -405,3 +405,4 @@ EOA
 * キーボード重視
 ** UI・テキストベースのソース
 >>>
+{% endraw %}
diff --git a/doc/ja/usage/rabbit-slide.rd b/doc/ja/usage/rabbit-slide.rd
index fdb43c4..53759fd 100644
--- a/doc/ja/usage/rabbit-slide.rd
+++ b/doc/ja/usage/rabbit-slide.rd
@@ -18,9 +18,8 @@ RubyGems.orgやSlideShareへの公開をコマンド一発で実行できます
 
 Rabbitでよいスライドを作成し、よい発表をし、そして、共有しましょう!
 
-TODO: RubyGems.orgに公開したスライドは
-((<URL:http://slide.rabbit-shocker.org/>))で閲覧できるようになる予定で
-す。
+RubyGems.orgに公開したスライドは((<Rabbit Slide
+Show|URL:http://slide.rabbit-shocker.org/>))で閲覧できます。
 
 == 雛形作成
 
@@ -117,18 +116,18 @@ TODO: すべてのパラメーターの説明を書く。
           --options-file=FILE          FILEからオプションを読み込みます。
                                        (なし)
 
-          --locale-dir=DIR             ロケールディレクトリを[DIR]にします.
+          --locale-dir=DIR             ロケールディレクトリを[DIR]にします。
                                        (自動)
 
-          --logger-type=TYPE           ログの出力種類を[TYPE]にします.
-                                       [gui, stderr]から選びます.
+          --logger-type=TYPE           ログの出力種類を[TYPE]にします。
+                                       [gui, stderr]から選びます。
                                        (STDERR)
-          --log-level=LEVEL            ログの出力レベルを[LEVEL]にします.
-                                       [debug, info, warning, error, fatal, unknown]から選びます.
+          --log-level=LEVEL            ログの出力レベルを[LEVEL]にします。
+                                       [debug, info, warning, error, fatal, unknown]から選びます。
                                        (info)
 
-          --help                       このメッセージを表示します.
-          --version                    バージョンを表示します.
+          --help                       このメッセージを表示します。
+          --version                    バージョンを表示します。
 
 == 表示
 
@@ -198,11 +197,20 @@ APIがなかったので諦めました。
 RubyGems.orgに公開したスライドは
 ((%rabbit #{RubyGems.orgのユーザー名}-#{スライドID}.gem%))
 で表示できます。theme-benchmark-jaの場合は
-RubyGems.orgのユーザー名が((%kou%))でスライドIDが
+RubyGems.orgのユーザー名が((%rabbit%))でスライドIDが
 ((%theme-benchmark-ja%))なので以下のコマンドで表示できます。
 
   % rabbit rabbit-theme-benchmark-ja.gem
 
+RubyGems.orgに公開したスライドは((<Rabbit Slide
+Show|URL:http://slide.rabbit-shocker.org/>))で閲覧できます。URLは
+((%http://slide.rabbit-shocker.org/authors/#{RubyGems.orgのユーザー
+名}/#{スライドID}/%))です。
+
+Rabbit Slide ShowはRubyGems.orgに公開されているスライドを自動で収集して
+表示しているので、明示的にRabbit Slide Showにスライドを公開する操作を
+する必要はありません。RubyGems.orgに公開するだけでOKです。
+
 === SlideShareへ公開
 
 ((%rabbit publish:slideshare%))でSlideShareに公開できます。
diff --git a/doc/ja/usage/rabbit-theme.rd b/doc/ja/usage/rabbit-theme.rd
index a2c70a2..2482e5b 100644
--- a/doc/ja/usage/rabbit-theme.rd
+++ b/doc/ja/usage/rabbit-theme.rd
@@ -75,18 +75,18 @@ RubyGems.orgで公開する場合は((%--name%))、((%--email%))、
           --options-file=FILE          FILEからオプションを読み込みます。
                                        (なし)
 
-          --locale-dir=DIR             ロケールディレクトリを[DIR]にします.
+          --locale-dir=DIR             ロケールディレクトリを[DIR]にします。
                                        (自動)
 
-          --logger-type=TYPE           ログの出力種類を[TYPE]にします.
-                                       [gui, stderr]から選びます.
+          --logger-type=TYPE           ログの出力種類を[TYPE]にします。
+                                       [gui, stderr]から選びます。
                                        (STDERR)
-          --log-level=LEVEL            ログの出力レベルを[LEVEL]にします.
-                                       [debug, info, warning, error, fatal, unknown]から選びます.
+          --log-level=LEVEL            ログの出力レベルを[LEVEL]にします。
+                                       [debug, info, warning, error, fatal, unknown]から選びます。
                                        (info)
 
-          --help                       このメッセージを表示します.
-          --version                    バージョンを表示します.
+          --help                       このメッセージを表示します。
+          --version                    バージョンを表示します。
 
 == 表示
 
diff --git a/doc/ja/usage/rabbit.rd b/doc/ja/usage/rabbit.rd
index e5e25d4..debc197 100644
--- a/doc/ja/usage/rabbit.rd
+++ b/doc/ja/usage/rabbit.rd
@@ -15,34 +15,34 @@ Rabbitはコマンドラインから起動する方法とコマンドランチ
 
   % rabbit XXX.rd
 
-例えば,sample/rabbit-implementation.rdを使うには,トップの
-ディレクトリで以下のようにします.
+例えば、sample/rabbit-implementation.rdを使うには、トップの
+ディレクトリで以下のようにします。
 
   % rabbit sample/rabbit-implementation.rd
 
-ただし,いくつかのサンプルは,テーマがsample/rabbit/theme以
-下にあるためトップからではうまく表示できないかもしれません.
+ただし、いくつかのサンプルは、テーマがsample/rabbit/theme以
+下にあるためトップからではうまく表示できないかもしれません。
 サンプルの実行は sample ディレクトリに入ってするとよいでしょ
-う.
+う。
 
 WindowsユーザならRDファイルをbin/rabbit.batにドラッグアンド
-ドロップしてもよいです.
+ドロップしてもよいです。
 
-あるいは,*.rd(とか*.rab(Rabbitの略))を
+あるいは、*.rd(とか*.rab(Rabbitの略))を
 
   <rubyをインストールしたフォルダ>\bin\rubyw -S rabbit
 
-に関連付けて,RDファイルをダブルクリックすることで起動するこ
-ともできます.
+に関連付けて、RDファイルをダブルクリックすることで起動するこ
+ともできます。
 
 === オプション
 
 : -t, --theme=THEME
-   テーマを指定します.
+   テーマを指定します。
 
 : -I, --include=PATH
-   ロードパスを追加します.ロードパスはテーマの検索などにも
-   使用されます.
+   ロードパスを追加します。ロードパスはテーマの検索などにも
+   使用されます。
 
 : --comment-theme=THEME
    コメント用のテーマを指定します。現在利用可能なテーマはス
@@ -55,21 +55,21 @@ WindowsユーザならRDファイルをbin/rabbit.batにドラッグアンド
 
 : -B, --base=BASE
    入力ソース中の相対パス(例えば画像へのパス)を解決するた
-   めのURIまたはパスを指定します.省略した場合は入力ソースの
-   種類に応じて自動的に決定されます.
+   めのURIまたはパスを指定します。省略した場合は入力ソースの
+   種類に応じて自動的に決定されます。
 
 : -T, --type=TYPE
-   入力ソースの種類を指定します.
+   入力ソースの種類を指定します。
 
    入力ソースの種類は file(デフォルト), argf, uri 
    のいずれかを指定します。
 
    : argf
 
-     入力ソースとしてARGFを利用します.つまり,標準入力から
-     ソースを入力することも出来ます.
+     入力ソースとしてARGFを利用します。つまり,標準入力から
+     ソースを入力することも出来ます。
      
-     ソースの自動再読み込み機能は利用できません.
+     ソースの自動再読み込み機能は利用できません。
      
      例:
        % rabbit --type argf file1.rd file2.rd ...
@@ -84,23 +84,23 @@ WindowsユーザならRDファイルをbin/rabbit.batにドラッグアンド
 
    : file
 
-     デフォルト.つまり--type fileは省略可.
+     デフォルト。つまり--type fileは省略可。
      
-     指定したファイルからソースを取得します.
+     指定したファイルからソースを取得します。
 
-     ソースの自動再読み込み機能を利用できます.
+     ソースの自動再読み込み機能を利用できます。
      
      例:
        % rabbit --type file file.rd
 
    : uri
 
-     指定したURIからソースを取得します.
+     指定したURIからソースを取得します。
 
-     ソースの自動再読み込み機能を利用できますが,パフォーマ
-     ンスなどを考慮して,最後にソースを読み込んでから一定時
+     ソースの自動再読み込み機能を利用できますが、パフォーマ
+     ンスなどを考慮して、最後にソースを読み込んでから一定時
      間(現在は60秒)以上たたないとたとえソースが変更されて
-     いてもソースを再読み込みしません.
+     いてもソースを再読み込みしません。
 
      例:
        % rabbit --type uri https://raw.github.com/rabbit-shocker/rabbit/master/sample/rabbit-implementation.rd
@@ -108,7 +108,7 @@ WindowsユーザならRDファイルをbin/rabbit.batにドラッグアンド
        % rabbit --type uri ftp://.../XXX.rd
      とか
 
-     ちなみに,
+     ちなみに、
        % rabbit --type uri file:///.../XXX.rd
      とか
        % rabbit --type uri /.../XXX.rd
@@ -118,12 +118,12 @@ WindowsユーザならRDファイルをbin/rabbit.batにドラッグアンド
 
    : memory
 
-     ソースをメモリ上に置いて管理します.このタイプではdRuby
+     ソースをメモリ上に置いて管理します。このタイプではdRuby
      やSOAPなどのインターフェイスを用いてソースの内容を書き
-     換えることができます.
+     換えることができます。
      
-     初期ソースはファイル名を指定して,そのファイルの内容を
-     与えることができます.
+     初期ソースはファイル名を指定して、そのファイルの内容を
+     与えることができます。
 
      例(初期ソースなし):
        % rabbit --type memory
@@ -132,226 +132,226 @@ WindowsユーザならRDファイルをbin/rabbit.batにドラッグアンド
        % rabbit --type memory file.rd
 
 : -e, --encoding=ENCODING
-   入力ソースのエンコーディングを指定します.
+   入力ソースのエンコーディングを指定します。
    
-   指定しなかった場合は自動検出を試みます.
+   指定しなかった場合は自動検出を試みます。
 
 : -f, --full-screen, --no-f, --no-full-screen
-   フルスクリーンモードで起動するかどうかを指定します.
+   フルスクリーンモードで起動するかどうかを指定します。
    
-   デフォルトではフルスクリーンモードにはなりません.
+   デフォルトではフルスクリーンモードにはなりません。
 
 : --index-mode, --no-index-mode
-   一覧モードで起動するかどうかを指定します.
+   一覧モードで起動するかどうかを指定します。
    
-   デフォルトでは一覧モードにはなりません.
+   デフォルトでは一覧モードにはなりません。
 
 : -w, --width=WIDTH
-   ウィンドウの幅を指定します.
+   ウィンドウの幅を指定します。
    
-   デフォルトは800です.
+   デフォルトは800です。
    
 : -h, --height=HEIGHT
-   ウィンドウの高さを指定します.
+   ウィンドウの高さを指定します。
 
-   デフォルトは600です.
+   デフォルトは600です。
    
 : -S, --size=WIDTH,HEIGHT
-   ウィンドウの高さと幅を指定します.
+   ウィンドウの高さと幅を指定します。
 
 : -s, --save-as-image
-   各スライドを画像として保存し,終了します.
+   各スライドを画像として保存し,終了します。
 
 : -i, --saved-image-type=TYPE
-   保存される画像の種類を指定します.
+   保存される画像の種類を指定します。
    
-   例えば,png(デフォルト)とかjpegとか.
+   例えば,png(デフォルト)とかjpegとか。
 
 : -b, --saved-image-base-name=BASE_NAME
-   保存される画像のファイルのベース名を指定します.保存され
+   保存される画像のファイルのベース名を指定します。保存され
    る画像の名前は"#{ベース名}#{ページ番号}.#{拡張子}"となり
-   ます.
+   ます。
    
-   デフォルトはスライドのタイトルです.
+   デフォルトはスライドのタイトルです。
    
-   もし,ファイルシステムのエンコーディングがUTF-8ではないの
-   に,ファイル名がUTF-8で保存される場合は,環境変数LANGとか
-   G_FILENAME_ENCODINGとかを設定するとよいかもしれません.
+   もし、ファイルシステムのエンコーディングがUTF-8ではないの
+   に、ファイル名がUTF-8で保存される場合は、環境変数LANGとか
+   G_FILENAME_ENCODINGとかを設定するとよいかもしれません。
 
 : --output-html, --no-output-html
    保存されたスライドを表示するHTMLを生成するかどうかを指定
-   します.
+   します。
    
-   デフォルトでは生成しません.
+   デフォルトでは生成しません。
 
 : --output-index-html, --no-output-index-html
    保存されたスライドのサムネイルを表示するHTMLを生成するか
-   どうかを指定します.
+   どうかを指定します。
    
-   デフォルトでは生成しません.
+   デフォルトでは生成しません。
 
 : -p, --print
-   スライドを印刷し,終了します.--output-filenameを指定する
-   ことによりファイルに印刷したり,プリンタに直接印刷するこ
-   ともできます.
+   スライドを印刷し,終了します。--output-filenameを指定する
+   ことによりファイルに印刷したり、プリンタに直接印刷するこ
+   ともできます。
    
-   ただし,現在のところ,あまり品質はよくありません.
+   ただし,現在のところ,あまり品質はよくありません。
 
 : -o, --output-filename=FILENAME
-   印刷ファイル名を指定します.印刷フォーマットは拡張子によ
-   り決定します.拡張子が.psの場合はPostScript形式で,.pdfの
-   場合はPDF形式で出力します.それ以外の場合はPostScript形式
-   で出力します.
+   印刷ファイル名を指定します。印刷フォーマットは拡張子によ
+   り決定します。拡張子が.psの場合はPostScript形式で,.pdfの
+   場合はPDF形式で出力します。それ以外の場合はPostScript形式
+   で出力します。
    
-   "|プログラム名"とすると,PostScript形式の出力をプログラム
-   に渡します.
+   "|プログラム名"とすると、PostScript形式の出力をプログラム
+   に渡します。
    
-   デフォルトは"#{スライドのタイトル}.ps"です.
+   デフォルトは"#{スライドのタイトル}.ps"です。
 
 : --paper-width=WIDTH
-   印刷時の用紙幅を指定します.用紙幅の単位はinchです.
+   印刷時の用紙幅を指定します。用紙幅の単位はinchです。
    
-   デフォルトは横置きA4の幅です.
+   デフォルトは横置きA4の幅です。
    
 : --paper-height=HEIGHT
-   印刷時の用紙の高さを指定します.用紙の高さの単位はinchです.
+   印刷時の用紙の高さを指定します。用紙の高さの単位はinchです。
 
-   デフォルトは横置きA4の高さです.
+   デフォルトは横置きA4の高さです。
    
 : --paper-size=WIDTH,HEIGHT
-   印刷時の用紙の高さと幅を指定します.用紙の高さと幅の単位
-   はinchです.
+   印刷時の用紙の高さと幅を指定します。用紙の高さと幅の単位
+   はinchです。
    
-   デフォルトは横置きA4です.
+   デフォルトは横置きA4です。
 
 : --slides-per-page=SLIDES
-    1ページに何枚のスライドを入れて印刷するかを指定します.
+    1ページに何枚のスライドを入れて印刷するかを指定します。
     
-    デフォルトは1枚です.
+    デフォルトは1枚です。
 
 : --margin={全部|上下,左右|上,左右,した|上,右,下,左}, --margin-*=MARGIN
     1ページに複数枚のスライドを印刷する時のスライドの周りの
-    余白を指定します.
+    余白を指定します。
     
-    デフォルトではスライドの枚数に応じて調節しますが,2枚と8
-    枚以外の時はあまりうまくありません.
+    デフォルトではスライドの枚数に応じて調節しますが、2枚と8
+    枚以外の時はあまりうまくありません。
 
 : --page-margin={全部|上下,左右|上,左右,した|上,右,下,左}, --page-margin-*=MARGIN
-    印刷時のページの余白を指定します.
+    印刷時のページの余白を指定します。
     
-    デフォルトでは余白はとられません.
+    デフォルトでは余白はとられません。
 
 : --locale-dir=DIR
    ロケール用データ(*.mo)を置くためのディレクトリを指定し
-   ます.Rabbitをシステムにインストールせずに使う場合は
-   Rabbitのトップディレクトリで以下のようにします.
+   ます。Rabbitをシステムにインストールせずに使う場合は
+   Rabbitのトップディレクトリで以下のようにします。
 
      % ruby -I./lib bin/rabbit --locale-dir data/locale sample/rabbit.rd
    
    デフォルトでは/usr/local/share/locale/や
-   /usr/share/locale/あたりが使われます.
+   /usr/share/locale/あたりが使われます。
 
 : --logger-type=TYPE
-   エラーログをどのように出力するかを指定します.guiを指定す
-   るとエラーログはダイアログボックスに表示されます.rabbit
+   エラーログをどのように出力するかを指定します。guiを指定す
+   るとエラーログはダイアログボックスに表示されます。rabbit
    の起動オプションを解析するときにエラーが起こることもある
-   ので,--logger-typeはオプションの先頭で指定することをお薦め
-   します.
+   ので、--logger-typeはオプションの先頭で指定することをお薦め
+   します。
 
      % rabbit --logger-type gui ...
    
-   デフォルトはstderrで標準エラー出力に表示されます.
+   デフォルトはstderrで標準エラー出力に表示されます。
 
 : --use-druby, --no-use-druby
-   dRubyインターフェイスを使うかどうかを指定します.
+   dRubyインターフェイスを使うかどうかを指定します。
 
-   デフォルトでは使います.
+   デフォルトでは使います。
 
 : --druby-uri=URI
-   dRubyインターフェイスのURIを指定します.
+   dRubyインターフェイスのURIを指定します。
 
-   デフォルトではdruby://:10101です.
+   デフォルトではdruby://:10101です。
 
 : --output-druby-uri, --no-output-druby-uri
-   dRubyインターフェイスのURIを表示するかどうかを指定します.
+   dRubyインターフェイスのURIを表示するかどうかを指定します。
 
-   デフォルトでは表示しません.
+   デフォルトでは表示しません。
 
 : --use-soap, --no-use-soap
-   SOAPインターフェイスを使うかどうかを指定します.
+   SOAPインターフェイスを使うかどうかを指定します。
 
-   デフォルトでは使いません.
+   デフォルトでは使いません。
 
 : --soap-host=HOST
-   SOAPインターフェイスのホストを指定します.
+   SOAPインターフェイスのホストを指定します。
 
-   デフォルトでは0.0.0.0です.
+   デフォルトでは0.0.0.0です。
 
 : --soap-port=PORT
-   SOAPインターフェイスのポートを指定します.
+   SOAPインターフェイスのポートを指定します。
 
-   デフォルトでは10103です.
+   デフォルトでは10103です。
 
 : --use-xmlrpc, --no-use-xmlrpc
-   XML-RPCインターフェイスを使うかどうかを指定します.
+   XML-RPCインターフェイスを使うかどうかを指定します。
 
-   デフォルトでは使いません.
+   デフォルトでは使いません。
 
 : --xmlrpc-host=HOST
-   XML-RPCインターフェイスのホストを指定します.
+   XML-RPCインターフェイスのホストを指定します。
 
-   デフォルトでは0.0.0.0です.
+   デフォルトでは0.0.0.0です。
 
 : --xmlrpc-port=PORT
-   XML-RPCインターフェイスのポートを指定します.
+   XML-RPCインターフェイスのポートを指定します。
 
-   デフォルトでは10104です.
+   デフォルトでは10104です。
 
 : --server, --no-server
-   サーバとして起動するかを指定します.
+   サーバとして起動するかを指定します。
    
-   デフォルトではサーバとして起動しません.
+   デフォルトではサーバとして起動しません。
 
 : --public-level=LEVEL
    外部インターフェイス(dRuby/XML-RPC/SOAP経由)にRabbitの
-   機能をどのくらい公開するかを指定します.公開レベルは
+   機能をどのくらい公開するかを指定します。公開レベルは
    strict, move, read-size, change-size, size, read-source,
-   change-source, source, allから選びます.後ろに挙げた公開
-   レベルほど多くの機能を公開します.
+   change-source, source, allから選びます。後ろに挙げた公開
+   レベルほど多くの機能を公開します。
 
-   デフォルトではstrictです.
+   デフォルトではstrictです。
 
 : --comment-source=FILE
-   初期コメント用ソースのファイル名を指定します.
+   初期コメント用ソースのファイル名を指定します。
    
    デフォルトではRabbitが提供する初期コメント用ソースが使わ
-   れます.
+   れます。
 
 : --comment-encoding=ENCODING
-   初期コメント用ソースのエンコーディングを指定します.
+   初期コメント用ソースのエンコーディングを指定します。
 
-   指定しなかった場合は自動検出を試みます.
+   指定しなかった場合は自動検出を試みます。
 
 : --migemo-dictionary-search-path=PATH1,PATH2,...
-   Migemoの静的辞書の検索パスを指定します.検索パスは
+   Migemoの静的辞書の検索パスを指定します。検索パスは
    --migemo-dictionary-nameで指定した静的辞書があるディレク
-   トリか,静的辞書のパスを指定します.コンマで区切って複数
-   のパスを指定することができます.
+   トリか,静的辞書のパスを指定します。コンマで区切って複数
+   のパスを指定することができます。
 
-   デフォルトは/usr/local/share, /usr/shareです.
+   デフォルトは/usr/local/share, /usr/shareです。
 
 : --migemo-dictionary-name=NAME
-   Migemoの静的辞書名を指定します.
+   Migemoの静的辞書名を指定します。
 
-   デフォルトはmigemo-dictです.
+   デフォルトはmigemo-dictです。
 
 : --use-gl, --no-use-gl
-   もし可能であればOpenGLを使うかどうかを指定します.
+   もし可能であればOpenGLを使うかどうかを指定します。
 
-   デフォルトでは使いません.
+   デフォルトでは使いません。
 
 : --show-native-window-id, --no-show-native-window-id
-   もし可能であればウィンドウIDを表示するかどうかを指定します.
+   もし可能であればウィンドウIDを表示するかどうかを指定します。
 
    デフォルトでは表示しません。
 
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/action.rb b/lib/rabbit/action.rb
index 04ede05..cfa5e00 100644
--- a/lib/rabbit/action.rb
+++ b/lib/rabbit/action.rb
@@ -1,4 +1,4 @@
-require 'gtk2'
+require 'rabbit/gtk'
 
 module Gtk
   class Action
diff --git a/lib/rabbit/action/basic.rb b/lib/rabbit/action/basic.rb
index d8292e9..bec6a85 100644
--- a/lib/rabbit/action/basic.rb
+++ b/lib/rabbit/action/basic.rb
@@ -152,7 +152,7 @@ module Rabbit
     def quit_action_label(canvas)
       canvas.processing? ? @@quit_with_confirmation_label : @@quit_label
     end
-    
+
     def act_quit(action, group, canvas)
       if !canvas.processing? or
           canvas.confirm(_("Now processing... Do you really quit?"))
diff --git a/lib/rabbit/canvas.rb b/lib/rabbit/canvas.rb
index e91765e..146ceaf 100644
--- a/lib/rabbit/canvas.rb
+++ b/lib/rabbit/canvas.rb
@@ -1,5 +1,5 @@
 require "forwardable"
-require "gtk2"
+require "rabbit/gtk"
 
 require "rabbit/rabbit"
 require 'rabbit/frame'
@@ -45,7 +45,7 @@ module Rabbit
     def_delegators(:@renderer, :redraw, :clear_slide)
     def_delegators(:@renderer, :cursor=, :filename, :filename=)
     def_delegators(:@renderer, :each_slide_pixbuf)
-    def_delegators(:@renderer, :off_screen_canvas)
+    def_delegators(:@renderer, :offscreen_canvas)
     def_delegators(:@renderer, :foreground, :background)
     def_delegators(:@renderer, :foreground=, :background=)
     def_delegators(:@renderer, :background_image, :background_image=)
@@ -64,8 +64,9 @@ module Rabbit
     def_delegators(:@renderer, :draw_arc_by_radius, :draw_circle_by_radius)
     def_delegators(:@renderer, :draw_slide, :draw_polygon, :draw_flag)
     def_delegators(:@renderer, :draw_rounded_rectangle)
-    def_delegators(:@renderer, :draw_rsvg_handle, :rsvg_available?)
-    def_delegators(:@renderer, :draw_poppler_page, :poppler_available?)
+    def_delegators(:@renderer, :draw_rsvg_handle)
+    def_delegators(:@renderer, :draw_poppler_page)
+    def_delegators(:@renderer, :draw_link)
 
     def_delegators(:@renderer, :draw_cube, :draw_sphere, :draw_cone)
     def_delegators(:@renderer, :draw_torus, :draw_tetrahedron)
@@ -74,18 +75,18 @@ module Rabbit
 
     def_delegators(:@renderer, :gl_compile, :gl_call_list)
     def_delegators(:@renderer, :new_list_id)
-    
+
     def_delegators(:@renderer, :z_far, :z_view)
-    
+
     def_delegators(:@renderer, :to_attrs, :flag_size)
-    
+
     def_delegators(:@renderer, :create_pango_context, :pango_context=)
 
     def_delegators(:@renderer, :confirm)
 
     def_delegators(:@renderer, :display?, :printable?)
     def_delegators(:@renderer, :x_dpi, :y_dpi)
-    
+
     def_delegators(:@renderer, :whiteouting?, :blackouting?)
     def_delegators(:@renderer, :toggle_whiteout, :toggle_blackout)
 
@@ -119,7 +120,7 @@ module Rabbit
 
     attr_reader :logger, :renderer, :last_modified
     attr_reader :comments, :actions
-    
+
     attr_writer :saved_image_base_name
     attr_writer :use_gl, :allotted_time
 
@@ -177,7 +178,7 @@ module Rabbit
       @quitted = true
       @frame.quit
     end
-    
+
     def front(public_level=nil)
       Front.new(self, public_level)
     end
@@ -186,12 +187,12 @@ module Rabbit
       @frame = frame if frame
       @renderer.attach_to(window, container, &block) if window
     end
-    
+
     def detach
       @frame = NullFrame.new
       @renderer.detach
     end
-    
+
     def title
       ts = title_slide
       if ts
@@ -304,7 +305,7 @@ module Rabbit
     def apply_theme(name=nil, &block)
       _apply_theme(name, Object.new.__id__, &block)
     end
-    
+
     def theme_name
       @theme_name || default_theme || "default"
     end
@@ -377,7 +378,7 @@ module Rabbit
       current_slide.flush
       @renderer.to_pixbuf(current_slide)
     end
-    
+
     def save_as_image
       process do
         generator = HTML::Generator.new(self,
@@ -386,7 +387,7 @@ module Rabbit
                                         @output_html,
                                         @output_index_html,
                                         @rss_base_uri)
-        generator.pdf_filename = filename if /\.pdf/i =~ filename.to_s
+        generator.pdf_filename = filename if /\.pdf\z/i =~ filename.to_s
         generator.source_filename = @source_filename
         generator.save
       end
@@ -397,7 +398,7 @@ module Rabbit
         @renderer.print(&block)
       end
     end
-    
+
     def fullscreened
       @renderer.post_fullscreen
     end
@@ -507,7 +508,7 @@ module Rabbit
     def first_slide?
       current_index.zero?
     end
-    
+
     def last_slide?
       slide_size.zero? or current_index == (slide_size - 1)
     end
@@ -553,11 +554,7 @@ module Rabbit
 
     def stop_auto_redraw_timer
       if @auto_redraw_timer
-        if GLib::Source.respond_to?(:remove)
-          GLib::Source.remove(@auto_redraw_timer)
-        else
-          Gtk.timeout_remove(@auto_redraw_timer)
-        end
+        GLib::Source.remove(@auto_redraw_timer)
         @auto_redraw_timer = nil
       end
     end
@@ -684,11 +681,11 @@ module Rabbit
         Action.update_status(self)
       end
     end
-    
+
     def modified
       @last_modified = Time.now
     end
-    
+
     def clear
       clear_comments
       reset_timer
@@ -707,7 +704,7 @@ module Rabbit
       @current_index = 0
       @slides = []
     end
-    
+
     def clear_index_slides
       activate("ToggleIndexMode") if @index_mode
       @index_current_index = 0
@@ -732,7 +729,7 @@ module Rabbit
       @index_current_index = index_index
       @index_mode = index_mode
     end
-    
+
     def default_theme
       ts = title_slide
       ts and ts.theme
diff --git a/lib/rabbit/command/rabbit-slide.rb b/lib/rabbit/command/rabbit-slide.rb
index 572fa21..48a4796 100644
--- a/lib/rabbit/command/rabbit-slide.rb
+++ b/lib/rabbit/command/rabbit-slide.rb
@@ -1,4 +1,4 @@
-# Copyright (C) 2012  Kouhei Sutou <kou at cozmixng.org>
+# Copyright (C) 2012-2013  Kouhei Sutou <kou at cozmixng.org>
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -229,7 +229,7 @@ module Rabbit
       end
 
       def default_command
-        if File.file("config.yaml")
+        if File.file?("config.yaml")
           "change"
         else
           "new"
@@ -309,6 +309,7 @@ module Rabbit
       def generate_dot_gitignore
         create_file(".gitignore") do |dot_gitignore|
           dot_gitignore.puts(<<-EOD)
+.DS_Store
 /.tmp/
 /pkg/
 /pdf/
@@ -375,17 +376,25 @@ EOD
 
       def generate_rakefile
         create_file("Rakefile") do |rakefile|
-          rakefile.puts(<<-EOR)
+          rakefile.puts(<<-'RAKEFILE')
 require "rabbit/task/slide"
 
 # Edit ./config.yaml to customize meta data
 
+spec = nil
 Rabbit::Task::Slide.new do |task|
-  # task.spec.files += Dir.glob("doc/**/*.*")
-  # task.spec.files -= Dir.glob("private/**/*.*")
-  # task.spec.add_runtime_dependency("YOUR THEME")
+  spec = task.spec
+  # spec.files += Dir.glob("doc/**/*.*")
+  # spec.files -= Dir.glob("private/**/*.*")
+  # spec.add_runtime_dependency("YOUR THEME")
 end
-EOR
+
+desc "Tag #{spec.version}"
+task :tag do
+  sh("git", "tag", "-a", spec.version.to_s, "-m", "Publish #{spec.version}")
+  sh("git", "push", "--tags")
+end
+          RAKEFILE
         end
       end
 
@@ -452,7 +461,7 @@ EOR
           ["author",         @author_conf.name,  _("AUTHOR")],
           ["institution",    nil,                _("INSTITUTION")],
           ["content-source", nil,                _("EVENT NAME")],
-          ["date",           presentation_date,  Time.now.strftime("%Y/%m/%d")],
+          ["date",           presentation_date,  Time.now.strftime("%Y-%m-%d")],
           ["allotted-time",  @allotted_time,     "5m"],
           ["theme",          nil,                "default"],
         ]
diff --git a/lib/rabbit/command/rabbit.rb b/lib/rabbit/command/rabbit.rb
index 1022437..754deff 100644
--- a/lib/rabbit/command/rabbit.rb
+++ b/lib/rabbit/command/rabbit.rb
@@ -1,5 +1,4 @@
-#
-# Copyright (C) 2004-2012  Kouhei Sutou <kou at cozmixng.org>
+# Copyright (C) 2004-2014  Kouhei Sutou <kou at cozmixng.org>
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -49,17 +48,23 @@ module Rabbit
         require "rabbit/canvas"
         GC.enable
 
-        if @options.save_as_image
-          do_save_as_image
-        elsif @options.print
-          do_print
-        elsif @options.server
-          do_server
-        else
-          do_display
+        application = ::Rabbit.application
+        succeeded = false
+        application.signal_connect("command-line") do |_, command_line|
+          application.activate
+          succeeded ? 0 : 1
         end
-
-        ::Rabbit.cleanup
+        application.signal_connect("activate") do
+          begin
+            succeeded = catch do |abort_tag|
+              @abort_tag = abort_tag
+              __send__("do_#{@options.action}")
+            end
+          rescue
+            @logger.error($!)
+          end
+        end
+        application.run.zero?
       end
 
       private
@@ -82,6 +87,7 @@ module Rabbit
             adjust_rest_arguments(console, parser, options)
           end
 
+          options.action = :display
           options.options_file = ".rabbit"
           options.theme = "default"
           options.theme_specified = false
@@ -91,19 +97,18 @@ module Rabbit
           options.source_type = :auto
           options.full_screen = false
           options.index_mode = false
+          options.initial_slide = 0
           options.geometry = nil
           options.width = 800
           options.height = 600
           options.paper_width = nil
           options.paper_height = nil
-          options.save_as_image = false
           options.saved_image_base_name = nil
           options.saved_image_type = "png"
           options.output_html = false
           options.output_index_html = false
           options.rss_base_uri = nil
           options.encoding = nil
-          options.print = false
           options.print_out_filename = nil
           options.slides_per_page = 1
           options.draw_scaled_image = nil
@@ -123,7 +128,6 @@ module Rabbit
           options.use_xmlrpc = false
           options.xmlrpc_host = "0.0.0.0"
           options.xmlrpc_port = 10104
-          options.server = false
           options.default_public_level = "all"
           options.public_level = nil
           options.migemo_dictionary_search_path = [
@@ -223,6 +227,12 @@ module Rabbit
             options.index_mode = bool
           end
 
+          parser.on("--initial-slide=N", Integer,
+                    _("Show the Nth slide. (zero-based)"),
+                    "(#{options.initial_slide})") do |n|
+            options.initial_slide = n
+          end
+
 
           parser.category _("Size")
 
@@ -264,7 +274,7 @@ module Rabbit
 
           parser.on("-s", "--save-as-image",
                     _("Save as image and exit.")) do
-            options.save_as_image = true
+            options.action = :save_as_image
           end
 
           parser.on("-i", "--saved-image-type=TYPE",
@@ -309,7 +319,7 @@ module Rabbit
 
           parser.on("-p", "--print",
                     _("Print and exit.")) do
-            options.print = true
+            options.action = :print
           end
 
           parser.on("-o", "--output-filename=FILENAME",
@@ -440,7 +450,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
@@ -512,14 +522,6 @@ module Rabbit
             options.xmlrpc_port = port
           end
 
-          parser.category _("Server")
-
-          parser.on("--[no-]server",
-                    _("Specify whether to run as server."),
-                    "(#{options.server})") do |bool|
-            options.server = bool
-          end
-
           parser.category _("Public level")
 
           levels = Front::PublicLevel.constants.sort_by do |const|
@@ -591,11 +593,16 @@ module Rabbit
 
           parser.category _("Others")
 
+          parser.on("--check-syntax",
+                    _("Check slide source syntax and exit.")) do
+            options.action = :check_syntax
+          end
+
           parser.on("--[no-]show-native-window-id",
                     _("Show a native window ID of the Rabbit window if available."),
                     _("e.g. The ID is the ID of X resource on X window system."),
                     "(#{options.show_native_window_id})") do |bool|
-              options.show_native_window_id = bool
+            options.show_native_window_id = bool
           end
         end
       end
@@ -647,6 +654,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
@@ -661,10 +669,11 @@ module Rabbit
         if @options.source_type == :auto
           if rest_arguments.empty?
             file_name = choose_source_file_by_dialog
-            exit if file_name.nil?
+            throw(@abort_tag, true) if file_name.nil?
             rest_arguments = [file_name]
             @options.source_type = Source::File
-          elsif rest_arguments.size == 1 and /\Ahttps?:\/\// =~ rest_arguments[0]
+          elsif rest_arguments.size == 1 and
+               /\A(?:https?|file):\/\//i =~ rest_arguments[0]
             @options.source_type = Source::URI
           else
             @options.source_type = Source::File
@@ -807,16 +816,15 @@ module Rabbit
         parse(canvas, source)
         canvas.print
         canvas.quit
+        true
       rescue ::Rabbit::NoPrintSupportError
         @logger.error($!.message)
+        false
       end
 
       def do_save_as_image
-        Renderer::Pixmap.init
-        ::Rabbit.gui_init
-
         source = make_source
-        canvas = make_canvas(Renderer::Pixmap)
+        canvas = make_canvas(Renderer::Offscreen)
         setup_size(canvas)
         setup_image_info(canvas)
         setup_print_info(canvas)
@@ -827,6 +835,8 @@ module Rabbit
         canvas.activate("ToggleIndexMode") if @options.index_mode
         canvas.save_as_image
         canvas.quit
+
+        true
       end
 
       def do_display
@@ -835,7 +845,6 @@ module Rabbit
           display_init_options[:preferred_class_name] = "ClutterEmbed"
         end
         Renderer::Display.init(display_init_options)
-        ::Rabbit.gui_init
 
         source = make_source
         canvas = make_canvas(Renderer::Display)
@@ -855,6 +864,7 @@ module Rabbit
         end
         apply_theme_if_need(frame)
         parse(frame, source, !Utils.windows?)
+        canvas.move_to_if_can(@options.initial_slide)
         canvas.activate("ToggleIndexMode") if @options.index_mode
 
         front = make_front(canvas)
@@ -862,47 +872,27 @@ module Rabbit
         setup_soap(front) if @options.use_soap
         setup_xmlrpc(front) if @options.use_xmlrpc
 
-        Gtk.main
+        true
       end
 
-      def do_server
-        ::Rabbit.gui_init
-
-        # GLib::Log.cancel_handler
-        # GLib::Log.set_handler(nil, GLib::Log::LEVEL_ERROR)
-
+      def do_check_syntax
         source = make_source
-        canvas = make_canvas(Renderer::Pixmap)
-        setup_size(canvas)
-        setup_paper_size(canvas)
-        setup_image_info(canvas)
-        setup_print_info(canvas)
-        setup_3d_info(canvas)
-        apply_theme_if_need(canvas)
-        parse(canvas, source)
-
-        soap_server_thread = nil
-        xmlrpc_server_thread = nil
-
-        front = make_front(canvas)
-        setup_druby(front) if @options.use_druby
-        if @options.use_soap
-          soap_server_thread = setup_soap(front)
-        end
-        if @options.use_xmlrpc
-          xmlrpc_server_thread = setup_xmlrpc(front)
+        renderer = Renderer.printable_renderer(1)
+        canvas = make_canvas(renderer)
+        exception = nil
+        begin
+          canvas.parse(source) do |_exception|
+            exception = _exception
+          end
+        rescue
+          exception = $!
         end
 
-        soap_server_thread.join if soap_server_thread
-        xmlrpc_server_thread.join if xmlrpc_server_thread
-        if @options.use_druby
-          prev = trap(:INT) do
-            @logger.info(_("going to shutdown..."))
-            DRb.thread.exit
-            @logger.info(_("DRb.thread done."))
-            trap(:INT, prev)
-          end
-          DRb.thread.join
+        if exception
+          @logger.info(exception.message)
+          false
+        else
+          true
         end
       end
     end
diff --git a/lib/rabbit/cursor-manager.rb b/lib/rabbit/cursor-manager.rb
index dbb8648..15dfc47 100644
--- a/lib/rabbit/cursor-manager.rb
+++ b/lib/rabbit/cursor-manager.rb
@@ -1,18 +1,37 @@
-require 'gtk2'
-
-require 'rabbit/rabbit'
+# Copyright (C) 2006-2015  Kouhei Sutou <kou at cozmixng.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
 module Rabbit
   class CursorManager
-    @@blank_cursor = nil
+    @@cursors = nil
+
+    class << self
+      def cursors
+        @@cursors ||= {
+          :blank  => Gdk::Cursor.new(:blank_cursor),
+          :pencil => Gdk::Cursor.new(:pencil),
+          :hand   => Gdk::Cursor.new(:hand1),
+        }
+      end
+    end
 
     attr_accessor :current
     def initialize
       @stocks = {}
       @current = nil
-      @blank_cursor = blank_cursor
-      @pencil_cursor = Gdk::Cursor.new(Gdk::Cursor::PENCIL)
-      @hand_cursor = Gdk::Cursor.new(Gdk::Cursor::HAND1)
     end
 
     def keep(name)
@@ -22,9 +41,9 @@ module Rabbit
 
     def restore(drawable, name)
       if name.nil?
-	type = @current
+        type = @current
       else
-	type = @stocks[name].pop
+        type = @stocks[name].pop
       end
       drawable.cursor = type_to_cursor(type)
     end
@@ -36,26 +55,14 @@ module Rabbit
     private
     def type_to_cursor(type)
       if type.nil?
-	nil
+        nil
       else
-	name = "@#{type}_cursor"
-	unless instance_variable_defined?(name)
-	  raise UnknownCursorTypeError.new(type)
-	end
-	instance_variable_get(name)
-      end
-    end
-
-    def blank_cursor
-      if @@blank_cursor.nil?
-	source = Gdk::Pixmap.new(nil, 1, 1, 1)
-	mask = Gdk::Pixmap.new(nil, 1, 1, 1)
-	gc = Gdk::GC.new(source)
-	fg = gc.foreground
-	bg = gc.background
-	@@blank_cursor = Gdk::Cursor.new(source, mask, fg, bg, 1, 1)
+        cursor = self.class.cursors[type]
+        if cursor.nil?
+          raise UnknownCursorTypeError.new(type)
+        end
+        cursor
       end
-      @@blank_cursor
     end
   end
 end
diff --git a/lib/rabbit/element/container-element.rb b/lib/rabbit/element/container-element.rb
index 151e5dd..658535a 100644
--- a/lib/rabbit/element/container-element.rb
+++ b/lib/rabbit/element/container-element.rb
@@ -77,8 +77,9 @@ module Rabbit
       end
 
       def draw_elements(canvas, x, y, w, h, simulation)
+        @centering_adjusted_height = 0
+
         args = [x, y, w, h]
-        adjust_height = 0
         if do_vertical_centering?
           adjust_height = ((h - height - @padding_bottom) / 2.0).ceil
           if y + adjust_height > 0
@@ -86,9 +87,10 @@ module Rabbit
           else
             adjust_height = 0
           end
+          @centering_adjusted_height = adjust_height
+          compile_elements(canvas, *args)
         end
-        @centering_adjusted_height = adjust_height
-        compile_elements(canvas, *args)
+
         base_x, base_w = x, w
         @elements.each do |element|
           x, y, w, h = element.draw(simulation)
diff --git a/lib/rabbit/element/index-slide.rb b/lib/rabbit/element/index-slide.rb
index 20b3e0e..ecd9f0b 100644
--- a/lib/rabbit/element/index-slide.rb
+++ b/lib/rabbit/element/index-slide.rb
@@ -1,5 +1,5 @@
 require 'rabbit/canvas'
-require 'rabbit/renderer/pixmap'
+require 'rabbit/renderer/offscreen'
 require 'rabbit/element/container-element'
 require 'rabbit/element/slide-element'
 
@@ -87,7 +87,7 @@ module Rabbit
 
         private
         def make_thumbnail_maker(canvas, width, height)
-          new_canvas = Canvas.new(canvas.logger, Renderer::Pixmap)
+          new_canvas = Canvas.new(canvas.logger, Renderer::Offscreen)
           new_canvas.width = width
           new_canvas.height = height
           new_canvas.pango_context = canvas.create_pango_context
diff --git a/lib/rabbit/element/poppler-slide.rb b/lib/rabbit/element/poppler-slide.rb
index 5c190e2..898365a 100644
--- a/lib/rabbit/element/poppler-slide.rb
+++ b/lib/rabbit/element/poppler-slide.rb
@@ -5,6 +5,7 @@ module Rabbit
   module Element
     class PopplerSlide < Slide
       def initialize(page)
+        @raw_page = page
         @page = PopplerPage.new(page)
         super(@page)
       end
@@ -20,6 +21,11 @@ module Rabbit
       def title
         (@page.text.split(/\r?\n/, 2)[0] || super).chomp
       end
+
+      def size_ratio
+        w, h = @raw_page.size
+        w.to_f / h.to_f
+      end
     end
   end
 end
diff --git a/lib/rabbit/element/poppler-title-slide.rb b/lib/rabbit/element/poppler-title-slide.rb
index 6710482..58357c5 100644
--- a/lib/rabbit/element/poppler-title-slide.rb
+++ b/lib/rabbit/element/poppler-title-slide.rb
@@ -7,6 +7,7 @@ module Rabbit
 
       def initialize(page, document)
         @document = document
+        @raw_page = page
         @page = PopplerPage.new(page)
         super(@page)
       end
@@ -18,6 +19,11 @@ module Rabbit
       def theme
         super || "pdf"
       end
+
+      def size_ratio
+        w, h = @raw_page.size
+        w.to_f / h.to_f
+      end
     end
   end
 end
diff --git a/lib/rabbit/element/slide-element.rb b/lib/rabbit/element/slide-element.rb
index 1ff2e63..6d95b64 100644
--- a/lib/rabbit/element/slide-element.rb
+++ b/lib/rabbit/element/slide-element.rb
@@ -21,6 +21,10 @@ module Rabbit
         @elements.first.text
       end
 
+      def size_ratio
+        self["size-ratio"]
+      end
+
       def draw(canvas, simulation=nil)
         if simulation.nil?
           begin
@@ -34,6 +38,7 @@ module Rabbit
             compile(canvas, 0, 0, canvas.width, canvas.height)
             super(simulation)
           end
+          run_gc unless simulation
         end
       end
 
@@ -93,6 +98,16 @@ module Rabbit
         end
         procs
       end
+
+      private
+      def run_gc
+        lazy_gc_timout_msec = 1000
+        @compressed_gc_task_id ||= GLib::Timeout.add(lazy_gc_timout_msec) do
+          GC.start
+          @compressed_gc_task_id = nil
+          GLib::Source::REMOVE
+        end
+      end
     end
   end
 end
diff --git a/lib/rabbit/element/text-container-element.rb b/lib/rabbit/element/text-container-element.rb
index 1ca2e5f..8752c2f 100644
--- a/lib/rabbit/element/text-container-element.rb
+++ b/lib/rabbit/element/text-container-element.rb
@@ -15,7 +15,10 @@ module Rabbit
 
       def draw_elements(canvas, x, y, w, h, simulation)
         unless simulation
-          draw_layout(canvas, x, y)
+          # TODO: This is too workaround. :<
+          draw_sub_elements(canvas, x, y, w, h) do
+            draw_layout(canvas, x, y)
+          end
         end
         [x, y + @height, w, h - @height]
       end
@@ -103,6 +106,32 @@ module Rabbit
         end
         super(my_font_size)
       end
+
+      private
+      # TODO: This is too workaround. :<
+      def draw_sub_elements(canvas, x, y, w, h)
+        draw_sub_elements_recursive(canvas, x, y, w, h, 0) do
+          yield
+        end
+      end
+
+      # TODO: This is too workaround. :<
+      def draw_sub_elements_recursive(canvas, x, y, w, h, i)
+        if i == @elements.size
+          yield
+        else
+          draw_sub_elements_recursive(canvas, x, y, w, h, i + 1) do
+            element = @elements[i]
+            if element.respond_to?(:draw_sub_elements)
+              element.draw_sub_elements(canvas, x, y, w, h) do
+                yield
+              end
+            else
+              yield
+            end
+          end
+        end
+      end
     end
   end
 end
diff --git a/lib/rabbit/element/text-renderer.rb b/lib/rabbit/element/text-renderer.rb
index 9b2d742..40b8d82 100644
--- a/lib/rabbit/element/text-renderer.rb
+++ b/lib/rabbit/element/text-renderer.rb
@@ -107,7 +107,7 @@ module Rabbit
         super
         @layout = nil
       end
-      
+
       def dirty?
         super or text_dirty?
       end
@@ -148,7 +148,12 @@ module Rabbit
                                    max_width, max_height|
           if (max_width and initial_width > max_width) or
               (max_height and initial_height > max_height)
-            scale = 0.95
+            scale = lambda do |_width, _height|
+              candidates = [0.95]
+              candidates << (max_width.to_f) / _width if max_width
+              candidates << (max_height.to_f) / _height if max_height
+              candidates.min
+            end
             compare = Proc.new do |_width, _height|
               (max_width.nil? or _width < max_width) and
                 (max_height.nil? or _height < max_height)
@@ -306,10 +311,16 @@ module Rabbit
 
         return if scale.nil? or compare.nil?
 
+        if scale.respond_to?(:call)
+          compute_scale = scale
+          scale = nil
+        end
+
         size = new_size = initial_font_size_for_compute_font_size
         current_layout_size = @layout.pixel_size
         unless compare.call(*@layout.pixel_size)
           loop do
+            scale = compute_scale.call(*@layout.pixel_size) if compute_scale
             new_size = compute_next_font_size(size, scale)
             break if new_size == size
             set_computed_font_size(new_size)
diff --git a/lib/rabbit/element/text.rb b/lib/rabbit/element/text.rb
index 9ac4ea2..bc582b9 100644
--- a/lib/rabbit/element/text.rb
+++ b/lib/rabbit/element/text.rb
@@ -60,6 +60,13 @@ module Rabbit
       include TextContainerElement
 
       attr_accessor :to
+
+      # TODO: This makes paragraph instead of word link.
+      def draw_sub_elements(canvas, x, y, w, h)
+        canvas.draw_link(to) do
+          super
+        end
+      end
     end
 
     class Subscript
diff --git a/lib/rabbit/rabbit.rb b/lib/rabbit/error.rb
similarity index 90%
copy from lib/rabbit/rabbit.rb
copy to lib/rabbit/error.rb
index 2465806..f68d052 100644
--- a/lib/rabbit/rabbit.rb
+++ b/lib/rabbit/error.rb
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2012  Kouhei Sutou <kou at cozmixng.org>
+# Copyright (C) 2004-2017  Kouhei Sutou <kou at cozmixng.org>
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -14,38 +14,7 @@
 # with this program; if not, write to the Free Software Foundation, Inc.,
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-require "rabbit/config"
-
-require "rabbit/gettext"
-require "rabbit/version"
-
 module Rabbit
-  TMP_DIR_NAME = ".tmp"
-
-  @@gui_init_procs = []
-  @@cleanup_procs = []
-
-  module_function
-  def add_gui_init_proc(proc=Proc.new)
-    @@gui_init_procs << proc
-  end
-
-  def gui_init
-    @@gui_init_procs.each do |proc|
-      proc.call
-    end
-  end
-
-  def add_cleanup_proc(proc=Proc.new)
-    @@cleanup_procs << proc
-  end
-
-  def cleanup
-    @@cleanup_procs.each do |proc|
-      proc.call
-    end
-  end
-
   class Error < StandardError
     include GetText
   end
@@ -57,7 +26,8 @@ module Rabbit
     attr_reader :filename
     def initialize(filename)
       @filename = filename
-      super(_("no such file: %s") % filename)
+      utf8_filename = GLib.filename_to_utf8(filename)
+      super(_("no such file: %s") % utf8_filename)
     end
   end
 
@@ -167,7 +137,7 @@ module Rabbit
       super(_("immutable source type: %s") % @source_type)
     end
   end
-  
+
   class ThemeExit < Error
     def initialize(message=nil)
       @have_message = !message.nil?
@@ -241,7 +211,7 @@ module Rabbit
 
   class UnknownCursorTypeError < Error
     attr_reader :type
-    def intialize(type)
+    def initialize(type)
       @type = type
       super(_("unknown cursor type: %s") % @type)
     end
diff --git a/lib/rabbit/formatter.rb b/lib/rabbit/formatter.rb
index 5a0a411..4fa9f57 100644
--- a/lib/rabbit/formatter.rb
+++ b/lib/rabbit/formatter.rb
@@ -5,18 +5,18 @@ module Rabbit
   module Format
 
     extend Utils
-    
+
     module Formatter
       include ERB::Util
 
       def text_formatter?
         false
       end
-      
+
       def html_formatter?
         false
       end
-      
+
       def tagged_text(text, name, attrs)
         attrs = attrs.collect do |key, value|
           %Q[ #{h(key)}="#{h(value)}"]
@@ -45,15 +45,15 @@ module Rabbit
       def initialize(value)
         @value = value
       end
-      
+
       def text_formatter?
         true
       end
-      
+
       def html_formatter?
         true
       end
-      
+
       def format(text)
         tagged_text(text, "span", normalize_attribute(name, @value))
       end
@@ -67,7 +67,7 @@ module Rabbit
       def normalize_attribute(name, value)
         {name => value}
       end
-      
+
       def pango2css(name, value)
         css_name = PANGO2CSS[name]
         if css_name.respond_to?(:call)
@@ -77,7 +77,7 @@ module Rabbit
         end
       end
     end
-    
+
     %w(font_desc font_family face size style weight variant
         stretch foreground background underline
         underline_color rise strikethrough
@@ -85,7 +85,7 @@ module Rabbit
       module_eval(<<-EOC)
         class #{to_class_name(name)}
           include SpanTextFormatter
-          
+
           def name
             #{name.dump}
           end
diff --git a/lib/rabbit/frame.rb b/lib/rabbit/frame.rb
index 8b195b0..50d8859 100644
--- a/lib/rabbit/frame.rb
+++ b/lib/rabbit/frame.rb
@@ -1,5 +1,5 @@
 require "forwardable"
-require "gtk2"
+require "rabbit/gtk"
 require "rexml/text"
 
 require "rabbit/rabbit"
@@ -37,7 +37,7 @@ module Rabbit
     def destroyed?
       @window.nil? or @window.destroyed?
     end
-    
+
     def quit
       @window.destroy unless destroyed?
       @window = nil
@@ -57,17 +57,13 @@ module Rabbit
     end
 
     def fullscreen
-      @fullscreen_toggled = false
-      @fullscreen = true
       @window.fullscreen
     end
 
     def unfullscreen
-      @fullscreen_toggled = false
-      @fullscreen = false
       @window.unfullscreen
     end
-    
+
     def toggle_fullscreen
       if fullscreen?
         unfullscreen
@@ -77,26 +73,20 @@ module Rabbit
     end
 
     def fullscreen?
-      if @window.respond_to?(:fullscreen?)
-        @window.fullscreen?
-      else
-        @fullscreen
-      end
+      @fullscreen
     end
 
     def main_window?
       @main_window
     end
-    
+
     def update_title(new_title)
       @window.title = Utils.unescape_title(new_title)
     end
 
     def init_gui(width, height, main_window, window_type=nil)
       init_window(width, height, window_type)
-      @fullscreen_toggled = false
       @fullscreen = false
-      @iconify = false
       @main_window = main_window
       if @main_window
         @window.keep_above = @force_keep_above unless @force_keep_above.nil?
@@ -117,8 +107,8 @@ module Rabbit
 
     private
     def init_window(width, height, window_type=nil)
-      window_type ||= Gtk::Window::TOPLEVEL
-      @window = Gtk::Window.new(window_type)
+      window_type ||= :toplevel
+      @window = Gtk::ApplicationWindow.new(::Rabbit.application)
       @window.set_default_size(width, height)
       @window.parse_geometry(@geometry) if @geometry
       @window.set_app_paintable(true)
@@ -132,10 +122,10 @@ module Rabbit
       set_window_signal_destroy
     end
 
-    def update_keep_above(keep_above=nil)
+    def update_keep_above(keep_above)
       if @main_window
         keep_above = @force_keep_above unless @force_keep_above.nil?
-        @window.keep_above = keep_above unless keep_above.nil?
+        @window.keep_above = keep_above
       else
         @window.keep_above = true
       end
@@ -144,41 +134,35 @@ module Rabbit
     def set_window_signal_window_state_event
       @window.signal_connect("window_state_event") do |widget, event|
         if event.changed_mask.fullscreen?
-          @fullscreen_toggled = true
-          if fullscreen?
+          @fullscreen = event.new_window_state.fullscreen?
+          if @fullscreen
             @window.keep_above = true
             @canvas.fullscreened
           else
             update_keep_above(false)
             @canvas.unfullscreened
           end
-          @window.present
         elsif event.changed_mask.iconified?
-          if @iconify
-            @iconify = false
-          else
+          if event.new_window_state.iconified?
             @canvas.iconified
-            @iconify = true
           end
         end
+
+        false
       end
     end
 
     def set_window_signal_destroy
       @window.signal_connect("destroy") do
         @canvas.detach
-        if main_window? and Gtk.main_level > 0
-          Gtk.main_quit
-        end
       end
     end
 
     def setup_dnd
-      Gtk::Drag.dest_set(@window,
-                         Gtk::Drag::DEST_DEFAULT_ALL,
-                         [["text/uri-list", 0, 0],
-                          ["_NETSCAPE_URL", 0, 0]],
-                         Gdk::DragContext::ACTION_COPY)
+      @window.drag_dest_set(:all,
+                            [["text/uri-list", 0, 0],
+                             ["_NETSCAPE_URL", 0, 0]],
+                            :copy)
       @window.signal_connect("drag-data-received") do |*args|
         widget, context, x, y, selection_data, info, time = args
         uri = selection_data.data.chomp
@@ -219,7 +203,7 @@ module Rabbit
       false
     end
   end
-  
+
   class EmbedFrame < Frame
 
     def update_title(new_title)
@@ -232,14 +216,12 @@ module Rabbit
     def iconify_available?
       false
     end
-    
+
     def init_gui(width, height, main_window, window_type=nil)
       @window = Gtk::EventBox.new
       @window.set_size_request(width, height)
       @canvas.attach_to(self, @window)
-      @fullscreen_toggled = false
       @fullscreen = false
-      @iconify = false
       @main_window = main_window
       @window.show
       @canvas.post_init_gui
diff --git a/lib/rabbit/front.rb b/lib/rabbit/front.rb
index 75544bc..ca0e8da 100644
--- a/lib/rabbit/front.rb
+++ b/lib/rabbit/front.rb
@@ -51,9 +51,9 @@ module Rabbit
     end
 
     include MonitorMixin
-    
+
     attr_reader :image_type, :public_level, :last_modified
-    
+
     def initialize(canvas, public_level=nil)
       super()
       @canvas = canvas
@@ -156,8 +156,8 @@ module Rabbit
     def _check_dirty
       if dirty?
         clean
-        if off_screen_canvas.need_reload_source?
-          off_screen_canvas.reload_source
+        if offscreen_canvas.need_reload_source?
+          offscreen_canvas.reload_source
           synchronize
         end
       end
@@ -171,9 +171,9 @@ module Rabbit
           prev_size = [@previous_width, @previous_height]
           current_size = [@canvas.width, @canvas.height]
           if prev_size != current_size
-            off_screen_canvas.reload_theme
+            offscreen_canvas.reload_theme
           end
-          pixbuf = off_screen_canvas.to_pixbuf(index)
+          pixbuf = offscreen_canvas.to_pixbuf(index)
           @images[index] = pixbuf.save_to_buffer(@image_type)
           synchronize
         end
@@ -183,7 +183,7 @@ module Rabbit
     def dirty?
       @dirty or
         @last_modified < @canvas.last_modified or
-        off_screen_canvas.need_reload_source?
+        offscreen_canvas.need_reload_source?
     end
 
     def synchronize
@@ -233,7 +233,7 @@ module Rabbit
     end
 
     def clean
-      @off_screen_canvas = nil
+      @offscreen_canvas = nil
       @dirty = false
       @images = []
       @last_modified = @canvas.last_modified
@@ -243,8 +243,8 @@ module Rabbit
       @dirty = true
     end
 
-    def off_screen_canvas
-      @off_screen_canvas ||= @canvas.off_screen_canvas
+    def offscreen_canvas
+      @offscreen_canvas ||= @canvas.offscreen_canvas
     end
   end
 end
diff --git a/lib/rabbit/gem-pusher.rb b/lib/rabbit/gem-pusher.rb
new file mode 100644
index 0000000..8bfaec4
--- /dev/null
+++ b/lib/rabbit/gem-pusher.rb
@@ -0,0 +1,66 @@
+# Copyright (C) 2016 Kouhei Sutou <kou at cozmixng.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+require "rake"
+require "yaml"
+require "open-uri"
+
+require "rabbit/gettext"
+require "rabbit/password-reader"
+
+module Rabbit
+  class GemPusher
+    include GetText
+    include Rake::DSL
+
+    def initialize(gem_path, user)
+      @gem_path = gem_path
+      @user = user
+    end
+
+    def push
+      credentials_path = File.expand_path("~/.gem/credentials")
+      credentials_path_exist = File.exist?(credentials_path)
+      if credentials_path_exist
+        credentials = YAML.load(File.read(credentials_path))
+      else
+        credentials = {}
+      end
+      unless credentials.key?(@user.to_sym)
+        credentials[@user.to_sym] = retrieve_api_key
+        File.open(credentials_path, "w") do |credentials_file|
+          credentials_file.print(credentials.to_yaml)
+        end
+        unless credentials_path_exist
+          File.chmod(0600, credentials_path)
+        end
+      end
+      ruby("-S", "gem", "push", @gem_path,
+           "--key", @user)
+    end
+
+    private
+    def retrieve_api_key
+      prompt = _("Enter password on RubyGems.org [%{user}]: ") % {:user => @user}
+      reader = PasswordReader.new(prompt)
+      password = reader.read
+      open("https://rubygems.org/api/v1/api_key.yaml",
+           :http_basic_authentication => [@user, password]) do |response|
+        YAML.load(response.read)[:rubygems_api_key]
+      end
+    end
+  end
+end
diff --git a/lib/rabbit/gesture/handler.rb b/lib/rabbit/gesture/handler.rb
index b9c12d1..9bf17a7 100644
--- a/lib/rabbit/gesture/handler.rb
+++ b/lib/rabbit/gesture/handler.rb
@@ -1,4 +1,4 @@
-require 'gtk2'
+require 'rabbit/gtk'
 
 require 'rabbit/rabbit'
 require 'rabbit/renderer/engine'
diff --git a/lib/rabbit/graffiti/config-dialog.rb b/lib/rabbit/graffiti/config-dialog.rb
index d3d5c57..d25adbf 100644
--- a/lib/rabbit/graffiti/config-dialog.rb
+++ b/lib/rabbit/graffiti/config-dialog.rb
@@ -1,10 +1,12 @@
-require 'gtk2'
+require 'rabbit/gtk'
 
 require 'rabbit/renderer/color'
 
 module Rabbit
   module Graffiti
     class ConfigDialog
+      include GetText
+
       attr_reader :color, :line_width
       def initialize(color, line_width)
         @original_color = @color = color
@@ -46,11 +48,11 @@ module Rabbit
           @callback.call(nil, spin.value)
         end
         label = Gtk::Label.new(_("Line width:"))
-        hbox = Gtk::HBox.new
-        hbox.pack_end(spin, false, false, 5)
-        hbox.pack_end(label, false, false, 5)
+        hbox = Gtk::Box.new(:horizontal)
+        hbox.pack_end(spin, :expand => false, :fill => false, :padding => 5)
+        hbox.pack_end(label, :expand => false, :fill => false, :padding => 5)
         hbox.show_all
-        @dialog.vbox.pack_end(hbox, false, false, 5)
+        @dialog.vbox.pack_end(hbox, :expand => false, :fill => false, :padding => 5)
       end
     end
   end
diff --git a/lib/rabbit/graffiti/processor.rb b/lib/rabbit/graffiti/processor.rb
index 1b51ada..172eb28 100644
--- a/lib/rabbit/graffiti/processor.rb
+++ b/lib/rabbit/graffiti/processor.rb
@@ -1,4 +1,4 @@
-require 'gtk2'
+require 'rabbit/gtk'
 
 require 'rabbit/renderer/engine'
 require 'rabbit/graffiti/config-dialog'
@@ -20,28 +20,28 @@ module Rabbit
       def have_graffiti?
         not @segments.empty?
       end
-      
+
       def can_undo?
         not @undo_stack.empty?
       end
-      
+
       def button_press(x, y, width, height)
         @pressed = true
         @undo_index = nil
         @segments << [[x.to_f / width, y.to_f / height]]
       end
-      
+
       def button_release(x, y, width, height)
         @pressed = false
         @undo_stack << [:push]
       end
-      
+
       def button_motion(x, y, width, height)
         if @pressed
           @segments.last << [x.to_f / width, y.to_f / height]
         end
       end
-      
+
       def draw_last_segment(renderer)
         points = @segments.last
         if points.size >= 2
@@ -55,7 +55,7 @@ module Rabbit
                              @color, {:line_width => @line_width})
         end
       end
-      
+
       def draw_all_segment(renderer)
         return if @segments.empty?
         args = [@color, {:line_width => @line_width, :opened => true}]
@@ -68,11 +68,11 @@ module Rabbit
           renderer.draw_lines(converted_points, *args)
         end
       end
-      
+
       def dragging?
         @pressed
       end
-      
+
       def clear
         @pressed = false
         @segments = []
@@ -104,7 +104,7 @@ module Rabbit
           @segments << segment
           @undo_stack << [:push]
         end
-        
+
         if @undo_index > 0
           @undo_index -= 1
         else
diff --git a/lib/rabbit/gtk.rb b/lib/rabbit/gtk.rb
new file mode 100644
index 0000000..4351c9e
--- /dev/null
+++ b/lib/rabbit/gtk.rb
@@ -0,0 +1,199 @@
+# Copyright (C) 2014-2015  Kouhei Sutou <kou at cozmixng.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+require "English"
+
+if ENV["RABBIT_GTK_VERSION"] == "3"
+  require "gtk3"
+  Gtk.init if Gtk.respond_to?(:init)
+else
+  require "cairo"
+  require "gio2"
+  require "gtk2"
+end
+
+module Cairo
+  class Region
+    unless public_method_defined?(:each_rectangle)
+      def each_rectangle
+        num_rectangles.times do |i|
+          yield(self[i])
+        end
+      end
+    end
+  end
+end
+
+module Gdk
+  class Event
+    STOP = true unless const_defined?(:STOP)
+    PROPAGATE = false unless const_defined?(:PROPAGATE)
+  end
+
+  class Window
+    unless method_defined?(:width)
+      def width
+        size[0]
+      end
+    end
+
+    unless method_defined?(:height)
+      def height
+        size[1]
+      end
+    end
+  end
+
+  unless const_defined?(:EventType)
+    EventType = Event::Type
+  end
+
+  unless const_defined?(:ModifierType)
+    ModifierType = Window::ModifierType
+  end
+
+  unless const_defined?(:EventMask)
+    EventMask = Event::Mask
+  end
+
+  module Keyval
+    constants.each do |name|
+      if /\AGDK_KEY_/ =~ name.to_s
+        const_set("KEY_#{$POSTMATCH}", const_get(name))
+      end
+    end
+  end
+
+  class Screen
+    unless method_defined?(:get_monitor_geometry)
+      alias_method :get_monitor_geometry, :monitor_geometry
+    end
+  end
+
+  unless const_defined?(:ScrollDirection)
+    ScrollDirection = Gdk::EventScroll::Direction
+  end
+end
+
+module Gtk
+  unless const_defined?(:Actionable)
+    class Action
+      alias_method :initialize_raw, :initialize
+      def initialize(name, options={})
+        initialize_raw(name,
+                       options[:label],
+                       options[:tooltip],
+                       options[:stock_id])
+
+      end
+    end
+  end
+
+  unless const_defined?(:Application)
+    class Application < Gio::Application
+      def initialize(id, flags)
+        super
+        signal_connect_after("activate") do
+          Gtk.main if ApplicationWindow.n_instances > 0
+        end
+      end
+    end
+  end
+
+  unless const_defined?(:ApplicationWindow)
+    class ApplicationWindow
+      @@n_instances = 0
+
+      class << self
+        def new(application)
+          window = Window.new
+          @@n_instances += 1
+          window.signal_connect("destroy") do
+            @@n_instances -= 1
+            Gtk.main_quit if @@n_instances.zero?
+          end
+          window
+        end
+
+        def n_instances
+          @@n_instances
+        end
+      end
+    end
+  end
+
+  class Widget
+    unless public_method_defined?(:drag_dest_set)
+      def drag_dest_set(flags, targets, actions)
+        Gtk::Drag.dest_set(self, flags, targets, actions)
+      end
+    end
+
+    unless public_method_defined?(:shape_combine_region)
+      def shape_combine_region(cairo_region)
+        gdk_region = cairo_region_to_gdk_region(cairo_region)
+        window.shape_combine_region(gdk_region, 0, 0)
+      end
+    end
+
+    private
+    def cairo_region_to_gdk_region(cairo_region)
+      return nil if cairo_region.nil?
+
+      gdk_region = Gdk::Region.new
+      cairo_region.each_rectangle do |rectangle|
+        gdk_region.union(Gdk::Rectangle.new(*rectangle))
+      end
+      gdk_region
+    end
+  end
+
+  if Box.gtype.abstract?
+    class HBox
+      class << self
+        alias_method :new_raw, :new
+        def new(*arguments)
+          new_raw(*arguments)
+        end
+      end
+    end
+
+    class VBox
+      class << self
+        alias_method :new_raw, :new
+        def new(*arguments)
+          new_raw(*arguments)
+        end
+      end
+    end
+
+    class Box
+      class << self
+        def new(type)
+          case type
+          when :horizontal
+            HBox.new
+          when :vertical
+            VBox.new
+          else
+            raise ArgumentError,
+                  "Box type must be :horizontal or :vertical: #{type.inspect}"
+          end
+        end
+      end
+    end
+  end
+end
diff --git a/lib/rabbit/html/template.erb b/lib/rabbit/html/template.erb
index 7dc0b36..daae004 100644
--- a/lib/rabbit/html/template.erb
+++ b/lib/rabbit/html/template.erb
@@ -101,7 +101,7 @@ function handle_key(e)
 <div class="footer">
 <p>
 Generated by
-<a href="http://rabbit-shocker.org/">Rabbit</a> 
+<a href="http://rabbit-shocker.org/">Rabbit</a>
 version <%= Rabbit::VERSION %>
 </p>
 </div>
diff --git a/test/image/test-eps.rb b/lib/rabbit/image-data-loader.rb
similarity index 50%
copy from test/image/test-eps.rb
copy to lib/rabbit/image-data-loader.rb
index 9763843..2f6a378 100644
--- a/test/image/test-eps.rb
+++ b/lib/rabbit/image-data-loader.rb
@@ -1,4 +1,4 @@
-# Copyright (C) 2012  Kouhei Sutou <kou at cozmixng.org>
+# Copyright (C) 2014  Kouhei Sutou <kou at cozmixng.org>
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -14,28 +14,33 @@
 # with this program; if not, write to the Free Software Foundation, Inc.,
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-require "rabbit/image/eps"
+require "gdk_pixbuf2"
 
-class TestImageEPS < Test::Unit::TestCase
-  include RabbitTestUtils
-
-  private
-  def fixture_path(base_name)
-    super("image", "eps", base_name)
-  end
-
-  class TestMatch < self
-    private
-    def match?(base_name)
-      Rabbit::ImageManipulable::EPS.match?(fixture_path(base_name))
-    end
-
-    def test_have_extension
-      assert_true(match?("rabbit.eps"))
+module Rabbit
+  class ImageDataLoader
+    attr_reader :width, :height, :pixbuf
+    def initialize(data)
+      @width = 0
+      @height = 0
+      @pixbuf = nil
+      @data = data
     end
 
-    def test_no_extension
-      assert_true(match?("rabbit"))
+    def load
+      loader = GdkPixbuf::PixbufLoader.new
+      id = loader.signal_connect("size_prepared") do |l, width, height|
+        @width = width
+        @height = height
+      end
+      begin
+        loader.last_write(@data)
+      rescue GdkPixbuf::PixbufError => error
+        loader.close rescue GdkPixbuf::PixbufError
+        raise ImageLoadError.new(error.message)
+      end
+      loader.signal_handler_disconnect(id)
+      @pixbuf = loader.pixbuf
+      @pixbuf
     end
   end
 end
diff --git a/lib/rabbit/image/base.rb b/lib/rabbit/image/base.rb
index fad5847..35b363d 100644
--- a/lib/rabbit/image/base.rb
+++ b/lib/rabbit/image/base.rb
@@ -1,6 +1,7 @@
 require "gdk_pixbuf2"
 
 require "rabbit/utils"
+require "rabbit/image-data-loader"
 
 module Rabbit
   module ImageManipulable
@@ -84,20 +85,17 @@ module Rabbit
         key.to_s.gsub(/-/, "_")
       end
 
-      def load_by_pixbuf_loader(data)
-        loader = Gdk::PixbufLoader.new
-        id = loader.signal_connect("size_prepared") do |l, width, height|
-          @width = width
-          @height = height
-        end
+      def load_data(data)
+        loader = ImageDataLoader.new(data)
         begin
-          loader.last_write(data)
-        rescue Gdk::PixbufError
-          loader.close rescue Gdk::PixbufError
+          loader.load
+        rescue ImageLoadError
           raise ImageLoadError.new("#{@filename}: #{$!.message}")
         end
-        loader.signal_handler_disconnect(id)
-        loader
+
+        @width = loader.width
+        @height = loader.height
+        loader.pixbuf
       end
     end
   end
diff --git a/lib/rabbit/image/default.rb b/lib/rabbit/image/default.rb
index 39564cb..fda3e16 100644
--- a/lib/rabbit/image/default.rb
+++ b/lib/rabbit/image/default.rb
@@ -6,19 +6,18 @@ module Rabbit
     class Default < Base
 
       push_loader(self)
-      
+
       class << self
         def match?(filename)
           true
         end
       end
-      
+
       private
       def update_size
         File.open(@filename, "rb") do |file|
           Dir.chdir(File.dirname(@filename)) do
-            loader = load_by_pixbuf_loader(file.read)
-            @pixbuf = loader.pixbuf
+            @pixbuf = load_data(file.read)
           end
         end
       end
diff --git a/lib/rabbit/image/dia.rb b/lib/rabbit/image/dia.rb
index 27f9ae2..9caa718 100644
--- a/lib/rabbit/image/dia.rb
+++ b/lib/rabbit/image/dia.rb
@@ -17,13 +17,18 @@ module Rabbit
       class << self
         def match?(filename)
           return true if File.extname(filename).downcase.end_with?(".dia")
+
           File.open(filename) do |f|
-            first_line = f.gets
-            second_line = f.gets
-            return false unless second_line
-            return false unless first_line.start_with?("<?xml")
-            return false unless second_line.start_with?("<dia:diagram")
-            true
+            begin
+              first_line = f.gets
+              second_line = f.gets
+              return false unless second_line
+              return false unless first_line.start_with?("<?xml")
+              return false unless second_line.start_with?("<dia:diagram")
+              true
+            rescue EncodingError
+              false
+            end
           end
         end
       end
diff --git a/lib/rabbit/image/eps.rb b/lib/rabbit/image/eps.rb
index d957a7d..a3d4251 100644
--- a/lib/rabbit/image/eps.rb
+++ b/lib/rabbit/image/eps.rb
@@ -7,7 +7,7 @@ module Rabbit
     class EPS < Base
 
       unshift_loader(self)
-      
+
       GS_COMMANDS = %w(gs gswin32c)
 
       include SystemRunner
@@ -15,26 +15,28 @@ module Rabbit
       class << self
         def match?(filename)
           File.open(filename) do |f|
-            f.each_line do |line|
-              case line
-              when /^%!PS-Adobe-\d+.\d+ EPS/i
-                return true
-              when /^%%/
-                # ignore
-              else
-                return false
+            begin
+              f.each_line do |line|
+                case line
+                when /^%!PS-Adobe-\d+.\d+ EPS/i
+                  return true
+                when /^%%/
+                  # ignore
+                else
+                  return false
+                end
               end
+              false
+            rescue EncodingError, ArgumentError
+              false
             end
           end
-          false
-        rescue ArgumentError
-          false
         end
       end
 
       private
       def update_size
-        @pixbuf = load_image.pixbuf
+        @pixbuf = load_image
       end
 
       def load_image(width=nil, height=nil)
@@ -43,17 +45,17 @@ module Rabbit
                rescue EPSCanNotHandleError
                  eps_to_pnm(width, height)
                end
-        load_by_pixbuf_loader(data)
+        load_data(data)
       end
-      
+
       def eps_to_png(width=nil, height=nil)
         eps_to(width, height, "pngalpha")
       end
-      
+
       def eps_to_pnm(width=nil, height=nil)
         eps_to(width, height, "pnm")
       end
-      
+
       def eps_to(width, height, device, *gs_options)
         x, y, w, h, r = eps_size
         resolution = (r || Canvas::INTERNAL_DPI).round
@@ -81,7 +83,7 @@ module Rabbit
           end
         end
       end
-      
+
       def eps_size
         sx, sy, w, h, r = nil
         File.read(@filename).split(/(?:\r\n?|\n)/).each do |line|
diff --git a/lib/rabbit/image/gimp.rb b/lib/rabbit/image/gimp.rb
index e94ef36..1590640 100644
--- a/lib/rabbit/image/gimp.rb
+++ b/lib/rabbit/image/gimp.rb
@@ -15,7 +15,7 @@ module Rabbit
 
       class << self
         def match?(filename)
-          File.open(filename) do |f|
+          File.open(filename, "rb") do |f|
             HEADER == f.read(HEADER_SIZE)
           end
         end
@@ -41,8 +41,7 @@ EOC
         if GIMP_COMMANDS.any? {|gimp| run(gimp, *args); File.exist?(png_path)}
           png_file.open
           png_file.binmode
-          loader = load_by_pixbuf_loader(png_file.read)
-          @pixbuf = loader.pixbuf
+          @pixbuf = load_data(png_file.read)
         else
           raise GIMPCanNotHandleError.new("gimp #{args.join(' ')}",
                                           GIMP_COMMANDS)
diff --git a/lib/rabbit/image/pdf.rb b/lib/rabbit/image/pdf.rb
index 968c780..225ab38 100644
--- a/lib/rabbit/image/pdf.rb
+++ b/lib/rabbit/image/pdf.rb
@@ -1,7 +1,6 @@
-require "rabbit/utils"
-
-Rabbit::Utils.require_safe "poppler"
+require "poppler"
 
+require "rabbit/gettext"
 require "rabbit/image/base"
 
 module Rabbit
@@ -15,21 +14,17 @@ module Rabbit
         def match?(filename)
           return true if File.extname(filename) == ".pdf"
 
-          File.open(filename) do |file|
-            line = file.gets
-            return false if line.nil?
+          File.open(filename, "rb") do |file|
+            data = file.read(10)
+            return false if data.nil?
 
-            begin
-              /\A%PDF-1\.\d\z/ =~ line.chomp
-            rescue ArgumentError
-              false
-            end
+            data.start_with?("%PDF-1.")
           end
         end
       end
 
       def draw(canvas, x, y, params={})
-        if @document and canvas.poppler_available?
+        if @document
           default_params = {
             :width => width,
             :height => height,
@@ -71,13 +66,13 @@ module Rabbit
       end
 
       def uri
-        "file://#{filename}"
+        GLib.filename_to_uri(filename)
       end
 
       def to_pixbuf
         w = original_width
         h = original_height
-        pixbuf = Gdk::Pixbuf.new(Gdk::Pixbuf::COLORSPACE_RGB, true, 8, w, h)
+        pixbuf = GdkPixbuf::Pixbuf.new(:rgb, true, 8, w, h)
         page.render(0, 0, w, h, 1.0, 0, pixbuf)
         pixbuf
       end
diff --git a/lib/rabbit/image/svg.rb b/lib/rabbit/image/svg.rb
index 2dcdc0a..f2cb7fe 100644
--- a/lib/rabbit/image/svg.rb
+++ b/lib/rabbit/image/svg.rb
@@ -1,6 +1,4 @@
-require "rabbit/utils"
-
-Rabbit::Utils.require_safe "rsvg2"
+require "rsvg2"
 
 require "rabbit/image/base"
 
@@ -14,13 +12,17 @@ module Rabbit
       class << self
         def match?(filename)
           File.open(filename) do |f|
-            /<svg|<!DOCTYPE\s+svg/ =~ f.read(200)
+            begin
+              /<svg|<!DOCTYPE\s+svg/ =~ f.read(200)
+            rescue EncodingError
+              false
+            end
           end
         end
       end
 
       def draw(canvas, x, y, params={})
-        if @handle and canvas.rsvg_available?
+        if @handle
           default_params = {
             :width => width,
             :height => height,
diff --git a/lib/rabbit/info-window.rb b/lib/rabbit/info-window.rb
index 6513a01..a71e89c 100644
--- a/lib/rabbit/info-window.rb
+++ b/lib/rabbit/info-window.rb
@@ -1,5 +1,6 @@
 require 'erb'
 
+require 'rabbit/gtk'
 require 'rabbit/dependency-canvas'
 require 'rabbit/renderer/display/drawing-area-view-only'
 require 'rabbit/renderer/display/hook-handler'
@@ -22,7 +23,8 @@ module Rabbit
     def initialize(canvas)
       @canvas = canvas
       @window = nil
-      @timer_started = false
+      @timer_id = nil
+      @note_area = nil
       init_hook_handler
       init_key_handler
       init_button_handler
@@ -48,7 +50,8 @@ module Rabbit
       @window.destroy
       @window = @window_destroy_id = nil
       @canvas_widgets = @outer_box = nil
-      @timer_started = false
+      GLib::Source.remove(@timer_id) if @timer_id
+      @timer_id = nil
       @previous_canvas = @current_canvas = @next_canvas = nil
     end
 
@@ -58,9 +61,13 @@ module Rabbit
 
     def moved(index)
       return unless showing?
-      check_timer
-      update_note_text if on_note_mode?
-      adjust_slide(index)
+      update(index)
+    end
+
+    def parsed
+      return unless showing?
+      update_source
+      update
     end
 
     def index_mode_on
@@ -105,11 +112,11 @@ module Rabbit
       init_menu
       attach_key(@window)
       attach_menu(@window)
-      event_mask = Gdk::Event::BUTTON_PRESS_MASK
-      event_mask |= Gdk::Event::BUTTON_RELEASE_MASK
-      event_mask |= Gdk::Event::BUTTON1_MOTION_MASK
-      event_mask |= Gdk::Event::BUTTON2_MOTION_MASK
-      event_mask |= Gdk::Event::BUTTON3_MOTION_MASK
+      event_mask = Gdk::EventMask::BUTTON_PRESS_MASK
+      event_mask |= Gdk::EventMask::BUTTON_RELEASE_MASK
+      event_mask |= Gdk::EventMask::BUTTON1_MOTION_MASK
+      event_mask |= Gdk::EventMask::BUTTON2_MOTION_MASK
+      event_mask |= Gdk::EventMask::BUTTON3_MOTION_MASK
       @window.add_events(event_mask)
       set_button_event(@window)
       set_scroll_event(@window)
@@ -118,60 +125,60 @@ module Rabbit
 
     def init_widgets(width, height)
       init_timer_label(width * (1.0 / 3.0), height * (1.0 / 3.0))
-      @outer_box = Gtk::VBox.new
+      @outer_box = Gtk::Box.new(:vertical)
 
-      current_box = Gtk::HBox.new
+      current_box = Gtk::Box.new(:horizontal)
       @current_canvas.attach_to(nil, @window, current_box) do |container, widget|
         widget.set_size_request(width * (2.0 / 3.0), height * (2.0 / 3.0))
-        container.pack_start(widget, true, false)
+        container.pack_start(widget, :expand => true, :fill => false)
       end
-      @outer_box.pack_start(current_box, true, false)
+      @outer_box.pack_start(current_box, :expand => true, :fill => false)
 
-      bottom_box = Gtk::HBox.new
+      bottom_box = Gtk::Box.new(:horizontal)
       @previous_canvas.attach_to(nil, @window, bottom_box) do |container, widget|
         widget.set_size_request(width * (1.0 / 3.0), height * (1.0 / 3.0))
-        container.pack_start(widget, false, false)
+        container.pack_start(widget, :expand => false, :fill => false)
       end
-      bottom_box.pack_start(@timer_label, true, false)
+      bottom_box.pack_start(@timer_label, :expand => true, :fill => false)
       @next_canvas.attach_to(nil, @window, bottom_box) do |container, widget|
         widget.set_size_request(width * (1.0 / 3.0), height * (1.0 / 3.0))
-        container.pack_end(widget, false, false)
+        container.pack_end(widget, :expand => false, :fill => false)
       end
-      @outer_box.pack_end(bottom_box, false, false)
+      @outer_box.pack_end(bottom_box, :expand => false, :fill => false)
 
       @outer_box.show
     end
 
     def init_widgets_on_note_mode(width, height)
       init_timer_label(width * (1.0 / 5.0), height * (2.0 / 5.0))
-      init_note_text(width * (5.0 / 5.0), height * (3.0 / 5.0))
-      @outer_box = Gtk::VBox.new
+      init_note_area
+      @outer_box = Gtk::Box.new(:vertical)
 
-      current_box = Gtk::HBox.new
-      current_box.pack_start(@timer_label, false, false)
+      current_box = Gtk::Box.new(:horizontal)
+      current_box.pack_start(@timer_label, :expand => false, :fill => false)
       @previous_canvas.attach_to(nil, @window, current_box) do |container, widget|
         widget.set_size_request(width * (1.0 / 5.0), height * (2.0 / 5.0))
-        container.pack_start(widget, true, true, 10)
+        container.pack_start(widget, :expand => true, :fill => true, :padding => 10)
       end
       @current_canvas.attach_to(nil, @window, current_box) do |container, widget|
         widget.set_size_request(width * (2.0 / 5.0), height * (2.0 / 5.0))
-        container.pack_start(widget, true, true)
+        container.pack_start(widget, :expand => true, :fill => true)
       end
       @next_canvas.attach_to(nil, @window, current_box) do |container, widget|
         widget.set_size_request(width * (1.0 / 5.0), height * (2.0 / 5.0))
-        container.pack_end(widget, true, true, 10)
+        container.pack_end(widget, :expand => true, :fill => true, :padding => 10)
       end
-      @outer_box.pack_start(current_box, false, false)
+      @outer_box.pack_start(current_box, :expand => false, :fill => false)
 
-      bottom_box = Gtk::HBox.new
-      bottom_box.pack_start(@note_label, false, true, 20)
-      @outer_box.pack_start(bottom_box, true, false)
+      bottom_box = Gtk::Box.new(:horizontal)
+      bottom_box.pack_start(@note_area, :expand => true, :fill => true, :padding => 20)
+      @outer_box.pack_start(bottom_box, :expand => true, :fill => true, :padding => 20)
 
       @outer_box.show
     end
 
     def init_canvas_widgets
-      @canvas_widgets = Gtk::HBox.new
+      @canvas_widgets = Gtk::Box.new(:horizontal)
       @current_canvas.attach_to(nil, @window, @canvas_widgets)
       @next_canvas.attach_to(nil, @window, @canvas_widgets)
     end
@@ -180,28 +187,79 @@ module Rabbit
       @timer_label = Gtk::Label.new
       @timer_label.justify = :center
       @timer_label.markup = markupped_timer_label(width, height)
-      @timer_started = false
-      check_timer
     end
 
-    def init_note_text(width, height)
-      @note_label = Gtk::Label.new
-      @note_label.justify = :left
-      @note_label.wrap = true
-      @note_label.markup = markupped_note_text(width, height)
-      @note_label.set_size_request(width, height)
+    def init_note_area
+      @note_area = Gtk::DrawingArea.new
+      if @note_area.class.signals.include?("expose-event")
+        @note_area.signal_connect("expose-event") do |area, event|
+          context = area.window.create_cairo_context
+          draw_text_as_large_as_possible(area, context, note_text)
+          Gdk::Event::PROPAGATE
+        end
+      else
+        @note_area.signal_connect("draw") do |area, context|
+          draw_text_as_large_as_possible(area, context, note_text)
+          Gdk::Event::PROPAGATE
+        end
+      end
+    end
+
+    def update(index=nil)
+      start_timer if @timer_id.nil?
+      @note_area.queue_draw if @note_area
+      adjust_slide(index)
     end
 
-    def update_note_text
-      @note_label.markup = markupped_note_text
+    def note_text
+      note = @canvas.current_slide["note"]
+      return note if note.nil?
+      note.gsub(/\\n/, "\n")
+    end
+
+    def draw_text_as_large_as_possible(area, context, markupped_text)
+      return if markupped_text.nil?
+
+      area_width, area_height = area.window.size
+
+      layout = context.create_pango_layout
+      layout.context.resolution = @canvas.font_resolution
+      attributes, text = Pango.parse_markup(markupped_text)
+      layout.text = text
+      layout.attributes = attributes
+      layout.width = area_width * Pango::SCALE
+      layout.wrap = :word_char
+      set_as_large_as_font_description(layout, area_height)
+
+      context.update_pango_layout(layout)
+      context.show_pango_layout(layout)
     end
 
-    def check_timer
-      return if @timer_started
+    def set_as_large_as_font_description(layout, max_height)
+      family = "Sans"
+      size = 14
+      last_font_description = nil
+      loop do
+        font_description = Pango::FontDescription.new("#{family} #{size}")
+        layout.font_description = font_description
+        layout_height = layout.pixel_size[1]
+        break if layout_height > max_height
+        last_font_description = font_description
+        size = [size * 1.2, size + 5].min
+      end
+      last_font_description ||= Pango::FontDescription.new("#{family} #{size}")
+      layout.font_description = last_font_description
+    end
 
-      Gtk.timeout_add(1000) do
+    def start_timer
+      @timer_id = GLib::Timeout.add(1000) do
         @timer_label.markup = markupped_timer_label if showing?
-        @timer_started = (showing? and @canvas.rest_time)
+        if showing? and @canvas.rest_time
+          GLib::Source::CONTINUE
+        else
+          @timer_id = nil
+          GLib::Source::REMOVE
+        end
       end
     end
 
diff --git a/lib/rabbit/keys.rb b/lib/rabbit/keys.rb
index ff19aaf..7abcf16 100644
--- a/lib/rabbit/keys.rb
+++ b/lib/rabbit/keys.rb
@@ -1,189 +1,181 @@
-require "gtk2"
+require "rabbit/gtk"
 require "rabbit/utils"
 
-# For GTK+ < 2.22
-unless Gdk::Keyval.const_defined?(:GDK_KEY_Escape)
-  Gdk::Keyval.constants.each do |name|
-    Gdk::Keyval.const_set(name.to_s.sub(/\AGDK_/, "GDK_KEY_"),
-                          Gdk::Keyval.const_get(name))
-  end
-end
-
 module Rabbit
   module Keys
 
     QUIT_KEYS = [
-      Gdk::Keyval::GDK_KEY_Escape,
-      Gdk::Keyval::GDK_KEY_q,
+      Gdk::Keyval::KEY_Escape,
+      Gdk::Keyval::KEY_q,
     ]
 
     MOVE_TO_NEXT_KEYS = [
-      Gdk::Keyval::GDK_KEY_n,
-      Gdk::Keyval::GDK_KEY_f,
-      Gdk::Keyval::GDK_KEY_j,
-      Gdk::Keyval::GDK_KEY_l,
-      Gdk::Keyval::GDK_KEY_Page_Down,
-      Gdk::Keyval::GDK_KEY_Tab,
-      Gdk::Keyval::GDK_KEY_Return,
-      Gdk::Keyval::GDK_KEY_rightarrow,
-      Gdk::Keyval::GDK_KEY_downarrow,
-      Gdk::Keyval::GDK_KEY_space,
-      Gdk::Keyval::GDK_KEY_plus,
-      Gdk::Keyval::GDK_KEY_KP_Add,
-      Gdk::Keyval::GDK_KEY_KP_Page_Down,
-      Gdk::Keyval::GDK_KEY_KP_Enter,
-      Gdk::Keyval::GDK_KEY_KP_Tab,
+      Gdk::Keyval::KEY_n,
+      Gdk::Keyval::KEY_f,
+      Gdk::Keyval::KEY_j,
+      Gdk::Keyval::KEY_l,
+      Gdk::Keyval::KEY_Page_Down,
+      Gdk::Keyval::KEY_Tab,
+      Gdk::Keyval::KEY_Return,
+      Gdk::Keyval::KEY_rightarrow,
+      Gdk::Keyval::KEY_downarrow,
+      Gdk::Keyval::KEY_space,
+      Gdk::Keyval::KEY_plus,
+      Gdk::Keyval::KEY_KP_Add,
+      Gdk::Keyval::KEY_KP_Page_Down,
+      Gdk::Keyval::KEY_KP_Enter,
+      Gdk::Keyval::KEY_KP_Tab,
     ]
 
     MOVE_TO_PREVIOUS_KEYS = [
-      Gdk::Keyval::GDK_KEY_p,
-      Gdk::Keyval::GDK_KEY_b,
-      Gdk::Keyval::GDK_KEY_h,
-      Gdk::Keyval::GDK_KEY_k,
-      Gdk::Keyval::GDK_KEY_Page_Up,
-      Gdk::Keyval::GDK_KEY_leftarrow,
-      Gdk::Keyval::GDK_KEY_uparrow,
-      Gdk::Keyval::GDK_KEY_BackSpace,
-      Gdk::Keyval::GDK_KEY_Delete,
-      Gdk::Keyval::GDK_KEY_minus,
-      Gdk::Keyval::GDK_KEY_KP_Subtract,
-      Gdk::Keyval::GDK_KEY_KP_Page_Up,
-      Gdk::Keyval::GDK_KEY_KP_Delete,
+      Gdk::Keyval::KEY_p,
+      Gdk::Keyval::KEY_b,
+      Gdk::Keyval::KEY_h,
+      Gdk::Keyval::KEY_k,
+      Gdk::Keyval::KEY_Page_Up,
+      Gdk::Keyval::KEY_leftarrow,
+      Gdk::Keyval::KEY_uparrow,
+      Gdk::Keyval::KEY_BackSpace,
+      Gdk::Keyval::KEY_Delete,
+      Gdk::Keyval::KEY_minus,
+      Gdk::Keyval::KEY_KP_Subtract,
+      Gdk::Keyval::KEY_KP_Page_Up,
+      Gdk::Keyval::KEY_KP_Delete,
     ]
 
     MOVE_TO_FIRST_KEYS = [
-      Gdk::Keyval::GDK_KEY_a,
-      Gdk::Keyval::GDK_KEY_Home,
-      Gdk::Keyval::GDK_KEY_KP_Home,
-      Gdk::Keyval::GDK_KEY_less,
+      Gdk::Keyval::KEY_a,
+      Gdk::Keyval::KEY_Home,
+      Gdk::Keyval::KEY_KP_Home,
+      Gdk::Keyval::KEY_less,
     ]
 
     MOVE_TO_LAST_KEYS = [
-      Gdk::Keyval::GDK_KEY_e,
-      Gdk::Keyval::GDK_KEY_End,
-      Gdk::Keyval::GDK_KEY_KP_End,
-      Gdk::Keyval::GDK_KEY_greater,
-      Gdk::Keyval::GDK_KEY_dollar,
+      Gdk::Keyval::KEY_e,
+      Gdk::Keyval::KEY_End,
+      Gdk::Keyval::KEY_KP_End,
+      Gdk::Keyval::KEY_greater,
+      Gdk::Keyval::KEY_dollar,
     ]
 
     TOGGLE_FULLSCREEN_KEYS = [
-      Gdk::Keyval::GDK_KEY_F5,
-      Gdk::Keyval::GDK_KEY_F10,
-      Gdk::Keyval::GDK_KEY_F11,
+      Gdk::Keyval::KEY_F5,
+      Gdk::Keyval::KEY_F10,
+      Gdk::Keyval::KEY_F11,
     ]
 
     RELOAD_THEME_KEYS = [
-      Gdk::Keyval::GDK_KEY_t,
-      Gdk::Keyval::GDK_KEY_r,
+      Gdk::Keyval::KEY_t,
+      Gdk::Keyval::KEY_r,
     ]
 
     SAVE_AS_IMAGE_KEYS = [
-      Gdk::Keyval::GDK_KEY_s,
+      Gdk::Keyval::KEY_s,
     ]
 
     ICONIFY_KEYS = [
-      Gdk::Keyval::GDK_KEY_z,
+      Gdk::Keyval::KEY_z,
     ]
 
     TOGGLE_INDEX_MODE_KEYS = [
-      Gdk::Keyval::GDK_KEY_i,
+      Gdk::Keyval::KEY_i,
     ]
 
     CACHE_ALL_SLIDES_KEYS = [
-      Gdk::Keyval::GDK_KEY_c,
+      Gdk::Keyval::KEY_c,
     ]
 
     SEARCH_SLIDE_FORWARD_KEYS = [
-      Gdk::Keyval::GDK_KEY_slash,
+      Gdk::Keyval::KEY_slash,
     ]
 
     SEARCH_SLIDE_BACKWARD_KEYS = [
-      Gdk::Keyval::GDK_KEY_question,
+      Gdk::Keyval::KEY_question,
     ]
 
     SEARCH_SLIDE_FORWARD_NEXT_KEYS = [
-      Gdk::Keyval::GDK_KEY_n,
+      Gdk::Keyval::KEY_n,
     ]
 
     STOP_SLIDE_SEARCH_KEYS = [
-      Gdk::Keyval::GDK_KEY_Escape,
+      Gdk::Keyval::KEY_Escape,
     ]
 
     module Shift
       WHITE_OUT_KEYS = [
-        Gdk::Keyval::GDK_KEY_w,
+        Gdk::Keyval::KEY_w,
       ]
 
       BLACK_OUT_KEYS = [
-        Gdk::Keyval::GDK_KEY_b,
+        Gdk::Keyval::KEY_b,
       ]
 
       EXPAND_HOLE_KEYS = [
-        Gdk::Keyval::GDK_KEY_e,
+        Gdk::Keyval::KEY_e,
       ]
 
       NARROW_HOLE_KEYS = [
-        Gdk::Keyval::GDK_KEY_n,
+        Gdk::Keyval::KEY_n,
       ]
 
       TOGGLE_GRAFFITI_MODE_KEYS = [
-        Gdk::Keyval::GDK_KEY_g,
+        Gdk::Keyval::KEY_g,
       ]
 
       SEARCH_SLIDE_BACKWARD_NEXT_KEYS = [
-        Gdk::Keyval::GDK_KEY_n,
+        Gdk::Keyval::KEY_n,
       ]
 
       TOGGLE_INFO_WINDOW_KEYS = [
-        Gdk::Keyval::GDK_KEY_i,
+        Gdk::Keyval::KEY_i,
       ]
     end
 
     module Control
       CLEAR_SLIDE_KEYS = [
-        Gdk::Keyval::GDK_KEY_l,
+        Gdk::Keyval::KEY_l,
       ]
 
       PRINT_KEYS = [
-        Gdk::Keyval::GDK_KEY_p,
+        Gdk::Keyval::KEY_p,
       ]
 
       UNDO_GRAFFITI_KEYS = [
-        Gdk::Keyval::GDK_KEY_z,
+        Gdk::Keyval::KEY_z,
       ]
 
       CLEAR_GRAFFITI_KEYS = [
-        Gdk::Keyval::GDK_KEY_l,
+        Gdk::Keyval::KEY_l,
       ]
 
       SEARCH_SLIDE_FORWARD_KEYS = [
-        Gdk::Keyval::GDK_KEY_s,
+        Gdk::Keyval::KEY_s,
       ]
 
       SEARCH_SLIDE_BACKWARD_KEYS = [
-        Gdk::Keyval::GDK_KEY_r,
+        Gdk::Keyval::KEY_r,
       ]
 
       SEARCH_SLIDE_FORWARD_NEXT_KEYS = [
-        Gdk::Keyval::GDK_KEY_s,
+        Gdk::Keyval::KEY_s,
       ]
 
       SEARCH_SLIDE_BACKWARD_NEXT_KEYS = [
-        Gdk::Keyval::GDK_KEY_r,
+        Gdk::Keyval::KEY_r,
       ]
 
       STOP_SLIDE_SEARCH_KEYS = [
-        Gdk::Keyval::GDK_KEY_g,
+        Gdk::Keyval::KEY_g,
       ]
     end
 
     module Alt
       RESET_ADJUSTMENT_KEYS = [
-        Gdk::Keyval::GDK_KEY_a,
+        Gdk::Keyval::KEY_a,
       ]
 
       RESET_TIMER_KEYS = [
-        Gdk::Keyval::GDK_KEY_t,
+        Gdk::Keyval::KEY_t,
       ]
     end
   end
diff --git a/lib/rabbit/logger.rb b/lib/rabbit/logger.rb
index 68a3c06..4eaaf5f 100644
--- a/lib/rabbit/logger.rb
+++ b/lib/rabbit/logger.rb
@@ -1,19 +1,35 @@
+# Copyright (C) 2004-2014  Kouhei Sutou <kou at cozmixng.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
 require "rabbit/utils"
 
+require "rabbit/logger/stderr"
+require "rabbit/logger/gui"
+
 module Rabbit
   module Logger
     extend Utils
 
-    dir = ::File.join("rabbit", "logger")
-    require_files_under_directory_in_load_path(dir)
-
     class << self
       def types
         collect_classes_under_module(self)
       end
 
       def default
-        if Utils.support_console_output? or !Logger.const_defined?(:GUI)
+        if Utils.support_console_output?
           Logger::STDERR.new
         else
           Logger::GUI.new
diff --git a/lib/rabbit/logger/base.rb b/lib/rabbit/logger/base.rb
index b26331a..a4b8808 100644
--- a/lib/rabbit/logger/base.rb
+++ b/lib/rabbit/logger/base.rb
@@ -50,18 +50,18 @@ module Rabbit
         @prog_name = prog_name
         @webrick_mode = false
       end
-      
+
       def debug?; @level <= Severity::DEBUG; end
       def info?; @level <= Severity::INFO; end
       def warning?; @level <= Severity::WARNING; end
       def error?; @level <= Severity::ERROR; end
       def fatal?; @level <= Severity::FATAL; end
       def unknown?; @level <= Severity::UNKNOWN; end
-    
+
       def debug(message_or_error=nil, &block)
         log(Severity::DEBUG, message_or_error, &block)
       end
-      
+
       def info(message_or_error=nil, &block)
         log(Severity::INFO, message_or_error, &block)
       end
@@ -78,7 +78,7 @@ module Rabbit
       def fatal(message_or_error=nil, &block)
         log(Severity::FATAL, message_or_error, &block)
       end
-      
+
       def unknown(message_or_error=nil, &block)
         log(Severity::UNKNOWN, message_or_error, &block)
       end
@@ -86,7 +86,7 @@ module Rabbit
       def <<(message_or_error)
         info(message_or_error)
       end
-      
+
       def log(severity, message_or_error, prog_name=nil, &block)
         severity ||= Severity::UNKNOWN
         prog_name ||= @prog_name
diff --git a/lib/rabbit/logger/gui.rb b/lib/rabbit/logger/gui.rb
index 7b1d0c5..31dda3f 100644
--- a/lib/rabbit/logger/gui.rb
+++ b/lib/rabbit/logger/gui.rb
@@ -1,4 +1,4 @@
-require "gtk2"
+require "rabbit/gtk"
 
 require "rabbit/keys"
 require "rabbit/logger/base"
@@ -54,24 +54,21 @@ module Rabbit
           append("#{prog_name}: ", "prog_name")
         end
       end
-      
+
       def log_message(message)
-        unless GLib.utf8_validate(message)
-          message = GLib.filename_to_utf8(message)
-        end
         append(message, "message")
         append("\n")
       end
 
       def append(text, *tags)
         iter = @buffer.get_iter_at_offset(-1)
-        @buffer.insert_with_tags(iter, text, *tags)
+        @buffer.insert_with_tags(iter, text.encode("UTF-8"), *tags)
       end
 
       def title
         _("Rabbit Error Dialog")
       end
-      
+
       def init_dialog(width=@width, height=@height)
         flags = 0
         buttons = [
@@ -81,19 +78,19 @@ module Rabbit
         @dialog = Gtk::Dialog.new(title, nil, flags, *buttons)
         @dialog.vbox.add(init_buffer)
         @dialog.set_default_size(width, height)
+        @dialog.title = title
         set_dialog_delete
         set_dialog_response
-        set_dialog_expose_event
         set_dialog_accel_group
       end
 
       def set_dialog_delete
         @dialog.signal_connect("destroy") do |widget, event|
-          exit if @current_severity >= FATAL
+          exit if @current_severity >= Severity::FATAL
           true
         end
       end
-      
+
       def set_dialog_response
         @dialog.signal_connect("response") do |widget, event|
           case event
@@ -106,16 +103,9 @@ module Rabbit
         end
       end
 
-      def set_dialog_expose_event
-        @dialog.signal_connect("expose_event") do |widget, event|
-          @dialog.title = title
-          false
-        end
-      end
-      
       def set_dialog_accel_group
         accel_group = Gtk::AccelGroup.new
-        mod = Gdk::Window::ModifierType.new
+        mod = Gdk::ModifierType.new
         flags = Gtk::AccelFlags::VISIBLE
         Keys::QUIT_KEYS.each do |val|
           accel_group.connect(val, mod, flags) do
diff --git a/lib/rabbit/logger/stderr.rb b/lib/rabbit/logger/stderr.rb
index 9a57438..f2bf450 100644
--- a/lib/rabbit/logger/stderr.rb
+++ b/lib/rabbit/logger/stderr.rb
@@ -1,4 +1,4 @@
-require 'glib2'
+require "glib2"
 
 require "rabbit/logger/base"
 
@@ -9,19 +9,18 @@ module Rabbit
 
       private
       def do_log(severity, prog_name, message)
-        # TODO: Remove me. It is workaround until Ruby/GLib2 2.0.3 is released.
-        if message.encoding == Encoding::ASCII_8BIT
-          message.force_encoding("UTF-8")
-        end
         begin
           message = message.encode("locale")
         rescue EncodingError
           format = _("can't convert to current locale from UTF-8: %s")
-          ::STDERR.puts(format % message)
+          sanitized_message = message.encode(format.encoding,
+                                             :invalid => :replace,
+                                             :undef   => :replace)
+          $stderr.puts(format % sanitized_message)
         end
-        ::STDERR.puts(format_severity(severity))
-        ::STDERR.print("[#{prog_name}]: ") if prog_name
-        ::STDERR.puts(message)
+        $stderr.puts(format_severity(severity))
+        $stderr.print("[#{prog_name}]: ") if prog_name
+        $stderr.puts(message)
         exit if severity >= Severity::FATAL
       end
     end
diff --git a/lib/rabbit/menu.rb b/lib/rabbit/menu.rb
index a86e434..9cf83cf 100644
--- a/lib/rabbit/menu.rb
+++ b/lib/rabbit/menu.rb
@@ -1,7 +1,23 @@
+# Copyright (C) 2004-2015  Kouhei Sutou <kou at cozmixng.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
 require "erb"
 require "stringio"
 
-require "gtk2"
+require "rabbit/gtk"
 
 require "rabbit/gettext"
 require "rabbit/utils"
@@ -59,7 +75,7 @@ module Rabbit
       name = "JumpTo#{i}"
       label = "#{i}: #{escape_label(Utils.unescape_title(title))}"
       tooltip = _("Jump to the %dth slide") % i
-      action = Gtk::Action.new(name, label, tooltip, nil)
+      action = Gtk::Action.new(name, :label => label, :tooltip => tooltip)
       action.signal_connect("activate") do
         jump_to_action.activate {i}
       end
@@ -86,10 +102,10 @@ module Rabbit
         @jump_to_actions.add_action(action)
         @jump_to_actions_keeper << action # Workaround for > Ruby/GTK2 0.16
         @merge.add_ui(@jump_to_merge_id, jump_to_path, action.name,
-                      action.name, Gtk::UIManager::AUTO, false)
+                      action.name, :auto, false)
       end
     end
-    
+
     def update_ui
       @merge_ui = @merge.add_ui(ui_xml)
       @menu = @merge.get_widget("/popup")
@@ -101,13 +117,13 @@ module Rabbit
     def update_theme_menu(canvas)
       @merge.remove_ui(@theme_merge_id) if @theme_merge_id
       @merge.remove_action_group(@theme_actions) if @theme_actions
-      
+
       @theme_merge_id = @merge.new_merge_id
       @theme_actions = Gtk::ActionGroup.new("ThemeActions")
       @merge.insert_action_group(@theme_actions, 0)
 
       themes = Theme::Searcher.collect_theme
-      
+
       categories = themes.collect do |entry|
         entry.category
       end.uniq.sort_by {|cat| _(cat)}
@@ -129,25 +145,23 @@ module Rabbit
     def theme_menu_add_category(prefix, path, category)
       name = "#{prefix}ThemeCategory#{category}"
       label = _(category)
-      action = Gtk::Action.new(name, label, nil, nil)
+      action = Gtk::Action.new(name, :label => label)
       @theme_actions.add_action(action)
-      @merge.add_ui(@theme_merge_id, path, category, name,
-                    Gtk::UIManager::MENU, false)
+      @merge.add_ui(@theme_merge_id, path, category, name, :menu, false)
     end
 
     def theme_menu_add_theme(prefix, path, entry, canvas)
       path = "#{path}/#{entry.category}"
       name = "#{prefix}ThemeEntry#{entry.name}"
       label = _(entry.title)
-      action = Gtk::Action.new(name, label, nil, nil)
+      action = Gtk::Action.new(name, :label => label)
       action.signal_connect("activate") do
         canvas.activate("#{prefix}Theme") do
           [entry, Utils.process_pending_events_proc]
         end
       end
       @theme_actions.add_action(action)
-      @merge.add_ui(@theme_merge_id, path, entry.name, name,
-                    Gtk::UIManager::AUTO, false)
+      @merge.add_ui(@theme_merge_id, path, entry.name, name, :auto, false)
     end
 
     def show_tearoff(sub_menus=@menu.children)
@@ -220,7 +234,7 @@ module Rabbit
         end
       end
     end
-    
+
     def items
       [
         [:item, "ToggleIndexMode"],
diff --git a/lib/rabbit/parser.rb b/lib/rabbit/parser.rb
index 16daeac..4d7f61e 100644
--- a/lib/rabbit/parser.rb
+++ b/lib/rabbit/parser.rb
@@ -12,8 +12,10 @@ module Rabbit
       parser = Base.find_loader(source)
       if parser.nil?
         format = _("unsupported format. (supported: %s)")
-        loader_names = Base.loaders.collect {|loader| loader.name}
-        message = format % "[#{loader_names.join(', ')}]"
+        format_names = Base.loaders.collect do |loader|
+          loader.format_name
+        end
+        message = format % "[#{format_names.join(', ')}]"
         raise UnsupportedFormatError.new(message)
       end
       parser.new(canvas, source).parse
diff --git a/lib/rabbit/parser/base.rb b/lib/rabbit/parser/base.rb
index 8a84da9..a92208e 100644
--- a/lib/rabbit/parser/base.rb
+++ b/lib/rabbit/parser/base.rb
@@ -5,12 +5,6 @@ module Rabbit
     class Base
       extend ModuleLoader
 
-      class << self
-        def name
-          super.split(/::/).last
-        end
-      end
-
       def initialize(canvas, source)
         @canvas = canvas
         @source = source
diff --git a/lib/rabbit/parser/ext/aafigure.rb b/lib/rabbit/parser/ext/aafigure.rb
index 7201794..b45b42a 100644
--- a/lib/rabbit/parser/ext/aafigure.rb
+++ b/lib/rabbit/parser/ext/aafigure.rb
@@ -9,10 +9,12 @@ module Rabbit
                              "option"]
         def make_image(path, prop, logger)
           image_file = Tempfile.new("rabbit-image-aafigure")
-          command = ["aafigure",
-                     "--type", "svg",
-                     "--encoding", "utf-8",
-                     "--output", image_file.path]
+          command = [
+            "aafigure",
+            "--type", "svg",
+            "--encoding", "utf-8",
+            "--output", image_file.path,
+          ]
           aafigure_options = []
           AVAILABLE_OPTIONS.each do |name|
             command.concat(["--#{name}", prop[name]]) if prop.has_key?(name)
diff --git a/lib/rabbit/parser/ext/blockdiag.rb b/lib/rabbit/parser/ext/blockdiag.rb
index 71a2ef2..c897257 100644
--- a/lib/rabbit/parser/ext/blockdiag.rb
+++ b/lib/rabbit/parser/ext/blockdiag.rb
@@ -10,9 +10,11 @@ module Rabbit
         AVAILABLE_VALUE_OPTIONS = []
         def make_image(path, prop, logger)
           image_file = Tempfile.new("rabbit-image-blockdiag")
-          command = ["blockdiag",
-                     "-T", "svg",
-                     "-o", image_file.path]
+          command = [
+            "blockdiag",
+            "-T", "svg",
+            "-o", image_file.path,
+          ]
           font = find_font(prop)
           command.concat(["-f", font]) if font
           AVAILABLE_FLAG_OPTIONS.each do |name|
diff --git a/lib/rabbit/parser/ext/entity.rb b/lib/rabbit/parser/ext/entity.rb
index 8f397fc..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/image.rb b/lib/rabbit/parser/image.rb
index 2fb047f..d2b0858 100644
--- a/lib/rabbit/parser/image.rb
+++ b/lib/rabbit/parser/image.rb
@@ -10,6 +10,10 @@ module Rabbit
       push_loader(self)
 
       class << self
+        def format_name
+          "image"
+        end
+
         def match?(source)
           options = {
             :prefix => "image-parser-match",
diff --git a/lib/rabbit/parser/markdown.rb b/lib/rabbit/parser/markdown.rb
index 95eea5f..0323dae 100644
--- a/lib/rabbit/parser/markdown.rb
+++ b/lib/rabbit/parser/markdown.rb
@@ -1,7 +1,101 @@
 require "kramdown"
+require "kramdown/parser/kramdown"
+require "kramdown/parser/gfm"
 
 require "rabbit/parser/base"
 
+module Kramdown
+  module Parser
+    class Kramdown
+      alias_method :handle_extension_raw, :handle_extension
+      def handle_extension(name, opts, body, type, line_no=nil)
+        return true if handle_extension_raw(name, opts, body, type, line_no)
+        element = Element.new(name.to_sym,
+                              nil,
+                              opts,
+                              :category => type,
+                              :location => line_no)
+        if body
+          root, warnings = self.class.parse(body, @options)
+          fix_location(root, line_no)
+          if type == :span
+            p_element = root.children.first
+            p_element.children.each do |sub_element|
+              element.children << sub_element
+            end
+          else
+            root.children.each do |sub_element|
+              element.children << sub_element
+            end
+          end
+        end
+        @tree.children << element
+        true
+      end
+
+      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
+
+      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
+          self.class.send(:remove_const, :FENCED_CODEBLOCK_MATCH)
+          self.class.const_set(:FENCED_CODEBLOCK_MATCH,
+                               GFM::FENCED_CODEBLOCK_MATCH)
+          parse_codeblock_fenced
+        ensure
+          self.class.send(:remove_const, :FENCED_CODEBLOCK_MATCH)
+          self.class.const_set(:FENCED_CODEBLOCK_MATCH, original_match)
+        end
+      end
+
+      private
+      def fix_location(element, base_location)
+        return unless element.options.key?(:location)
+        element.options[:location] += base_location - 1
+        element.children.each do |sub_element|
+          fix_location(sub_element, base_location)
+        end
+      end
+    end
+  end
+end
+
 module Rabbit
   module Parser
     class Markdown < Base
@@ -16,12 +110,15 @@ module Rabbit
     class Markdown
       unshift_loader(self)
       class << self
+        def format_name
+          "Makrdown"
+        end
+
         def match?(source)
           /\A(?:md|markdown)\z/i =~ source.extension.to_s
         end
       end
 
-      include Element
       def parse
         document = Kramdown::Document.new(@source.read)
         converter = Converter.new(@canvas)
diff --git a/lib/rabbit/parser/markdown/converter.rb b/lib/rabbit/parser/markdown/converter.rb
index b0ee7d9..9030172 100644
--- a/lib/rabbit/parser/markdown/converter.rb
+++ b/lib/rabbit/parser/markdown/converter.rb
@@ -1,8 +1,37 @@
+# Copyright (C) 2012-2016  Kouhei Sutou <kou at cozmixng.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+require "English"
+
+require "rabbit/gettext"
+require "rabbit/parser/pause-support"
+require "rabbit/parser/ext/blockdiag"
+require "rabbit/parser/ext/coderay"
+require "rabbit/parser/ext/escape"
+require "rabbit/parser/ext/inline"
+require "rabbit/parser/ext/image"
+require "rabbit/parser/ext/tex"
+
 module Rabbit
   module Parser
     class Markdown
       class Converter
+        include GetText
         include Element
+        include PauseSupport
 
         def initialize(canvas)
           @canvas = canvas
@@ -11,15 +40,17 @@ module Rabbit
           @slide_property_mode = false
         end
 
-        def convert(element)
-          __send__("convert_#{element.type}", element)
+        def convert(element, context=nil)
+          method_name = "convert_#{element.type}"
+          method_name << "_#{context}" if context
+          __send__(method_name, element)
         end
 
         private
-        def convert_container(element)
+        def convert_container(element, context=nil)
           elements = []
           element.children.each do |child|
-            element = convert(child)
+            element = convert(child, context)
             case element
             when nil, :no_element
               # ignore
@@ -33,14 +64,13 @@ module Rabbit
         def convert_root(element)
           target = nil
           mode = :ignore
-          require 'pp'
           convert_container(element).each do |content|
             case content
             when :no_element
               next
             when nil
               mode = :ignore
-            when Slide
+            when Element::Slide
               target = content.body
               @canvas << content
               mode = :display
@@ -60,6 +90,7 @@ module Rabbit
               end
             end
           end
+          burn_out_pause_targets
         end
 
         def convert_header(element)
@@ -70,7 +101,7 @@ module Rabbit
             if @slides.empty?
               @slide = TitleSlide.new(Title.new(contents))
             else
-              @slide = Slide.new(HeadLine.new(contents))
+              @slide = Element::Slide.new(HeadLine.new(contents))
               @slide << Body.new
             end
             @slides << @slide
@@ -115,8 +146,14 @@ module Rabbit
           list
         end
 
+        def create_paragraph(elements)
+          paragraph = Paragraph.new(elements)
+          register_pause(paragraph) if paragraph.have_wait_tag?
+          paragraph
+        end
+
         def convert_dt(element)
-          DescriptionTerm.new(Paragraph.new(convert_container(element)))
+          DescriptionTerm.new(create_paragraph(convert_container(element)))
         end
 
         def convert_dd(element)
@@ -124,24 +161,84 @@ module Rabbit
         end
 
         def convert_p(element)
-          if element.children.collect {|child| child.type} == [:img]
+          child_types = element.children.collect {|child| child.type}
+          if child_types == [:img]
             convert_container(element)[0]
           else
-            if element.children.any? {|child| child.type == :img}
+            if child_types.include?(:img)
               raise ParseError,
                       _("multiple ![alt]{image} in a paragraph isn't supported.")
-            else
-              Paragraph.new(convert_container(element))
             end
+            if element.options[:transparent] and child_types == [:text]
+              element.children.first.value.chomp!
+            end
+            converted_children = apply_class(convert_container(element),
+                                             element.attr["class"])
+            create_paragraph(converted_children)
+          end
+        end
+
+        def apply_class(children, klass)
+          return children if klass.nil?
+          classes = klass.split
+          classes.inject(children) do |nested_children, klass|
+            CustomTag.new(klass, nested_children)
+          end
+        end
+
+        def create_list(list_class, contents)
+          list = list_class.new
+          contents.each do |content|
+            list << content
+            if block_given?
+              yield(list, content)
+            end
+          end
+          list
+        end
+
+        def create_list_item(list_item_class, contents)
+          list_item = list_item_class.new(contents)
+
+          waited_paragraphs = list_item.elements.find_all do |element|
+            element.is_a?(Paragraph) and element.have_wait_tag?
+          end
+          if waited_paragraphs.empty?
+            list_item.default_visible = true
+            list_item.clear_theme
+          else
+            waited_paragraphs.each do |paragraph|
+              paragraph.default_visible = true
+              paragraph.clear_theme
+              unregister_pause(paragraph)
+            end
+
+            list_item.default_visible = false
+            list_item.clear_theme
+            register_pause(list_item)
           end
+
+          list_item
         end
 
         def convert_ul(element)
-          ItemList.new(convert_container(element))
+          create_list(ItemList, convert_container(element, "ul"))
+        end
+
+        def convert_li_ul(element)
+          create_list_item(ItemListItem, convert_container(element))
         end
 
-        def convert_li(element)
-          ItemListItem.new(convert_container(element))
+        def convert_ol(element)
+          i = 1
+          create_list(EnumList, convert_container(element, "ol")) do |list, item|
+            item.order = i
+            i += 1
+          end
+        end
+
+        def convert_li_ol(element)
+          create_list_item(EnumListItem, convert_container(element))
         end
 
         def convert_smart_quote(element)
@@ -193,18 +290,52 @@ module Rabbit
           end
         end
 
+        def convert_hr(element)
+          raise ParseError, _("horizontal rule isn't supported.")
+        end
+
         def convert_comment(element)
           :no_element
         end
 
         def convert_codeblock(element)
           content = element.value.chomp
+          language = detect_codeblock_language(element)
+          if language
+            converted = convert_codeblock_language(element, language, content)
+          end
+          converted || PreformattedBlock.new(PreformattedText.new(text(content)))
+        end
+
+        def detect_codeblock_language(element)
           lang = element.attr["lang"]
-          if lang
-            highlighted = Ext::CodeRay.highlight(lang, content, @canvas.logger)
-            return highlighted if highlighted
+          return lang if lang
+
+          language = element.attr["language"]
+          return language if language
+
+          klass = element.attr["class"]
+          if klass and /\Alanguage-/ =~ klass
+            return $POSTMATCH
+          end
+
+          nil
+        end
+
+        def convert_codeblock_language(element, language, content)
+          case language
+          when "blockdiag"
+            args = [@canvas, content]
+            Ext::Image.make_image_from_file(*args) do |src_file_path|
+              [
+                Ext::BlockDiag.make_image(src_file_path, element.attr, @canvas),
+                element.attr,
+              ]
+            end
+          else
+            logger = @canvas.logger
+            Ext::CodeRay.highlight(language, content, logger)
           end
-          PreformattedBlock.new(PreformattedText.new(text(content)))
         end
 
         def convert_blockquote(element)
@@ -227,7 +358,7 @@ module Rabbit
             end
             body["background-image"] = uri
             options.each do |name, value|
-              name = name.to_s.gsub(/_/, '-')
+              name = name.to_s.gsub(/_/, "-")
               body["background-image-#{name}"] = value
             end
             :no_element
@@ -254,9 +385,46 @@ module Rabbit
 
         def convert_a(element)
           ref = ReferText.new(convert_container(element))
-          ref.to = element.attr['href']
+          ref.to = element.attr["href"]
           ref
         end
+
+        def convert_br(element)
+          Text.new("\n")
+        end
+
+        def convert_codespan(element)
+          Code.new(text(element.value))
+        end
+
+        def convert_wait(element)
+          WaitTag.new
+        end
+
+        def convert_note(element)
+          # TODO: Should we validate element.options[:category] == "span"?
+          Ext::Inline.note(convert_container(element))
+        end
+
+        def convert_tag(element)
+          name = element.attr["name"]
+          if name.nil?
+            raise ParseError, _("tag name is missing.")
+          end
+          if element.children.empty?
+            CustomTag.new(name)
+          else
+            CustomTag.new(name, convert_container(element))
+          end
+        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/pdf.rb b/lib/rabbit/parser/pdf.rb
index 21ff975..9273029 100644
--- a/lib/rabbit/parser/pdf.rb
+++ b/lib/rabbit/parser/pdf.rb
@@ -10,6 +10,10 @@ module Rabbit
     class PDF < Base
       unshift_loader(self)
       class << self
+        def format_name
+          "PDF"
+        end
+
         def match?(source)
           extension = source.extension
           if extension.nil?
@@ -22,11 +26,7 @@ module Rabbit
 
       include Element
       def parse
-        @pdf = Tempfile.new("rabbit-pdf")
-        @pdf.binmode
-        @pdf.print(@source.read)
-        @pdf.close
-        doc = Poppler::Document.new("file://#{@pdf.path}")
+        doc = Poppler::Document.new(@source.read)
 
         title_page, *rest = doc.to_a
 
diff --git a/lib/rabbit/parser/rd.rb b/lib/rabbit/parser/rd.rb
index 6debd88..028b0c4 100644
--- a/lib/rabbit/parser/rd.rb
+++ b/lib/rabbit/parser/rd.rb
@@ -16,6 +16,10 @@ module Rabbit
     class RD
       push_loader(self)
       class << self
+        def format_name
+          "RD"
+        end
+
         def match?(source)
           extension = source.extension
           if extension.nil?
@@ -23,7 +27,7 @@ module Rabbit
             if head.respond_to?(:force_encoding)
               head.force_encoding("ASCII-8BIT")
             end
-            /^= /.match(head)
+            /^=(?:\s+\S|[^=])/ === head
           else
             /\A(?:rd|rab|rbt)\z/i =~ extension
           end
diff --git a/lib/rabbit/parser/rd/ext/block-verbatim.rb b/lib/rabbit/parser/rd/ext/block-verbatim.rb
index 5a3b20e..920323a 100644
--- a/lib/rabbit/parser/rd/ext/block-verbatim.rb
+++ b/lib/rabbit/parser/rd/ext/block-verbatim.rb
@@ -1,20 +1,33 @@
+# Copyright (C) 2004-2015  Kouhei Sutou <kou at cozmixng.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
 require "tempfile"
 
-require 'rabbit/rabbit'
-require 'rabbit/utils'
-begin
-  require 'rabbit/parser/rd/rt/rt2rabbit-lib'
-rescue LoadError
-end
-require 'rabbit/parser/rd/ext/base'
-require 'rabbit/parser/rd/ext/image'
-require 'rabbit/parser/rd/ext/video'
-require 'rabbit/parser/ext/enscript'
-require 'rabbit/parser/ext/tex'
-require 'rabbit/parser/ext/aafigure'
-require 'rabbit/parser/ext/blockdiag'
-require 'rabbit/parser/ext/coderay'
-require 'rabbit/parser/ext/emacs'
+require "rabbit/rabbit"
+require "rabbit/utils"
+require "rabbit/parser/rd/rt/rt2rabbit-lib"
+require "rabbit/parser/rd/ext/base"
+require "rabbit/parser/rd/ext/image"
+require "rabbit/parser/rd/ext/video"
+require "rabbit/parser/ext/enscript"
+require "rabbit/parser/ext/tex"
+require "rabbit/parser/ext/aafigure"
+require "rabbit/parser/ext/blockdiag"
+require "rabbit/parser/ext/coderay"
+require "rabbit/parser/ext/emacs"
 
 module Rabbit
   module Parser
@@ -32,23 +45,23 @@ module Rabbit
           end
 
           def ext_block_verb_quote(label, source, content, visitor)
-            return nil unless /^_$/i =~ label
+            return nil unless /\A_\z/i =~ label
             default_ext_block_verbatim("", source, source, visitor)
           end
 
           def ext_block_verb_img(label, source, content, visitor)
-            return nil unless /^(?:image|img)$/i =~ label
+            return nil unless /\A(?:image|img)\z/i =~ label
             src, prop = parse_source(source)
-            return nil if prop['src'].nil?
+            return nil if prop["src"].nil?
 
-            if prop['align'] == "right"
+            if prop["align"] == "right"
               body = visitor.current_body
               if body["background-image"]
                 raise ParseError,
                       _("multiple 'align = right' isn't supported.")
               end
               prop.each do |name, value|
-                name = name.gsub(/_/, '-')
+                name = name.gsub(/_/, "-")
                 if name == "src"
                   property_name = "background-image"
                 else
@@ -58,20 +71,20 @@ module Rabbit
               end
               :no_element
             else
-              make_image(visitor, prop['src'], prop)
+              make_image(visitor, prop["src"], prop)
             end
           end
 
           def ext_block_verb_video(label, source, content, visitor)
-            return nil unless /^video$/i =~ label
+            return nil unless /\Avideo\z/i =~ label
             src, prop = parse_source(source)
-            return nil if prop['src'].nil?
+            return nil if prop["src"].nil?
 
-            make_video(visitor, prop['src'], prop)
+            make_video(visitor, prop["src"], prop)
           end
 
           def ext_block_verb_enscript(label, source, content, visitor)
-            return nil unless /^enscript (\w+)$/i =~ label
+            return nil unless /\Aenscript (\w+)\z/i =~ label
             lang = $1.downcase.untaint
 
             src, prop = parse_source(source)
@@ -85,14 +98,14 @@ module Rabbit
           end
 
           def ext_block_verb_LaTeX(label, source, content, visitor)
-            return nil unless /^LaTeX$/i =~ label
+            return nil unless /\ALaTeX\z/i =~ label
             make_image_from_file(source, visitor) do |src_file_path, prop|
               Parser::Ext::TeX.make_image_by_LaTeX(src_file_path, prop, visitor)
             end
           end
 
           def ext_block_verb_mimeTeX(label, source, content, visitor)
-            return nil unless /^mimeTeX$/i =~ label
+            return nil unless /\AmimeTeX\z/i =~ label
             make_image_from_file(source, visitor) do |src_file_path, prop|
               Parser::Ext::TeX.make_image_by_mimeTeX(src_file_path, prop,
                                                      visitor)
@@ -100,21 +113,21 @@ module Rabbit
           end
 
           def ext_block_verb_aafigure(label, source, content, visitor)
-            return nil unless /^aafigure$/i =~ label
+            return nil unless /\Aaafigure\z/i =~ label
             make_image_from_file(source, visitor) do |src_file_path, prop|
               Parser::Ext::AAFigure.make_image(src_file_path, prop, visitor)
             end
           end
 
           def ext_block_verb_blockdiag(label, source, content, visitor)
-            return nil unless /^blockdiag$/i =~ label
+            return nil unless /\Ablockdiag\z/i =~ label
             make_image_from_file(source, visitor) do |src_file_path, prop|
               Parser::Ext::BlockDiag.make_image(src_file_path, prop, visitor)
             end
           end
 
           def ext_block_verb_coderay(label, source, content, visitor)
-            return nil unless /^coderay (\w+)$/i =~ label
+            return nil unless /\Acoderay (\w+)\z/i =~ label
             lang = $1.downcase.untaint
 
             src, prop = parse_source(source)
@@ -125,7 +138,7 @@ module Rabbit
           end
 
           def ext_block_verb_emacs(label, source, content, visitor)
-            return nil unless /^emacs(?:\s+(.+))?$/i =~ label
+            return nil unless /\Aemacs(?:\s+(.+))?\z/i =~ label
             mode_line = $1.untaint
 
             src, prop = parse_source(source)
@@ -136,7 +149,7 @@ module Rabbit
           end
 
           def ext_block_verb_rt(label, source, content, visitor)
-            return nil unless /^rt$/i =~ label
+            return nil unless /\Art\z/i =~ label
             unless defined?(RT2RabbitVisitor)
               visitor.logger.warn(_("RTtool isn't available"))
               return nil
@@ -146,7 +159,7 @@ module Rabbit
           end
 
           def ext_block_verb_block_quote(label, source, content, visitor)
-            return nil unless /^block[_-]?quote$/i =~ label
+            return nil unless /\Ablock[_-]?quote\z/i =~ label
             src, prop = parse_source(source)
             tree = ::RD::RDTree.new("=begin\n#{src}\n=end\n")
             elems = tree.root.children.collect do |child|
@@ -156,7 +169,7 @@ module Rabbit
           end
 
           def ext_block_verb_wait(label, source, content, visitor)
-            return nil unless /^wait$/i =~ label
+            return nil unless /\Await\z/i =~ label
 
             src, prop = parse_source(source)
             tree = ::RD::RDTree.new("=begin\n#{src}\n=end\n")
@@ -169,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/parser/rd/rt/rt2rabbit-lib.rb b/lib/rabbit/parser/rd/rt/rt2rabbit-lib.rb
index d174ee9..89c7d06 100644
--- a/lib/rabbit/parser/rd/rt/rt2rabbit-lib.rb
+++ b/lib/rabbit/parser/rd/rt/rt2rabbit-lib.rb
@@ -50,7 +50,7 @@ module Rabbit
       end
       table << block
     end
-    
+
     def process_header(table)
       process_block(table, @header, Element::TableHead, Element::TableHeader)
     end
@@ -84,6 +84,6 @@ module Rabbit
       end
       target.align = target.default_align
     end
-    
+
   end
 end
diff --git a/lib/rabbit/parser/wiki.rb b/lib/rabbit/parser/wiki.rb
index 65bbe67..0deddbf 100644
--- a/lib/rabbit/parser/wiki.rb
+++ b/lib/rabbit/parser/wiki.rb
@@ -16,6 +16,10 @@ module Rabbit
     class Wiki
       unshift_loader(self)
       class << self
+        def format_name
+          "Wiki"
+        end
+
         def match?(source)
           extension = source.extension
           if extension.nil?
diff --git a/lib/rabbit/parser/wiki/output.rb b/lib/rabbit/parser/wiki/output.rb
index 30b50fe..107df0f 100644
--- a/lib/rabbit/parser/wiki/output.rb
+++ b/lib/rabbit/parser/wiki/output.rb
@@ -1,15 +1,32 @@
-require 'rabbit/element'
-require 'rabbit/parser/pause-support'
-require 'rabbit/parser/ext/escape'
-require 'rabbit/parser/ext/inline'
-require 'rabbit/parser/ext/image'
-require 'rabbit/parser/ext/enscript'
-require 'rabbit/parser/ext/tex'
-require 'rabbit/parser/ext/aafigure'
-require 'rabbit/parser/ext/blockdiag'
-require 'rabbit/parser/ext/coderay'
-require 'rabbit/parser/ext/emacs'
-require 'rabbit/parser/ext/entity'
+# Copyright (C) 2007-2015  Kouhei Sutou <kou at cozmixng.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+require "rabbit/gettext"
+require "rabbit/element"
+require "rabbit/parser/pause-support"
+require "rabbit/parser/ext/escape"
+require "rabbit/parser/ext/inline"
+require "rabbit/parser/ext/image"
+require "rabbit/parser/ext/enscript"
+require "rabbit/parser/ext/tex"
+require "rabbit/parser/ext/aafigure"
+require "rabbit/parser/ext/blockdiag"
+require "rabbit/parser/ext/coderay"
+require "rabbit/parser/ext/emacs"
+require "rabbit/parser/ext/entity"
 
 module Rabbit
   module Parser
@@ -69,7 +86,7 @@ module Rabbit
               @parent = slide
             else
               @title_slide = false
-              slide = Slide.new(HeadLine.new(title))
+              slide = Element::Slide.new(HeadLine.new(title))
               body = Body.new
               slide << body
               @parent = body
@@ -340,6 +357,8 @@ module Rabbit
 
         def evaluate_inline_plugin(src)
           InlinePlugin.new(self).instance_eval(src, "(inline plugin)")
+        rescue ParseError
+          raise
         rescue
           @canvas.logger.warn($!)
           nil
@@ -347,12 +366,15 @@ module Rabbit
 
         def evaluate_block_plugin(src)
           BlockPlugin.new(self).instance_eval(src, "(block plugin)")
+        rescue ParseError
+          raise
         rescue
           @canvas.logger.warn($!)
           nil
         end
 
         class InlinePlugin
+          include GetText
           include Element
           include Parser::Ext::Inline
           include Parser::Ext::Entity
@@ -361,6 +383,11 @@ module Rabbit
             @private = Private.new(output)
           end
 
+          def image(source, props={})
+            raise ParseError,
+                  _("inline {{image(...)}} isn't supported.")
+          end
+
           def entity(entity, *rest)
             return nil unless TABLE.include?(entity)
 
@@ -434,12 +461,12 @@ module Rabbit
               body = @output.current_body
               if body["background-image"]
                 raise ParseError,
-                      _("multiple {{image, 'XXX.png', :align => :right}} " + \
+                      _("multiple {{image(..., :align => :right)}} " + \
                         "isn't supported.")
               end
               body["background-image"] = source
               props.each do |name, value|
-                name = name.to_s.gsub(/_/, '-')
+                name = name.to_s.gsub(/_/, "-")
                 value = value.to_s if name == "align"
                 body["background-image-#{name}"] = value
               end
diff --git a/lib/rabbit/version.rb b/lib/rabbit/password-reader.rb
similarity index 67%
copy from lib/rabbit/version.rb
copy to lib/rabbit/password-reader.rb
index 90b9fb0..fd486dd 100644
--- a/lib/rabbit/version.rb
+++ b/lib/rabbit/password-reader.rb
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2013  Kouhei Sutou <kou at cozmixng.org>
+# Copyright (C) 2012-2016 Kouhei Sutou <kou at cozmixng.org>
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -15,5 +15,20 @@
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
 module Rabbit
-  VERSION = "2.1.1"
+  class PasswordReader
+    def initialize(prompt)
+      @prompt = prompt
+    end
+
+    def read
+      print(@prompt)
+      system("/bin/stty -echo") if $stdin.tty?
+      $stdin.gets.chomp
+    ensure
+      if $stdin.tty?
+        system("/bin/stty echo")
+        puts
+      end
+    end
+  end
 end
diff --git a/lib/rabbit/progress.rb b/lib/rabbit/progress.rb
index 8f2d2d6..d4dde30 100644
--- a/lib/rabbit/progress.rb
+++ b/lib/rabbit/progress.rb
@@ -1,15 +1,14 @@
-require 'gtk2'
+require 'rabbit/gtk'
 
 module Rabbit
   class Progress
     attr_reader :window, :foreground, :background
     def initialize
-      @window = Gtk::Window.new(Gtk::Window::POPUP)
+      @window = Gtk::Window.new(:popup)
       @window.app_paintable = true
       @bar = Gtk::ProgressBar.new
       @bar.show_text = true
       @window.add(@bar)
-      @original_style = @bar.style
       @foreground = nil
       @background = nil
     end
@@ -52,16 +51,29 @@ module Rabbit
 
     private
     def setup_progress_color
-      style = @original_style.copy
-      if @foreground
-        rgb = @foreground.to_gdk_rgb
-        style.set_bg(Gtk::STATE_PRELIGHT, *rgb)
+      if Gtk.const_defined?(:CssProvider)
+        css = "progressbar {\n"
+        if @foreground
+          css << "  color: #{@foreground.to_css_rgba};\n"
+        end
+        if @background
+          css << "  background-color: #{@background.to_css_rgba};\n"
+        end
+        css << "}\n"
+        provider = Gtk::CssProvider.default
+        provider.load(:data => css)
+      else
+        style = @bar.style.copy
+        if @foreground
+          rgb = @foreground.to_gdk_rgb
+          style.set_bg(Gtk::STATE_PRELIGHT, *rgb)
+        end
+        if @background
+          rgb = @background.to_gdk_rgb
+          style.set_bg(Gtk::STATE_NORMAL, *rgb)
+        end
+        @bar.style = style
       end
-      if @background
-        rgb = @background.to_gdk_rgb
-        style.set_bg(Gtk::STATE_NORMAL, *rgb)
-      end
-      @bar.style = style
     end
   end
 end
diff --git a/lib/rabbit/rabbit.rb b/lib/rabbit/rabbit.rb
index 2465806..f7c9933 100644
--- a/lib/rabbit/rabbit.rb
+++ b/lib/rabbit/rabbit.rb
@@ -19,237 +19,20 @@ require "rabbit/config"
 require "rabbit/gettext"
 require "rabbit/version"
 
+require "rabbit/error"
+
+require "rabbit/gtk"
+
 module Rabbit
   TMP_DIR_NAME = ".tmp"
 
+  @@application = nil
   @@gui_init_procs = []
   @@cleanup_procs = []
 
-  module_function
-  def add_gui_init_proc(proc=Proc.new)
-    @@gui_init_procs << proc
-  end
-
-  def gui_init
-    @@gui_init_procs.each do |proc|
-      proc.call
-    end
-  end
-
-  def add_cleanup_proc(proc=Proc.new)
-    @@cleanup_procs << proc
-  end
-
-  def cleanup
-    @@cleanup_procs.each do |proc|
-      proc.call
-    end
-  end
-
-  class Error < StandardError
-    include GetText
-  end
-
-  class ImageLoadError < Error
-  end
-
-  class ImageFileDoesNotExistError < ImageLoadError
-    attr_reader :filename
-    def initialize(filename)
-      @filename = filename
-      super(_("no such file: %s") % filename)
-    end
-  end
-
-  class ImageLoadWithExternalCommandError < ImageLoadError
-    attr_reader :type, :command
-    def initialize(type, command, additional_info=nil)
-      @type = type
-      @command = command
-      format =
-        _("can't handle %s because the following command " \
-          "can't be run successfully: %s")
-      msg = format % [@type, @command]
-      msg << "\n#{additional_info}" if additional_info
-      super(msg)
-    end
-  end
-
-  class EPSCanNotHandleError < ImageLoadWithExternalCommandError
-    def initialize(command, tried_commands)
-      format = _("tried gs commands: %s")
-      additional_info = format % tried_commands.inspect
-      super("EPS", command, additional_info)
-    end
-  end
-
-  class DiaCanNotHandleError < ImageLoadWithExternalCommandError
-    def initialize(command, tried_commands)
-      format = _("tried dia commands: %s")
-      additional_info = format % tried_commands.inspect
-      super("Dia", command, additional_info)
-    end
-  end
-
-  class GIMPCanNotHandleError < ImageLoadWithExternalCommandError
-    def initialize(command, tried_commands)
-      format = _("tried gimp commands: %s")
-      additional_info = format % tried_commands.inspect
-      super("GIMP", command, additional_info)
-    end
-  end
-
-  class TeXCanNotHandleError < ImageLoadWithExternalCommandError
-    def initialize(command, additional_info=nil)
-      super("TeX", command, additional_info)
-    end
-  end
-
-  class AAFigureCanNotHandleError < ImageLoadWithExternalCommandError
-    def initialize(command, additional_info=nil)
-      super("aafigure", command, additional_info)
-    end
-  end
-
-  class BlockDiagCanNotHandleError < ImageLoadWithExternalCommandError
-    def initialize(command, additional_info=nil)
-      super("blockdiag", command, additional_info)
-    end
-  end
-
-  class UnknownPropertyError < Error
-    attr_reader :name
-    def initialize(name)
-      @name = name
-      super(_("Unknown property: %s") % name)
-    end
-  end
-
-  class CantAllocateColorError < Error
-    attr_reader :color
-    def initialize(color)
-      @color = color
-      super(_("can't allocate color: %s"), color)
-    end
-  end
-
-  class SourceUnreadableError < Error
-  end
-
-  class NotExistError < SourceUnreadableError
-    attr_reader :name
-    def initialize(name)
-      @name = name
-      super(_("not exist: %s") % @name)
-    end
-  end
-
-  class NotFileError < SourceUnreadableError
-    attr_reader :name
-    def initialize(name)
-      @name = name
-      super(_("not a file: %s") % @name)
-    end
-  end
-
-  class NotReadableError < SourceUnreadableError
-    attr_reader :name
-    def initialize(name)
-      @name = name
-      super(_("can not be read: %s") % @name)
-    end
-  end
-
-  class ImmutableSourceTypeError < Error
-    attr_reader :source_type
-    def initialize(source_type)
-      @source_type = source_type
-      super(_("immutable source type: %s") % @source_type)
-    end
-  end
-  
-  class ThemeExit < Error
-    def initialize(message=nil)
-      @have_message = !message.nil?
-      super
-    end
-
-    def have_message?
-      @have_message
-    end
-  end
-
-  class NotAvailableInterfaceError < Error
-    attr_reader :name
-    def initialize(name)
-      @name = name
-      super(_("not available interface: %s") % @name)
-    end
-  end
-
-  class CantFindHTMLTemplate < Error
-    attr_reader :name
-    def initialize(name)
-      @name = name
-      super(_("can't find HTML template: %s") % @name)
-    end
-  end
-
-  class CantFindThemeRDTemplate < Error
-    attr_reader :name
-    def initialize(name)
-      @name = name
-      super(_("can't find theme RD template: %s") % @name)
-    end
-  end
-
-  class InvalidMotionError < Error
-    attr_reader :motion
-    def initialize(motion)
-      @motion = motion
-      super(_("invalid motion: %s") % @motion)
-    end
-  end
-
-  class InvalidImageSizeError < Error
-    attr_reader :filename, :prop_name, :value
-    def initialize(filename, prop_name, value)
-      @filename = filename
-      @prop_name = prop_name
-      @value = value
-      params = {
-        :filename => filename,
-        :prop_name => prop_name,
-        :value => value,
-      }
-      super(_("invalid value of size property \"%{prop_name}\" " \
-              "of image \"%{filename}\": %{value}") % params)
-    end
-  end
-
-  class ParseFinish < Error
-  end
-
-  class ParseError < Error
-  end
-
-  class UnsupportedFormatError < Error
-  end
-
-  class ApplyFinish < Error
-  end
-
-  class UnknownCursorTypeError < Error
-    attr_reader :type
-    def intialize(type)
-      @type = type
-      super(_("unknown cursor type: %s") % @type)
-    end
-  end
-
-  class NoPrintSupportError < Error
-    def initialize
-      super(_("print isn't supported"))
+  class << self
+    def application
+      @@application ||= Gtk::Application.new(nil, :handles_command_line)
     end
   end
 end
diff --git a/lib/rabbit/readme-parser.rb b/lib/rabbit/readme-parser.rb
index f86002e..2b69d72 100644
--- a/lib/rabbit/readme-parser.rb
+++ b/lib/rabbit/readme-parser.rb
@@ -34,24 +34,77 @@ module Rabbit
       path ||= remove_backup_paths(Dir.glob("README*"))[0]
       raise _("No README found") if path.nil?
 
-      parse_content(File.read(path))
+      parse_content(File.read(path), File.extname(path))
     end
 
     private
-    HEADING_MARK_RE = /\A(?:[=*!]+|h\d\.)\s*/
-    def parse_content(content)
+    def parse_content(content, extension)
+      type = guess_type(content, extension)
+      _heading_mark_pattern = heading_mark_pattern(type)
+
       blocks = content.split(/(?:\r?\n){2,}/)
       if blocks[0]
-        @title = blocks[0].gsub(HEADING_MARK_RE, "")
+        @title = blocks[0].gsub(_heading_mark_pattern, "")
       end
       first_paragraph_blocks = []
       blocks[1..-1].each do |block|
-        break if HEADING_MARK_RE =~ block
+        break if _heading_mark_pattern =~ block
         first_paragraph_blocks << block
       end
       @description = first_paragraph_blocks.join("\n\n")
     end
 
+    def guess_type(content, extension)
+      guess_type_from_extension(extension) ||
+        guess_type_from_content(content) ||
+        :rd
+    end
+
+    def guess_type_from_extension(extension)
+      case extension.downcase
+      when ".rd", ".rab"
+        :rd
+      when ".hiki"
+        :hiki
+      when ".md"
+        :markdown
+      when ".textile"
+        :textile
+      else
+        nil
+      end
+    end
+
+    def guess_type_from_content(content)
+      case content
+      when /^==/
+        :rd
+      when /^!!/
+        :hiki
+      when /^\#\#/
+        :markdown
+      when /^h\d\./
+        :textile
+      else
+        nil
+      end
+    end
+
+    def heading_mark_pattern(type)
+      case type
+      when :rd
+        /\A=+\s*/
+      when :hiki
+        /\A!+\s*/
+      when :markdown
+        /\A\#+\s*/
+      when :textile
+        /\Ah\d\.\s*/
+      else
+        heading_mark_pattern(:rd)
+      end
+    end
+
     def remove_backup_paths(paths)
       paths.reject do |path|
         path.end_with?("~")
diff --git a/lib/rabbit/renderer.rb b/lib/rabbit/renderer.rb
index 6aee948..a1be227 100644
--- a/lib/rabbit/renderer.rb
+++ b/lib/rabbit/renderer.rb
@@ -2,7 +2,7 @@ require "rabbit/utils"
 
 require "rabbit/renderer/color"
 require "rabbit/renderer/display"
-require "rabbit/renderer/pixmap"
+require "rabbit/renderer/offscreen"
 require "rabbit/renderer/print"
 
 module Rabbit
diff --git a/lib/rabbit/renderer/base.rb b/lib/rabbit/renderer/base.rb
index c2cbdd1..39bdf62 100644
--- a/lib/rabbit/renderer/base.rb
+++ b/lib/rabbit/renderer/base.rb
@@ -1,19 +1,11 @@
 require "forwardable"
 require "erb"
-require "gtk2"
+require "rabbit/gtk"
 
 require "rabbit/rabbit"
 require "rabbit/trackball"
 require "rabbit/renderer/color"
 
-module Pango
-  class Context
-    unless method_defined?(:families)
-      alias families list_families
-    end
-  end
-end
-
 module Rabbit
   module Renderer
     module Base
@@ -24,7 +16,7 @@ module Rabbit
       include DirtyCount
 
       def_delegators(:@canvas, :reload_source)
-      
+
       attr_reader :x_dpi, :y_dpi
       attr_accessor :paper_width, :paper_height, :slides_per_page
       attr_accessor :margin_left, :margin_right
@@ -71,19 +63,19 @@ module Rabbit
       def page_margin_left
         @page_margin_left || 0
       end
-      
+
       def page_margin_right
         @page_margin_right || 0
       end
-      
+
       def page_margin_top
         @page_margin_top || 0
       end
-      
+
       def page_margin_bottom
         @page_margin_bottom || 0
       end
-      
+
       def font_families
         if @font_families.nil? or @font_families.empty?
           @font_families = create_pango_context.families
@@ -122,7 +114,7 @@ module Rabbit
       end
 
       def each_slide_pixbuf
-        canvas = off_screen_canvas
+        canvas = offscreen_canvas
         previous_index = canvas.current_index
         pre_to_pixbuf(canvas.slide_size)
         canceled = false
@@ -137,18 +129,18 @@ module Rabbit
         canvas.activate("Quit") if canvas != @canvas
       end
 
-      def off_screen_canvas
-        if off_screen_renderer?
+      def offscreen_canvas
+        if offscreen_renderer?
           @canvas
         else
-          make_canvas_with_off_screen_renderer
+          make_canvas_with_offscreen_renderer
         end
       end
 
       def create_pango_context
         Pango::Context.new
       end
-      
+
       def printable?
         false
       end
@@ -163,7 +155,7 @@ module Rabbit
 
       def setup_event(area)
       end
-      
+
       def to_attrs(hash)
         hash.collect do |key, value|
           if value
@@ -228,11 +220,11 @@ module Rabbit
       def graffiti_mode?
         false
       end
-      
+
       def have_graffiti?
         false
       end
-      
+
       def can_undo_graffiti?
         false
       end
@@ -266,10 +258,10 @@ module Rabbit
       end
 
       private
-      def off_screen_renderer?
+      def offscreen_renderer?
         false
       end
-      
+
       def do_print(&block)
         pre_print(@canvas.slide_size)
         canceled = false
@@ -296,7 +288,7 @@ module Rabbit
         canvas.toggle_index_mode if @canvas.index_mode?
         canvas
       end
-      
+
       def make_canvas_with_printable_renderer
         renderer = Renderer.printable_renderer(@canvas.slides_per_page)
         make_canvas_with_renderer(renderer) do |canvas|
@@ -308,9 +300,9 @@ module Rabbit
           canvas.slides_per_page = @canvas.slides_per_page
         end
       end
-      
-      def make_canvas_with_off_screen_renderer
-        make_canvas_with_renderer(Pixmap) do |canvas|
+
+      def make_canvas_with_offscreen_renderer
+        make_canvas_with_renderer(Offscreen) do |canvas|
           canvas.width = @canvas.width
           canvas.height = @canvas.height
           setup_3d(canvas)
@@ -321,7 +313,7 @@ module Rabbit
         canvas.margin_left = @canvas.margin_left
         canvas.margin_right = @canvas.margin_right
         canvas.margin_top = @canvas.margin_top
-        canvas.page_margin_bottom = @canvas.page_margin_bottom
+        canvas.margin_bottom = @canvas.margin_bottom
       end
 
       def setup_page_margin(canvas)
@@ -347,7 +339,7 @@ module Rabbit
 
       def setup_flag_params(pole_height, default_flag_width_ratio, params)
         params = params.dup
-        
+
         text = params["text"]
         text_attrs = params["text_attributes"] || {}
         if text
@@ -366,7 +358,7 @@ module Rabbit
           params["layout"] = nil
           flag_width_default = flag_height_default = nil
         end
-        
+
         params["pole_width"] = params["pole_width"] || 2
         params["pole_color"] ||= "black"
         flag_height = params["flag_height"] ||
diff --git a/lib/rabbit/renderer/color.rb b/lib/rabbit/renderer/color.rb
index 69ae85f..f4b1e3f 100644
--- a/lib/rabbit/renderer/color.rb
+++ b/lib/rabbit/renderer/color.rb
@@ -1,4 +1,4 @@
-require "gtk2"
+require "rabbit/gtk"
 
 require "rabbit/rabbit"
 
@@ -44,7 +44,7 @@ module Rabbit
       end
 
       alias have_alpha? have_alpha
-      
+
       def to_s
         "#%04X%04X%04X%04X" % to_gdk_rgba
       end
@@ -56,7 +56,7 @@ module Rabbit
           [red, green, blue]
         end
       end
-      
+
       def to_gdk_rgb
         to_gdk_rgba[0..-2]
       end
@@ -70,10 +70,18 @@ module Rabbit
       def to_gdk_format
         to_s.gsub(/[a-z0-9]{4}\z/i, '')
       end
-      
+
       def to_gdk_color
         Gdk::Color.new(*to_gdk_rgb)
       end
+
+      def to_css_rgba
+        red_percent = (red * 100).ceil
+        green_percent = (green * 100).ceil
+        blue_percent = (blue * 100).ceil
+        a = alpha || 1.0
+        "rgba(#{red_percent}%, #{green_percent}%, #{blue_percent}%, #{a})"
+      end
     end
   end
 end
diff --git a/lib/rabbit/renderer/display/base.rb b/lib/rabbit/renderer/display/base.rb
index e841ae1..9afdef8 100644
--- a/lib/rabbit/renderer/display/base.rb
+++ b/lib/rabbit/renderer/display/base.rb
@@ -10,22 +10,35 @@ module Rabbit
 
         def initialize(*args, &block)
           @drawable = nil
+          @size = nil
+          @size_dirty = true
+          @default_size_ratio = nil
+          @size_ratio = nil
           super
         end
 
         def width
-          if @drawable
-            @drawable.size[0]
+          refresh_size
+          if @size
+            @size.logical_width
+          else
+            nil
           end
         end
-        alias original_width width
 
         def height
-          if @drawable
-            @drawable.size[1]
+          refresh_size
+          if @size
+            @size.logical_height
+          else
+            nil
           end
         end
-        alias original_height height
+
+        def size
+          refresh_size
+          @size
+        end
 
         def redraw
           widget.queue_draw
@@ -81,7 +94,86 @@ module Rabbit
           @canvas.update_title(@canvas.slide_title)
         end
 
+        def draw_slide(slide, simulation)
+          set_size_ratio(slide.size_ratio || @default_size_ratio)
+
+          if simulation
+            super
+          else
+            save_context do
+              translate_context(@size.logical_margin_left,
+                                @size.logical_margin_top)
+              super
+            end
+
+            unless @size.have_logical_margin?
+              return
+            end
+
+            margin_background = make_color("black")
+            if @size.have_logical_margin_x?
+              draw_rectangle(true,
+                             0,
+                             0,
+                             @size.logical_margin_left,
+                             @size.real_height,
+                             margin_background)
+              draw_rectangle(true,
+                             @size.real_width - @size.logical_margin_right,
+                             0,
+                             @size.logical_margin_right,
+                             @size.real_height,
+                             margin_background)
+            end
+            if @size.have_logical_margin_y?
+              draw_rectangle(true,
+                             0,
+                             0,
+                             @size.real_width,
+                             @size.logical_margin_top,
+                             margin_background)
+              draw_rectangle(true,
+                             0,
+                             @size.real_height - @size.logical_margin_bottom,
+                             @size.real_width,
+                             @size.logical_margin_bottom,
+                             margin_background)
+            end
+          end
+        end
+
         private
+        def set_drawable(drawable)
+          @drawable = drawable
+          w = @drawable.width
+          h = @drawable.height
+          @default_size_ratio = w.to_f / h.to_f
+          @size_ratio = @default_size_ratio
+          set_size(w, h)
+        end
+
+        def set_size(w, h)
+          @size = Size.new(w, h, @size_ratio)
+        end
+
+        def set_size_ratio(ratio)
+          return if @size.ratio == ratio
+
+          w = @size.real_width
+          h = @size.real_height
+          @size_ratio = ratio
+          @size = Size.new(w, h, @size_ratio)
+        end
+
+        def refresh_size
+          return unless @size_dirty
+
+          @size = Size.new(@drawable.width,
+                           @drawable.height,
+                           @size.ratio)
+          @size_dirty = false
+        end
+
         def set_configure_event
           id = @window.signal_connect("configure_event") do |widget, event|
             configured(event.x, event.y, event.width, event.height)
@@ -91,6 +183,7 @@ module Rabbit
         end
 
         def configured(x, y, w, h)
+          @size_dirty = true
         end
 
         def queue_draw
diff --git a/lib/rabbit/renderer/display/button-handler.rb b/lib/rabbit/renderer/display/button-handler.rb
index fe269ef..0b04351 100644
--- a/lib/rabbit/renderer/display/button-handler.rb
+++ b/lib/rabbit/renderer/display/button-handler.rb
@@ -1,4 +1,4 @@
-require 'gtk2'
+require 'rabbit/gtk'
 
 module Rabbit
   module Renderer
@@ -46,9 +46,9 @@ module Rabbit
         end
 
         BUTTON_PRESS_HANDLER = {
-          Gdk::Event::Type::BUTTON_PRESS => "handle_button_press",
-          Gdk::Event::Type::BUTTON2_PRESS => "handle_button2_press",
-          Gdk::Event::Type::BUTTON3_PRESS => "handle_button3_press",
+          Gdk::EventType::BUTTON_PRESS => "handle_button_press",
+          Gdk::EventType::BUTTON2_PRESS => "handle_button2_press",
+          Gdk::EventType::BUTTON3_PRESS => "handle_button3_press",
         }
 
         def handle_button_release(event, last_button_press_event)
@@ -129,9 +129,9 @@ module Rabbit
           else
             @button_handling = true
             @button_event_coming = false
-            Gtk.timeout_add(BUTTON_PRESS_ACCEPTING_TIME) do
+            GLib::Timeout.add(BUTTON_PRESS_ACCEPTING_TIME) do
               if @button_event_coming
-                Gtk.timeout_add(BUTTON_PRESS_ACCEPTING_TIME) do
+                GLib::Timeout.add(BUTTON_PRESS_ACCEPTING_TIME) do
                   call_button_handler
                   @button_handling = false
                   false
diff --git a/lib/rabbit/renderer/display/clutter-embed.rb b/lib/rabbit/renderer/display/clutter-embed.rb
index 5e46d43..cd2e13b 100644
--- a/lib/rabbit/renderer/display/clutter-embed.rb
+++ b/lib/rabbit/renderer/display/clutter-embed.rb
@@ -254,11 +254,11 @@ module Rabbit
           set_expose_event
           set_configure_event_after
 
-          event_mask = Gdk::Event::BUTTON_PRESS_MASK
-          event_mask |= Gdk::Event::BUTTON_RELEASE_MASK
-          event_mask |= Gdk::Event::BUTTON1_MOTION_MASK
-          event_mask |= Gdk::Event::BUTTON2_MOTION_MASK
-          event_mask |= Gdk::Event::BUTTON3_MOTION_MASK
+          event_mask = Gdk::EventMask::BUTTON_PRESS_MASK
+          event_mask |= Gdk::EventMask::BUTTON_RELEASE_MASK
+          event_mask |= Gdk::EventMask::BUTTON1_MOTION_MASK
+          event_mask |= Gdk::EventMask::BUTTON2_MOTION_MASK
+          event_mask |= Gdk::EventMask::BUTTON3_MOTION_MASK
           @embed.add_events(event_mask)
           set_key_press_event(@embed)
           set_button_event(@embed)
@@ -291,7 +291,7 @@ module Rabbit
 
         def set_map
           @embed.signal_connect("map") do |widget, event|
-            @drawable = widget.window
+            set_drawable(widget.window)
             false
           end
         end
@@ -494,10 +494,10 @@ module Rabbit
         def grab
           Gtk.grab_add(@embed)
           Gdk.pointer_grab(@embed.window, false,
-                           Gdk::Event::BUTTON_PRESS_MASK |
-                           Gdk::Event::BUTTON_RELEASE_MASK |
-                           Gdk::Event::SCROLL_MASK |
-                           Gdk::Event::POINTER_MOTION_MASK,
+                           Gdk::EventMask::BUTTON_PRESS_MASK |
+                           Gdk::EventMask::BUTTON_RELEASE_MASK |
+                           Gdk::EventMask::SCROLL_MASK |
+                           Gdk::EventMask::POINTER_MOTION_MASK,
                            nil, nil,
                            Gdk::Event::CURRENT_TIME)
         end
diff --git a/lib/rabbit/renderer/display/drawing-area-base.rb b/lib/rabbit/renderer/display/drawing-area-base.rb
index c854b77..a0c4121 100644
--- a/lib/rabbit/renderer/display/drawing-area-base.rb
+++ b/lib/rabbit/renderer/display/drawing-area-base.rb
@@ -1,5 +1,5 @@
 require "rabbit/renderer/display/drawing-area-primitive"
-require 'rabbit/renderer/display/menu'
+require "rabbit/renderer/display/menu"
 require "rabbit/renderer/display/progress"
 require "rabbit/renderer/display/mask"
 require "rabbit/renderer/display/search"
@@ -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
 
@@ -239,10 +243,10 @@ module Rabbit
 
         private
         def add_widgets_to_container(container)
-          @hbox = Gtk::HBox.new
-          @vbox = Gtk::VBox.new
-          @vbox.pack_start(@area, true, true, 0)
-          @hbox.pack_end(@vbox, true, true, 0)
+          @hbox = Gtk::Box.new(:horizontal)
+          @vbox = Gtk::Box.new(:vertical)
+          @vbox.pack_start(@area, :expand => true, :fill => true, :padding => 0)
+          @hbox.pack_end(@vbox, :expand => true, :fill => true, :padding => 0)
           if block_given?
             yield(container, @hbox)
           else
@@ -259,11 +263,12 @@ module Rabbit
 
         def init_drawing_area
           super
-          event_mask = Gdk::Event::BUTTON_PRESS_MASK
-          event_mask |= Gdk::Event::BUTTON_RELEASE_MASK
-          event_mask |= Gdk::Event::BUTTON1_MOTION_MASK
-          event_mask |= Gdk::Event::BUTTON2_MOTION_MASK
-          event_mask |= Gdk::Event::BUTTON3_MOTION_MASK
+          event_mask = Gdk::EventMask::BUTTON_PRESS_MASK
+          event_mask |= Gdk::EventMask::BUTTON_RELEASE_MASK
+          event_mask |= Gdk::EventMask::BUTTON1_MOTION_MASK
+          event_mask |= Gdk::EventMask::BUTTON2_MOTION_MASK
+          event_mask |= Gdk::EventMask::BUTTON3_MOTION_MASK
+          event_mask |= Gdk::EventMask::SCROLL_MASK
           @area.add_events(event_mask)
           set_key_press_event(@area)
           set_button_event(@area)
@@ -271,46 +276,37 @@ module Rabbit
           set_scroll_event(@area)
         end
 
-        def mapped(widget)
-          super
-          @white = Gdk::GC.new(@drawable)
-          @white.set_rgb_fg_color(Color.parse("white").to_gdk_color)
-          @black = Gdk::GC.new(@drawable)
-          @black.set_rgb_fg_color(Color.parse("black").to_gdk_color)
-        end
-
         def set_motion_notify_event
           @area.signal_connect("motion_notify_event") do |widget, event|
             call_hook_procs(@motion_notify_hook_procs, event)
           end
         end
 
-        def exposed(widget, event)
+        def paint(color_name)
+          context = @drawable.create_cairo_context
+          context.set_source_rgb(*Color.parse(color_name).to_gdk_rgb)
+          context.paint
+        end
+
+        def draw(widget, context)
           reload_source unless @caching
 
           if whiteouting?
-            @drawable.draw_rectangle(@white, true, 0, 0,
-                                     original_width, original_height)
+            paint("white")
           elsif blackouting?
-            @drawable.draw_rectangle(@black, true, 0, 0,
-                                     original_width, original_height)
+            paint("black")
           else
             super
             draw_graffiti
             draw_gesture
             draw_spotlight
           end
-          true
         end
 
         def draw_slide(slide, simulation, &block)
           super do |*args|
-            # block.call(*args)
-            # magnify {block.call(*args)} unless simulation
-            ## the below codes are workaround for
-            ## http://redmine.ruby-lang.org/issues/show/2600
-            yield(*args)
-            magnify {yield(*args)} unless simulation
+            block.call(*args)
+            magnify {block.call(*args)} unless simulation
           end
         end
 
diff --git a/lib/rabbit/renderer/display/drawing-area-primitive.rb b/lib/rabbit/renderer/display/drawing-area-primitive.rb
index a0af5ba..afc1cb5 100644
--- a/lib/rabbit/renderer/display/drawing-area-primitive.rb
+++ b/lib/rabbit/renderer/display/drawing-area-primitive.rb
@@ -1,4 +1,4 @@
-require 'gtk2'
+require 'rabbit/gtk'
 
 require "rabbit/utils"
 require "rabbit/renderer/engine"
@@ -116,7 +116,7 @@ module Rabbit
           @area = Gtk::DrawingArea.new
           @area.can_focus = true
           set_map
-          set_expose_event
+          set_draw
           set_configure_event_after
         end
 
@@ -131,22 +131,31 @@ module Rabbit
         end
 
         def mapped(widget)
-          @drawable = widget.window
+          set_drawable(widget.window)
           prepare_renderer(@drawable)
         end
 
-        def set_expose_event
-          @area.signal_connect("expose_event") do |widget, event|
-            init_renderer(@drawable)
-            result = exposed(widget, event)
-            finish_renderer
-            result
+        def set_draw
+          stop_events = false
+          if @area.class.signals.include?("draw")
+            @area.signal_connect("draw") do |widget, context|
+              init_context(context)
+              draw(widget, context)
+              finish_renderer
+              stop_events
+            end
+          else
+            @area.signal_connect("expose_event") do |widget, event|
+              init_renderer(@drawable)
+              draw(widget, @drawable.create_cairo_context)
+              finish_renderer
+              stop_events
+            end
           end
         end
 
-        def exposed(widget, event)
+        def draw(widget, context)
           draw_current_slide
-          true
         end
 
         def draw_current_slide
@@ -162,14 +171,26 @@ module Rabbit
         end
 
         def set_configure_event_after
+          prev_x = prev_y = prev_width = prev_height = nil
           @area.signal_connect_after("configure_event") do |widget, event|
-            configured_after(widget, event)
+            prev_x ||= event.x
+            prev_y ||= event.y
+            prev_width ||= event.width
+            prev_height ||= event.height
+            if [prev_x, prev_y, prev_width, prev_height] !=
+                [event.x, event.y, event.width, event.height]
+              configured_after(widget, event)
+            end
+            prev_x = event.x
+            prev_y = event.y
+            prev_width = event.width
+            prev_height = event.height
+            false
           end
         end
 
         def configured_after(widget, event)
           reload_theme if @drawable
-          false
         end
 
         def reload_theme(&callback)
@@ -197,10 +218,10 @@ module Rabbit
         def grab
           Gtk.grab_add(@area)
           Gdk.pointer_grab(@area.window, false,
-                           Gdk::Event::BUTTON_PRESS_MASK |
-                           Gdk::Event::BUTTON_RELEASE_MASK |
-                           Gdk::Event::SCROLL_MASK |
-                           Gdk::Event::POINTER_MOTION_MASK,
+                           Gdk::EventMask::BUTTON_PRESS_MASK |
+                           Gdk::EventMask::BUTTON_RELEASE_MASK |
+                           Gdk::EventMask::SCROLL_MASK |
+                           Gdk::EventMask::POINTER_MOTION_MASK,
                            nil, nil,
                            Gdk::Event::CURRENT_TIME)
         end
diff --git a/lib/rabbit/renderer/display/drawing-area-view-only.rb b/lib/rabbit/renderer/display/drawing-area-view-only.rb
index 0699544..942dc03 100644
--- a/lib/rabbit/renderer/display/drawing-area-view-only.rb
+++ b/lib/rabbit/renderer/display/drawing-area-view-only.rb
@@ -5,7 +5,7 @@ module Rabbit
   module Renderer
     module Display
       class DrawingAreaViewOnly
-        include Renderer::Engine.renderer_module
+        include Renderer::Engine::Cairo
         include DrawingAreaPrimitive
 
         def attach_to(window, container=nil, &block)
diff --git a/lib/rabbit/renderer/display/drawing-area.rb b/lib/rabbit/renderer/display/drawing-area.rb
index 3c96454..f4e46fa 100644
--- a/lib/rabbit/renderer/display/drawing-area.rb
+++ b/lib/rabbit/renderer/display/drawing-area.rb
@@ -5,7 +5,7 @@ module Rabbit
   module Renderer
     module Display
       class DrawingArea
-        include Renderer::Engine.renderer_module
+        include Renderer::Engine::Cairo
         include DrawingAreaBase
 
         class << self
diff --git a/lib/rabbit/renderer/display/gesture.rb b/lib/rabbit/renderer/display/gesture.rb
index 68b13c9..4981373 100644
--- a/lib/rabbit/renderer/display/gesture.rb
+++ b/lib/rabbit/renderer/display/gesture.rb
@@ -15,7 +15,7 @@ module Rabbit
 
           pressed_info = nil
           target_button = 3
-          target_event_type = Gdk::Event::Type::BUTTON_PRESS
+          target_event_type = Gdk::EventType::BUTTON_PRESS
           target_info = [target_button, target_event_type]
 
           add_button_press_hook do |event|
diff --git a/lib/rabbit/renderer/display/info.rb b/lib/rabbit/renderer/display/info.rb
index cb8fa5b..4aa52c7 100644
--- a/lib/rabbit/renderer/display/info.rb
+++ b/lib/rabbit/renderer/display/info.rb
@@ -25,6 +25,11 @@ module Rabbit
           @info_window.hide
         end
 
+        def post_parse
+          super
+          @info_window.parsed
+        end
+
         def post_move(old_index, index)
           super
           @info_window.moved(index)
diff --git a/lib/rabbit/renderer/display/key-handler.rb b/lib/rabbit/renderer/display/key-handler.rb
index 3df6ab2..1630ea4 100644
--- a/lib/rabbit/renderer/display/key-handler.rb
+++ b/lib/rabbit/renderer/display/key-handler.rb
@@ -1,4 +1,4 @@
-require 'gtk2'
+require 'rabbit/gtk'
 
 require "rabbit/keys"
 
@@ -67,30 +67,30 @@ module Rabbit
         end
 
         def init_number_keys
-          no_mod = Gdk::Window::ModifierType.new
+          no_mod = Gdk::ModifierType.new
           mods = Utils.combination([
-                                    Gdk::Window::ModifierType::CONTROL_MASK,
-                                    Gdk::Window::ModifierType::MOD1_MASK,
+                                    Gdk::ModifierType::CONTROL_MASK,
+                                    Gdk::ModifierType::MOD1_MASK,
                                    ])
           mods.each do |mod|
             mod = mod.inject(no_mod) do |result, item|
               result | item
             end
-            keys = (0..9).collect{|i| Gdk::Keyval.const_get("GDK_KEY_#{i}")}
+            keys = (0..9).collect{|i| Gdk::Keyval.const_get("KEY_#{i}")}
             set_keys(keys, mod) do |group, obj, val, modifier|
-              index = calc_slide_number(val - Gdk::Keyval::GDK_KEY_0, modifier)
+              index = calc_slide_number(val - Gdk::Keyval::KEY_0, modifier)
               @canvas.activate("JumpTo") {index}
             end
-            keys = (0..9).collect{|i| Gdk::Keyval.const_get("GDK_KEY_KP_#{i}")}
+            keys = (0..9).collect{|i| Gdk::Keyval.const_get("KEY_KP_#{i}")}
             set_keys(keys, mod) do |group, obj, val, modifier|
-              index = calc_slide_number(val - Gdk::Keyval::GDK_KEY_KP_0, modifier)
+              index = calc_slide_number(val - Gdk::Keyval::KEY_KP_0, modifier)
               @canvas.activate("JumpTo") {index}
             end
           end
         end
 
         def init_no_prefix_keys
-          mod = Gdk::Window::ModifierType.new
+          mod = Gdk::ModifierType.new
 
           keys = Keys::QUIT_KEYS
           set_keys(keys, mod) do |group, obj, val, modifier|
@@ -148,14 +148,10 @@ 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
-          mod = Gdk::Window::SHIFT_MASK
+          mod = Gdk::ModifierType::SHIFT_MASK
 
           keys = Keys::Shift::WHITE_OUT_KEYS
           set_keys(keys, mod) do |group, obj, val, modifier|
@@ -188,7 +184,7 @@ module Rabbit
         end
 
         def init_control_keys
-          mod = Gdk::Window::CONTROL_MASK
+          mod = Gdk::ModifierType::CONTROL_MASK
 
           keys = Keys::Control::CLEAR_GRAFFITI_KEYS
           set_keys(keys, mod) do |group, obj, val, modifier|
@@ -239,7 +235,7 @@ module Rabbit
         end
 
         def init_alt_keys
-          mod = Gdk::Window::MOD1_MASK
+          mod = Gdk::ModifierType::MOD1_MASK
 
           keys = Keys::Alt::RESET_ADJUSTMENT_KEYS
           set_keys(keys, mod) do |group, obj, val, modifier|
@@ -254,16 +250,16 @@ module Rabbit
 
         def set_key_press_event(widget)
           prev_keys = [
-            Gdk::Keyval::GDK_KEY_Up,
-            Gdk::Keyval::GDK_KEY_Left,
-            Gdk::Keyval::GDK_KEY_KP_Up,
-            Gdk::Keyval::GDK_KEY_KP_Left,
+            Gdk::Keyval::KEY_Up,
+            Gdk::Keyval::KEY_Left,
+            Gdk::Keyval::KEY_KP_Up,
+            Gdk::Keyval::KEY_KP_Left,
           ]
           next_keys = [
-            Gdk::Keyval::GDK_KEY_Right,
-            Gdk::Keyval::GDK_KEY_Down,
-            Gdk::Keyval::GDK_KEY_KP_Right,
-            Gdk::Keyval::GDK_KEY_KP_Down,
+            Gdk::Keyval::KEY_Right,
+            Gdk::Keyval::KEY_Down,
+            Gdk::Keyval::KEY_KP_Right,
+            Gdk::Keyval::KEY_KP_Down,
           ]
           widget.signal_connect("key_press_event") do |_widget, event|
             handled = true
diff --git a/lib/rabbit/renderer/display/magnifier.rb b/lib/rabbit/renderer/display/magnifier.rb
index 314bb88..16ff3c9 100644
--- a/lib/rabbit/renderer/display/magnifier.rb
+++ b/lib/rabbit/renderer/display/magnifier.rb
@@ -33,7 +33,7 @@ module Rabbit
           @magnifier_center_y = nil
 
           target_button = 3
-          target_event_type = Gdk::Event::BUTTON_PRESS
+          target_event_type = Gdk::EventType::BUTTON_PRESS
           target_info = [target_button, target_event_type]
 
           add_button_press_hook do |event|
@@ -93,15 +93,17 @@ module Rabbit
 
           w = width / 1.5
           h = height / 1.5
-          x = @magnifier_center_x - w / 2
-          y = @magnifier_center_y - h / 2
+          center_x = @magnifier_center_x - size.logical_margin_left
+          center_y = @magnifier_center_y - size.logical_margin_top
+          x = center_x - w / 2
+          y = center_y - h / 2
           r = w * 0.1
           save_context do
             clip_block = Proc.new do
               draw_rectangle(true, 0, 0, width, height, @background)
-              translate_context(@magnifier_center_x, @magnifier_center_y)
+              translate_context(center_x, center_y)
               scale_context(@magnifier_ratio, @magnifier_ratio)
-              translate_context(- at magnifier_center_x, - at magnifier_center_y)
+              translate_context(-center_x, -center_y)
               block.call
             end
             draw_rounded_rectangle(false, x, y, w, h, r, nil,
diff --git a/lib/rabbit/renderer/display/mask.rb b/lib/rabbit/renderer/display/mask.rb
index 51c3230..3587d77 100644
--- a/lib/rabbit/renderer/display/mask.rb
+++ b/lib/rabbit/renderer/display/mask.rb
@@ -1,4 +1,4 @@
-require 'gtk2'
+require 'rabbit/gtk'
 
 module Rabbit
   module Renderer
@@ -31,36 +31,31 @@ module Rabbit
 
         def set_hole
           if @mask_size <= 0
-            @window.shape_combine_mask(nil, 0, 0)
+            @window.shape_combine_region(nil)
           else
-            setup_mask if @mask.nil?
-            w, h = width, height
-            @mask.draw_rectangle(@set_gc, true, 0, 0, w, h)
-            mw = w * @mask_size
-            mh = h * @mask_size
-            mx = (w - mw) / 2
-            my = (h - mh) / 2
-            @mask.draw_rectangle(@xor_gc, true, mx, my, mw, mh)
-            @window.shape_combine_mask(@mask, 0, 0)
+            _size = size
+            w, h = _size.real_width, _size.real_height
+            @mask = Cairo::Region.new
+            @mask.union!(0, 0, w, h)
+            if @mask_size < 1.0
+              mw = w * @mask_size
+              mh = h * @mask_size
+              mx = (w - mw) / 2
+              my = (h - mh) / 2
+              @mask.subtract!(mx, my, mw, mh)
+            else
+              @mask.subtract!(0, 0, w - 1, h)
+            end
+            @window.shape_combine_region(@mask)
           end
+          redraw
           update_title # for xfwm
         end
 
         private
         def init_mask
-          @mask = nil
           @mask_size = 0
         end
-
-        def setup_mask
-          @mask = Gdk::Pixmap.new(nil, width, height, 1)
-          @xor_gc = Gdk::GC.new(@mask)
-          @xor_gc.set_function(Gdk::GC::INVERT)
-          @set_gc = Gdk::GC.new(@mask)
-          @set_gc.set_function(Gdk::GC::SET)
-          @clear_gc = Gdk::GC.new(@mask)
-          @clear_gc.set_function(Gdk::GC::CLEAR)
-        end
       end
     end
   end
diff --git a/lib/rabbit/renderer/display/progress.rb b/lib/rabbit/renderer/display/progress.rb
index 81acb09..6d69ece 100644
--- a/lib/rabbit/renderer/display/progress.rb
+++ b/lib/rabbit/renderer/display/progress.rb
@@ -39,7 +39,7 @@ module Rabbit
 
         def end_progress
           @progress.end_progress
-          Gtk.timeout_add(100) do
+          GLib::Timeout.add(100) do
             @progress.window.hide
             update_menu
             false
diff --git a/lib/rabbit/renderer/display/scroll-handler.rb b/lib/rabbit/renderer/display/scroll-handler.rb
index e111f48..3753f63 100644
--- a/lib/rabbit/renderer/display/scroll-handler.rb
+++ b/lib/rabbit/renderer/display/scroll-handler.rb
@@ -1,4 +1,4 @@
-require 'gtk2'
+require 'rabbit/gtk'
 
 module Rabbit
   module Renderer
@@ -19,9 +19,9 @@ module Rabbit
             unless handled
               handled = true
               case event.direction
-              when Gdk::EventScroll::Direction::UP
+              when Gdk::ScrollDirection::UP
                 @canvas.activate("PreviousSlide")
-              when Gdk::EventScroll::Direction::DOWN
+              when Gdk::ScrollDirection::DOWN
                 @canvas.activate("NextSlide")
               else
                 handled = false
diff --git a/lib/rabbit/renderer/display/search.rb b/lib/rabbit/renderer/display/search.rb
index db05007..46b8eee 100644
--- a/lib/rabbit/renderer/display/search.rb
+++ b/lib/rabbit/renderer/display/search.rb
@@ -55,8 +55,13 @@ module Rabbit
           entry = @search_window.entry
           direction = @search_window.direction
           entry.signal_connect("key_press_event") do |widget, key|
-            if key.state == Gdk::Window::ModifierType.new
-              false
+            if key.state == Gdk::ModifierType.new
+              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/renderer/display/spotlight.rb b/lib/rabbit/renderer/display/spotlight.rb
index 745ada0..dba741d 100644
--- a/lib/rabbit/renderer/display/spotlight.rb
+++ b/lib/rabbit/renderer/display/spotlight.rb
@@ -33,7 +33,7 @@ module Rabbit
           @spotlight_center_y = nil
 
           target_button = 3
-          target_event_type = Gdk::Event::BUTTON2_PRESS
+          target_event_type = Gdk::EventType::BUTTON2_PRESS
           target_info = [target_button, target_event_type]
 
           add_button_press_hook do |event|
@@ -101,7 +101,7 @@ module Rabbit
               :color_stops => color_stops,
             }
           }
-          draw_rectangle(true, 0, 0, width, height, nil, params)
+          draw_rectangle(true, 0, 0, size.real_width, size.real_height, nil, params)
         end
 
         def spotlighting?
diff --git a/lib/rabbit/renderer/engine.rb b/lib/rabbit/renderer/engine.rb
index 855e06c..6373034 100644
--- a/lib/rabbit/renderer/engine.rb
+++ b/lib/rabbit/renderer/engine.rb
@@ -1,18 +1 @@
-require 'rabbit/utils'
-
-module Rabbit
-  module Renderer
-    module Engine
-      extend Utils
-
-      dir = ::File.join("rabbit", "renderer", "engine")
-      require_files_under_directory_in_load_path(dir)
-
-      class << self
-        def renderer_module
-          corresponding_module_under_module(self)
-        end
-      end
-    end
-  end
-end
+require "rabbit/renderer/engine/cairo"
diff --git a/lib/rabbit/renderer/engine/cairo.rb b/lib/rabbit/renderer/engine/cairo.rb
index 8bc3bcd..534faf1 100644
--- a/lib/rabbit/renderer/engine/cairo.rb
+++ b/lib/rabbit/renderer/engine/cairo.rb
@@ -1,40 +1,8 @@
-require 'cairo'
-
-require 'rabbit/renderer/kernel'
-
-module Cairo
-  class Context
-    unless instance_methods.include?("rounded_rectangle")
-      def rounded_rectangle(x, y, width, height, x_radius, y_radius=nil)
-        x1 = x
-        x2 = x1 + width
-        y1 = y
-        y2 = y1 + height
-
-        y_radius ||= x_radius
-
-        x_radius = [x_radius, width / 2].min
-        y_radius = [y_radius, height / 2].min
-
-        xr1 = x_radius
-        xr2 = x_radius / 2.0
-        yr1 = y_radius
-        yr2 = y_radius / 2.0
-
-        move_to(x1 + xr1, y1)
-        line_to(x2 - xr1, y1)
-        curve_to(x2 - xr2, y1, x2, y1 + yr2, x2, y1 + yr1)
-        line_to(x2, y2 - yr1)
-        curve_to(x2, y2 - yr2, x2 - xr2, y2, x2 - xr1, y2)
-        line_to(x1 + xr1, y2)
-        curve_to(x1 + xr2, y2, x1, y2 - yr2, x1, y2 - yr1)
-        line_to(x1, y1 + yr1)
-        curve_to(x1, y1 + yr2, x1 + xr2, y1, x1 + xr1, y1)
-        close_path
-      end
-    end
-  end
-end
+require "cairo"
+require "stringio"
+
+require "rabbit/image-data-loader"
+require "rabbit/renderer/kernel"
 
 module Rabbit
   module Renderer
@@ -42,33 +10,6 @@ module Rabbit
       module Cairo
         include Kernel
 
-        @@rsvg_available = nil
-        @@poppler_available = nil
-
-        class << self
-          def available_with_gdk?
-            Gdk.respond_to?(:cairo_available?) and Gdk.cairo_available?
-          end
-
-          def available_with_gdk_pixbuf?
-            Gdk::Pixbuf.respond_to?(:cairo_available?) and
-              Gdk::Pixbuf.cairo_available?
-          end
-
-          def available_with_pango?
-            Pango.respond_to?(:cairo_available?) and Pango.cairo_available?
-          end
-
-          def priority
-            if available_with_gdk? and available_with_gdk_pixbuf? and
-                available_with_pango?
-              100
-            else
-              -100
-            end
-          end
-        end
-
         attr_writer :foreground, :background
 
         def alpha_available?
@@ -245,7 +186,12 @@ module Rabbit
             set_source(color, params)
             set_line_options(params)
             @context.move_to(x, y)
-            @context.show_pango_layout(layout)
+            if params[:stroke]
+              @context.pango_layout_path(layout)
+              apply_cairo_action(false, params)
+            else
+              @context.show_pango_layout(layout)
+            end
           end
         end
 
@@ -298,13 +244,6 @@ module Rabbit
           end
         end
 
-        def rsvg_available?
-          if @@rsvg_available.nil?
-            @@rsvg_available = RSVG.cairo_available?
-          end
-          @@rsvg_available
-        end
-
         def draw_rsvg_handle(handle, x, y, params={})
           x, y = from_screen(x, y)
           dim = handle.dimensions
@@ -320,13 +259,6 @@ module Rabbit
                                       params)
         end
 
-        def poppler_available?
-          if @@poppler_available.nil?
-            @@poppler_available = Poppler.cairo_available?
-          end
-          @@poppler_available
-        end
-
         def draw_poppler_page(page, x, y, params={})
           x, y = from_screen(x, y)
           w, h = page.size
@@ -339,11 +271,21 @@ module Rabbit
           end
         end
 
+        def draw_link(uri)
+          if @context.respond_to?(:tag)
+            @context.tag(::Cairo::Tag::LINK, "uri='#{uri}'") do
+              yield
+            end
+          else
+            yield
+          end
+        end
+
         def make_layout(text)
-          attrs, text = Pango.parse_markup(text)
+          attributes, text = Pango.parse_markup(text)
           layout = @context.create_pango_layout
           layout.text = text
-          layout.set_attributes(attrs)
+          layout.attributes = attributes
           set_font_resolution(layout.context)
           @context.update_pango_layout(layout)
           layout
@@ -488,15 +430,17 @@ module Rabbit
           return unless params
 
           dim = handle.dimensions
-          surface = ::Cairo::ImageSurface.new(:argb32, width, height)
-          context = ::Cairo::Context.new(surface)
-          context.scale(width / dim.width, height / dim.height)
-          context.render_rsvg_handle(handle)
-          png = Tempfile.new("rabbit-cairo-svg-renderer")
-          context.target.write_to_png(png.path)
-          context.target.finish
-          pixbuf = Gdk::Pixbuf.new(png.path)
-          _draw_reflected_pixbuf(pixbuf, x, y, params)
+          ::Cairo::ImageSurface.new(:argb32, width, height) do |surface|
+            ::Cairo::Context.new(surface) do |context|
+              context.scale(width / dim.width, height / dim.height)
+              context.render_rsvg_handle(handle)
+              png = StringIO.new
+              context.target.write_to_png(png)
+              loader = ImageDataLoader.new(png.string)
+              loader.load
+              _draw_reflected_pixbuf(loader.pixbuf, x, y, params)
+            end
+          end
         end
 
         def set_line_options(params)
diff --git a/lib/rabbit/renderer/engine/gdk.rb b/lib/rabbit/renderer/engine/gdk.rb
deleted file mode 100644
index 3b51524..0000000
--- a/lib/rabbit/renderer/engine/gdk.rb
+++ /dev/null
@@ -1,230 +0,0 @@
-require 'gtk2'
-
-require 'rabbit/renderer/kernel'
-
-module Rabbit
-  module Renderer
-    module Engine
-      module GDK
-        include Kernel
-
-        class << self
-          def priority
-            0
-          end
-        end
-
-        def prepare_renderer(drawable)
-          @gdk_drawables ||= []
-          @gdk_drawable = drawable
-          @gdk_drawables.push(@gdk_drawable)
-        end
-
-        def init_renderer(drawable)
-          prepare_renderer(drawable)
-        end
-
-        def finish_renderer
-          @gdk_drawables.pop
-          @gdk_drawable = @gdk_drawables.pop
-        end
-
-        def alpha_available?
-          false
-        end
-
-        def foreground=(color)
-          @foreground.set_rgb_fg_color(color.to_gdk_color)
-        end
-
-        def background=(color)
-          @background.set_rgb_fg_color(color.to_gdk_color)
-        end
-
-        def background_image=(pixbuf)
-          w, h = pixbuf.width, pixbuf.height
-          pixmap = Gdk::Pixmap.new(nil, w, h, depth)
-          pixmap.draw_rectangle(@background, true, 0, 0, w, h)
-          args = [
-                  @foreground, pixbuf,
-                  0, 0, 0, 0, w, h,
-                  Gdk::RGB::DITHER_NORMAL, 0, 0,
-                 ]
-          pixmap.draw_pixbuf(*args)
-          @background.set_tile(pixmap)
-          @background.fill = Gdk::GC::Fill::TILED
-        end
-
-        def draw_line(x1, y1, x2, y2, color=nil, params={})
-          gc = make_gc(color, params)
-          return if gc.nil?
-          @gdk_drawable.draw_line(gc, x1, y1, x2, y2)
-        end
-
-        def draw_lines(points, color=nil, params={})
-          gc = make_gc(color, params)
-          return if gc.nil?
-          @gdk_drawable.draw_lines(gc, points)
-        end
-
-        def draw_rectangle(filled, x, y, w, h, color=nil, params={})
-          gc = make_gc(color, params)
-          return if gc.nil?
-          @gdk_drawable.draw_rectangle(gc, filled, x, y, w, h)
-        end
-
-        def draw_rounded_rectangle(filled, x, y, w, h, radius, color=nil, params={})
-          x_radius = params[:x_radius] || radius
-          y_radius = params[:y_radius] || radius
-          x_diameter = x_radius * 2
-          y_diameter = y_radius * 2
-
-          line_width = params[:line_width]
-
-          inner_x = x + x_radius
-          inner_y = y + y_radius
-          inner_w = w - x_diameter
-          inner_h = h - y_diameter
-
-          if filled
-            draw_rectangle(true, inner_x, inner_y, inner_w, inner_h, color)
-          end
-
-          if filled
-            top = [inner_x, y, inner_w, y_radius]
-            left = [x, inner_y, x_radius, inner_h]
-            bottom = [inner_x, inner_y + inner_h, inner_w, y_radius]
-            right = [inner_x + inner_w, inner_y, x_radius, inner_h]
-
-            [top, left, bottom, right].each do |rx, ry, rw, rh|
-              draw_rectangle(true, rx, ry, rw, rh, color)
-            end
-          else
-            top = [inner_x, y, inner_x + inner_w, y]
-            left = [x, inner_y, x, inner_y + inner_h]
-            bottom = [inner_x, y + h, inner_x + inner_w, y + h]
-            right = [x + w, inner_y, x + w, inner_y + inner_h]
-            [top, left, bottom, right].each do |start_x, start_y, end_x, end_y|
-              draw_line(start_x, start_y, end_x, end_y, color,
-                        {:line_width => line_width})
-            end
-          end
-
-          upper_left = [x, y, 90]
-          lower_left = [x, y + inner_h, 180]
-          lower_right = [x + inner_w, y + inner_h, 270]
-          upper_right = [x + inner_w, y, 0]
-          [
-           upper_left, lower_left,
-           lower_right, upper_right
-          ].each do |ax, ay, start_angle|
-            draw_arc(filled, ax, ay, x_diameter, y_diameter,
-                     start_angle, 90, color, {:line_width => line_width})
-          end
-        end
-
-        def draw_arc(filled, x, y, w, h, a1, a2, color=nil, params={})
-          gc = make_gc(color, params)
-          return if gc.nil?
-          a1 *= 64
-          a2 *= 64
-          @gdk_drawable.draw_arc(gc, filled, x, y, w, h, a1, a2)
-        end
-
-        def draw_arc_by_radius(filled, x, y, r, a1, a2, color=nil, params={})
-          sx = x - r
-          sy = y - r
-          w = r * 2
-          h = r * 2
-          draw_arc(filled, sx, sy, w, h, a1, a2, color, params)
-        end
-
-        def draw_polygon(filled, points, color=nil, params={})
-          gc = make_gc(color, params)
-          return if gc.nil?
-          @gdk_drawable.draw_polygon(gc, filled, points)
-        end
-
-        def draw_layout(layout, x, y, color=nil, params={})
-          gc = make_gc(color, params)
-          return if gc.nil?
-          @gdk_drawable.draw_layout(gc, x, y, layout)
-        end
-
-        def draw_pixbuf(pixbuf, x, y, params={})
-          gc = make_gc(params[:color], params)
-          return if gc.nil?
-
-          draw_scaled_pixbuf = params[:draw_scaled_pixbuf]
-          draw_scaled_pixbuf = @draw_scaled_image if draw_scaled_pixbuf.nil?
-          width = params[:width] || pixbuf.width
-          height = params[:height] || pixbuf.height
-          if draw_scaled_pixbuf and
-              [width, height] != [pixbuf.width, pixbuf.height]
-            pixbuf = pixbuf.scale(width, height)
-          end
-          args = [0, 0, x, y,
-                  width, height,
-                  params[:dither_mode] || Gdk::RGB::DITHER_NORMAL,
-                  params[:x_dither] || 0,
-                  params[:y_dither] || 0]
-          @gdk_drawable.draw_pixbuf(gc, pixbuf, *args)
-        end
-
-        private
-        def init_engine_color
-          @foreground = Gdk::GC.new(@gdk_drawable)
-          @background = make_gc_from_string(@background_color)
-        end
-
-        # this method is no longer need. the reason that
-        # this isn't removed is only for my memo.
-        def set_mask(gc, x, y, mask)
-          clip_mask = gc.clip_mask
-          clip_origin = gc.clip_origin
-          gc.clip_mask = mask
-          gc.set_clip_origin(x, y)
-          result = yield(gc)
-          gc.clip_mask = clip_mask
-          gc.set_clip_origin(*clip_origin)
-          result
-        end
-
-        def internal_make_gc(color)
-          if color.nil?
-            Gdk::GC.new(@gdk_drawable)
-          elsif color.is_a?(String)
-            make_gc_from_string(color)
-          elsif color.is_a?(Gdk::Color)
-            make_gc_from_gdk_color(color)
-          elsif color.is_a?(Renderer::Color)
-            make_gc_from_gdk_color(color.to_gdk_color)
-          else
-            color
-          end
-        end
-
-        def make_gc_from_gdk_color(color)
-          gc = Gdk::GC.new(@gdk_drawable)
-          gc.set_rgb_fg_color(color)
-          gc
-        end
-
-        def make_gc_from_string(str)
-          color = Color.parse(str).to_gdk_color
-          make_gc_from_gdk_color(color)
-        end
-
-        def make_gc(color, params={})
-          return nil if params[:pattern] and color.nil?
-          gc = internal_make_gc(color)
-          gc.set_line_attributes(get_line_width(params, 1),
-                                 Gdk::GC::LINE_SOLID,
-                                 Gdk::GC::CAP_ROUND,
-                                 Gdk::GC::JOIN_ROUND)
-          gc
-        end
-      end
-    end
-  end
-end
diff --git a/lib/rabbit/renderer/kernel.rb b/lib/rabbit/renderer/kernel.rb
index ebfd725..e52cbbc 100644
--- a/lib/rabbit/renderer/kernel.rb
+++ b/lib/rabbit/renderer/kernel.rb
@@ -3,14 +3,6 @@ require "rabbit/renderer/color"
 module Rabbit
   module Renderer
     module Kernel
-      def rsvg_available?
-        false
-      end
-
-      def poppler_available?
-        false
-      end
-
       def make_color(color)
         return color if color.is_a?(Color)
         if color.nil?
@@ -65,11 +57,11 @@ module Rabbit
       def draw_circle(filled, x, y, w, h, color=nil, params={})
         draw_arc(filled, x, y, w, h, 0, 360, color, params)
       end
-      
+
       def draw_circle_by_radius(filled, x, y, r, color=nil, params={})
         draw_arc_by_radius(filled, x, y, r, 0, 360, color, params)
       end
-      
+
       def draw_flag(x, y, pole_height, params)
         if params["flag_type"] == "triangle"
           draw_triangle_flag(x, y, pole_height, params)
@@ -77,7 +69,7 @@ module Rabbit
           draw_rectangle_flag(x, y, pole_height, params)
         end
       end
-      
+
       def draw_triangle_flag(x, y, pole_height, params)
         params = setup_flag_params(pole_height, 1.5, params)
 
@@ -184,36 +176,36 @@ module Rabbit
       def draw_cube(filled, x, y, z, size, color=nil)
         not_support_method("draw_cube")
       end
-      
+
       def draw_sphere(filled, x, y, z, radius, slices, stacks, color=nil)
         not_support_method("draw_sphere")
       end
-      
+
       def draw_cone(filled, x, y, z, base, height, slices, stacks, color=nil)
         not_support_method("draw_cone")
       end
-      
+
       def draw_torus(filled, x, y, z, inner_radius, outer_radius,
                      n_sides, rings, color=nil)
         not_support_method("draw_torus")
       end
-      
+
       def draw_tetrahedron(filled, x, y, z, color=nil)
         not_support_method("draw_tetrahedron")
       end
-      
+
       def draw_octahedron(filled, x, y, z, color=nil)
         not_support_method("draw_octahedron")
       end
-      
+
       def draw_dodecahedron(filled, x, y, z, color=nil)
         not_support_method("draw_dodecahedron")
       end
-      
+
       def draw_icosahedron(filled, x, y, z, color=nil)
         not_support_method("draw_icosahedron")
       end
-      
+
       def draw_teapot(filled, x, y, z, scale, color=nil)
         not_support_method("draw_teapot")
       end
diff --git a/lib/rabbit/renderer/offscreen.rb b/lib/rabbit/renderer/offscreen.rb
new file mode 100644
index 0000000..81dca93
--- /dev/null
+++ b/lib/rabbit/renderer/offscreen.rb
@@ -0,0 +1,120 @@
+# Copyright (C) 2016  Kouhei Sutou <kou at cozmixng.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+require "rabbit/image-data-loader"
+require "rabbit/renderer/base"
+require "rabbit/renderer/engine/cairo"
+require "rabbit/utils"
+
+module Rabbit
+  module Renderer
+    class Offscreen
+      include Renderer::Base
+      include Engine::Cairo
+
+      attr_accessor :width, :height, :pango_context
+
+      def initialize(canvas, width=nil, height=nil)
+        super(canvas)
+        @width = width
+        @height = height
+        @pango_context = nil
+      end
+
+      def post_apply_theme
+      end
+
+      def post_move(old_index, index)
+      end
+
+      def post_move_in_slide(old_index, index)
+      end
+
+      def pre_parse
+      end
+
+      def post_parse
+      end
+
+      def index_mode_on
+      end
+
+      def index_mode_off
+      end
+
+      def pre_toggle_index_mode
+      end
+
+      def post_toggle_index_mode
+      end
+
+      def make_layout(text)
+        attrs, text = Pango.parse_markup(text)
+        layout = Pango::Layout.new(create_pango_context)
+        layout.text = text
+        layout.set_attributes(attrs)
+        layout
+      end
+
+      def to_pixbuf(slide)
+        pixbuf = nil
+        ::Cairo::ImageSurface.new(@width, @height) do |surface|
+          context = ::Cairo::Context.new(surface)
+          init_context(context)
+          slide.draw(@canvas)
+          png = StringIO.new
+          surface.write_to_png(png)
+          loader = ImageDataLoader.new(png.string)
+          pixbuf = loader.load
+          finish_context
+        end
+        pixbuf
+      end
+
+      def create_pango_context
+        context = Gtk::Invisible.new.create_pango_context
+        set_font_resolution(context)
+        context
+      end
+
+      def pre_to_pixbuf(slide_size)
+      end
+
+      def to_pixbufing(i)
+        Utils.process_pending_events
+        true
+      end
+
+      def post_to_pixbuf(canceled)
+      end
+
+      private
+      def init_color
+        super
+        init_engine_color
+      end
+
+      def offscreen_renderer?
+        true
+      end
+
+      def init_dpi
+        @x_dpi = ScreenInfo.screen_x_resolution
+        @y_dpi = ScreenInfo.screen_y_resolution
+      end
+    end
+  end
+end
diff --git a/lib/rabbit/renderer/pixmap.rb b/lib/rabbit/renderer/pixmap.rb
deleted file mode 100644
index 3500741..0000000
--- a/lib/rabbit/renderer/pixmap.rb
+++ /dev/null
@@ -1,25 +0,0 @@
-require "rabbit/utils"
-
-module Rabbit
-  module Renderer
-    module Pixmap
-      extend Utils
-
-      class << self
-        @initialized = false
-        def init
-          unless @initialized
-            @initialized = true
-            dir = ::File.join("rabbit", "renderer", "pixmap")
-            require_files_under_directory_in_load_path(dir)
-          end
-        end
-
-        def new(*args, &block)
-          init
-          corresponding_class_under_module(self).new(*args, &block)
-        end
-      end
-    end
-  end
-end
diff --git a/lib/rabbit/renderer/pixmap/base.rb b/lib/rabbit/renderer/pixmap/base.rb
deleted file mode 100644
index fe7153a..0000000
--- a/lib/rabbit/renderer/pixmap/base.rb
+++ /dev/null
@@ -1,127 +0,0 @@
-require "rabbit/rabbit"
-
-require "rabbit/renderer/base"
-require "rabbit/utils"
-
-module Rabbit
-  module Renderer
-    module Pixmap
-      module Base
-        include Renderer::Base
-
-        @@depth = nil
-        
-        attr_accessor :width, :height, :pango_context
-        
-        attr_accessor :filename
-        
-        def initialize(canvas, width=nil, height=nil)
-          super(canvas)
-          @width = width
-          @height = height
-          @filename = nil
-          init_dummy_pixmap
-          init_color
-          @pango_context = nil
-        end
-
-        def post_apply_theme
-        end
-
-        def post_move(old_index, index)
-        end
-
-        def post_move_in_slide(old_index, index)
-        end
-
-        def pre_parse
-        end
-
-        def post_parse
-        end
-
-        def index_mode_on
-        end
-
-        def index_mode_off
-        end
-
-        def pre_toggle_index_mode
-        end
-
-        def post_toggle_index_mode
-        end
-
-        def make_layout(text)
-          attrs, text = Pango.parse_markup(text)
-          layout = Pango::Layout.new(@pango_context || create_pango_context)
-          layout.text = text
-          layout.set_attributes(attrs)
-          layout
-        end
-
-        def to_pixbuf(slide)
-          slide.draw(@canvas)
-          Utils.drawable_to_pixbuf(@pixmap)
-        end
-
-        def create_pango_context
-          context = Gtk::Invisible.new.create_pango_context
-          set_font_resolution(context)
-          context
-        end
-
-        def pre_to_pixbuf(slide_size)
-        end
-
-        def to_pixbufing(i)
-          Utils.process_pending_events
-          true
-        end
-
-        def post_to_pixbuf(canceled)
-        end
-
-        def draw_slide(slide, simulation)
-          init_pixmap(slide, simulation)
-          super
-        end
-
-        private
-        def init_color
-          super
-          init_engine_color
-        end
-
-        def depth
-          @@depth ||= ScreenInfo.screen_depth
-        end
-
-        def off_screen_renderer?
-          true
-        end
-
-        def init_dpi
-          @x_dpi = ScreenInfo.screen_x_resolution
-          @y_dpi = ScreenInfo.screen_y_resolution
-        end
-
-        def init_pixmap(slide, simulation)
-          if simulation
-            if @pixmap.nil? or @pixmap.size != [@width, @height]
-              @pixmap = Gdk::Pixmap.new(nil, @width, @height, depth)
-              init_gl_capability(@pixmap)
-            end
-            init_renderer(@pixmap)
-          end
-        end
-
-        def init_dummy_pixmap
-          @pixmap = Gdk::Pixmap.new(nil, 1, 1, depth)
-          init_gl_capability(@pixmap)
-          init_renderer(@pixmap)
-        end
-      end
-    end
-  end
-end
diff --git a/lib/rabbit/renderer/pixmap/cairo.rb b/lib/rabbit/renderer/pixmap/cairo.rb
deleted file mode 100644
index 0ed150b..0000000
--- a/lib/rabbit/renderer/pixmap/cairo.rb
+++ /dev/null
@@ -1,23 +0,0 @@
-require "rabbit/utils"
-
-Rabbit::Utils.require_safe "rabbit/renderer/engine/cairo"
-require "rabbit/renderer/pixmap/base"
-require "rabbit/renderer/pixmap/gl"
-
-module Rabbit
-  module Renderer
-    module Pixmap
-      class Cairo
-        include Engine::Cairo
-        include GL
-        include Base
-
-        class << self
-          def priority
-            Engine::Cairo.priority
-          end
-        end
-      end
-    end
-  end
-end
diff --git a/lib/rabbit/renderer/pixmap/gdk.rb b/lib/rabbit/renderer/pixmap/gdk.rb
deleted file mode 100644
index 52cfbc0..0000000
--- a/lib/rabbit/renderer/pixmap/gdk.rb
+++ /dev/null
@@ -1,29 +0,0 @@
-require "rabbit/renderer/engine/gdk"
-require "rabbit/renderer/pixmap/base"
-require "rabbit/renderer/pixmap/gl"
-
-module Rabbit
-  module Renderer
-    module Pixmap
-      class GDK
-        include Engine::GDK
-        include GL
-        include Base
-
-        class << self
-          def priority
-            0
-          end
-        end
-
-        # force disable GL support because there is a
-        # problem: Rendered objects by GL aren't showed when
-        # the objects are rendered after
-        # draw_layout(). Why???
-        def gl_supported?
-          false
-        end
-      end
-    end
-  end
-end
diff --git a/lib/rabbit/renderer/pixmap/gl.rb b/lib/rabbit/renderer/pixmap/gl.rb
deleted file mode 100644
index b0c6819..0000000
--- a/lib/rabbit/renderer/pixmap/gl.rb
+++ /dev/null
@@ -1,46 +0,0 @@
-begin
-  require "rabbit/renderer/gl"
-rescue LoadError
-end
-
-module Rabbit
-  module Renderer
-    module Pixmap
-      module GL
-        include Renderer::GL if defined?(Renderer::GL)
-
-        private
-        def init_renderer(drawable)
-          if gl_available?
-            super(@gl_drawable)
-          else
-            super
-          end
-        end
-
-        def init_gl_capability(drawable)
-          return unless gl_available?
-          mode = ::Gdk::GLConfig::MODE_RGBA
-          mode |= ::Gdk::GLConfig::MODE_DEPTH
-          # gl_config = ::Gdk::GLConfig.new(mode | ::Gdk::GLConfig::MODE_DOUBLE)
-          gl_config = ::Gdk::GLConfig.new(mode)
-          if drawable.method(:set_gl_capability).arity == 2
-            @gl_drawable = drawable.set_gl_capability(gl_config, nil)
-          else
-            @gl_drawable = drawable.set_gl_capability(gl_config)
-          end
-          @gl_context = ::Gdk::GLContext.new(@gl_drawable, nil, false,
-                                             ::Gdk::GL::RGBA_TYPE)
-        end
-
-        def gl_drawable
-          @gl_drawable
-        end
-
-        def gl_context
-          @gl_context
-        end
-      end
-    end
-  end
-end
diff --git a/lib/rabbit/renderer/print/base.rb b/lib/rabbit/renderer/print/base.rb
index bb1f9b5..3bb83f7 100644
--- a/lib/rabbit/renderer/print/base.rb
+++ b/lib/rabbit/renderer/print/base.rb
@@ -10,7 +10,7 @@ module Rabbit
 
         attr_writer :filename
         attr_accessor :show_page
-        
+
         def initialize(canvas)
           super
           @filename = nil
@@ -19,11 +19,11 @@ module Rabbit
         def page_width
           @page_width - page_margin_left - page_margin_right
         end
-        
+
         def page_height
           @page_height - page_margin_top - page_margin_bottom
         end
-        
+
         def width
           page_width
         end
@@ -36,12 +36,12 @@ module Rabbit
           super
           init_paper
         end
-        
+
         def paper_height=(value)
           super
           init_paper
         end
-        
+
         def pre_print(slide_size)
           @show_page = true
         end
diff --git a/lib/rabbit/renderer/print/cairo.rb b/lib/rabbit/renderer/print/cairo.rb
index 76c232d..eba92e2 100644
--- a/lib/rabbit/renderer/print/cairo.rb
+++ b/lib/rabbit/renderer/print/cairo.rb
@@ -1,13 +1,4 @@
-require "rabbit/utils"
-
-Rabbit::Utils.require_safe "rabbit/renderer/engine/cairo"
-
-if !(Cairo.const_defined?(:PSSurface) or
-     Cairo.const_defined?(:PDFSurface) or
-     Cairo.const_defined?(:SVGSurface))
-  raise LoadError
-end
-
+require "rabbit/renderer/engine/cairo"
 require "rabbit/renderer/print/base"
 
 module Rabbit
@@ -15,8 +6,6 @@ module Rabbit
     module Print
       class Cairo
         include Engine::Cairo
-        alias_method :cairo_rsvg_available?, :rsvg_available?
-        alias_method :cairo_poppler_available?, :poppler_available?
         include Base
 
         class << self
@@ -28,7 +17,7 @@ module Rabbit
             end
           end
         end
-        
+
         def initialize(canvas)
           super
           init_paper
@@ -44,19 +33,19 @@ module Rabbit
           return if canceled
           @context.target.finish
         end
-        
+
         def pre_parse
         end
-        
+
         def post_parse
         end
-        
+
         def post_apply_theme
         end
-        
+
         def post_move(old_index, index)
         end
-        
+
         def post_move_in_slide(old_index, index)
         end
 
@@ -75,14 +64,6 @@ module Rabbit
           draw_rectangle(true, x, y, w, h, @background)
         end
 
-        def rsvg_available?
-          cairo_rsvg_available?
-        end
-
-        def poppler_available?
-          cairo_poppler_available?
-        end
-
         private
         def init_paper
           default_width_mm = 360
@@ -90,7 +71,7 @@ module Rabbit
           @page_width = @paper_width || default_width_mm
           @page_height = @paper_height || default_height_mm
         end
-        
+
         def init_color
           super
           @foreground = make_color("black")
@@ -126,6 +107,9 @@ module Rabbit
             surface = ::Cairo::SVGSurface.new(*args)
             surface.restrict_to_version(::Cairo::SVG_VERSION_1_2)
             surface
+          when /\.cs/i
+            args[0] = ::Cairo::ScriptDevice.new(args[0])
+            ::Cairo::ScriptSurface.new(*args)
           else
             @canvas.logger.warn(_("can't find printer for %s") % filename)
             args[0] = "default.ps"
diff --git a/lib/rabbit/renderer/print/layout.rb b/lib/rabbit/renderer/print/layout.rb
index 667ec48..a0d297b 100644
--- a/lib/rabbit/renderer/print/layout.rb
+++ b/lib/rabbit/renderer/print/layout.rb
@@ -33,7 +33,7 @@ module Rabbit
           @margin_bottom = renderer.margin_bottom
         end
       end
-      
+
       class Layout2 < LayoutBase
 
         def initialize(renderer)
@@ -43,7 +43,7 @@ module Rabbit
           @margin_top ||= 30
           @margin_bottom ||= 30
         end
-        
+
         def slide_width
           page_width - @margin_left - @margin_right
         end
@@ -51,7 +51,7 @@ module Rabbit
         def slide_height
           (page_height / 2) - @margin_top - @margin_bottom
         end
-        
+
         def normalize_x(x)
           x + @margin_left
         end
@@ -69,7 +69,7 @@ module Rabbit
           (current_index % 2) == 1
         end
       end
-      
+
       class LayoutMore < LayoutBase
         def initialize(renderer)
           super
@@ -78,7 +78,7 @@ module Rabbit
           @margin_top ||= 10
           @margin_bottom ||= 10
         end
-        
+
         def slide_width
           (page_width / 2) - @margin_left - @margin_right
         end
@@ -87,7 +87,7 @@ module Rabbit
           base = page_height / (slides_per_page / 2.0).ceil
           base - @margin_top - @margin_bottom
         end
-        
+
         def normalize_x(x)
           base = @margin_left
           unless left?
diff --git a/lib/rabbit/renderer/print/multiple.rb b/lib/rabbit/renderer/print/multiple.rb
index 562aed0..67902d1 100644
--- a/lib/rabbit/renderer/print/multiple.rb
+++ b/lib/rabbit/renderer/print/multiple.rb
@@ -11,17 +11,17 @@ module Rabbit
         include Base
         include Kernel
         extend Forwardable
-      
+
         def_delegators(:@canvas, :current_index)
-        
+
         def_delegators(:@print, :filename, :filename=)
         def_delegators(:@print, :foreground=, :background=)
         def_delegators(:@print, :background_image=)
-        
+
         def_delegators(:@print, :page_width, :page_width=)
         def_delegators(:@print, :page_height, :page_height=)
         def_delegators(:@print, :width, :height)
-        
+
         def_delegators(:@print, :pre_print, :post_print, :post_apply_theme)
         def_delegators(:@print, :post_move, :post_move_in_slide, :post_iconify)
         def_delegators(:@print, :post_fullscreen, :post_unfullscreen)
@@ -31,17 +31,14 @@ module Rabbit
 
         def_delegators(:@print, :make_color, :make_layout)
         def_delegators(:@print, :create_pango_context)
-        
-        def_delegators(:@print, :clear_theme)
 
-        def_delegators(:@print, :rsvg_available?, :poppler_available?)
-        def_delegators(:@print, :rsvg_available?, :poppler_available?)
+        def_delegators(:@print, :clear_theme)
 
         def initialize(canvas)
           @print = Print.new(canvas)
           super
         end
-        
+
         def width
           @slide_width ||= @layout.slide_width
         end
@@ -59,12 +56,12 @@ module Rabbit
           super
           @print.page_margin_right = margin
         end
-        
+
         def page_margin_top=(margin)
           super
           @print.page_margin_top = margin
         end
-        
+
         def page_margin_bottom=(margin)
           super
           @print.page_margin_bottom = margin
@@ -79,18 +76,18 @@ module Rabbit
           super
           @print.margin_right = margin
         end
-        
+
         def margin_top=(margin)
           super
           @print.margin_top = margin
         end
-        
+
         def margin_bottom=(margin)
           super
           @print.margin_bottom = margin
         end
 
-        
+
         def draw_slide(slide, simulation)
           @print.show_page = need_show_page?
           @print.internal_draw_slide(slide, simulation) do
diff --git a/lib/rabbit/search-window.rb b/lib/rabbit/search-window.rb
index b4d30d9..d3b3d8e 100644
--- a/lib/rabbit/search-window.rb
+++ b/lib/rabbit/search-window.rb
@@ -1,4 +1,4 @@
-require 'gtk2'
+require 'rabbit/gtk'
 
 require 'rabbit/searcher'
 
@@ -40,7 +40,7 @@ module Rabbit
 
     private
     def init_window
-      @window = Gtk::Window.new(Gtk::Window::POPUP)
+      @window = Gtk::Window.new(:popup)
       @window.modal = true
       init_frame
       init_box
@@ -50,13 +50,13 @@ module Rabbit
 
     def init_frame
       @frame = Gtk::Frame.new
-      @frame.shadow_type = Gtk::ShadowType::ETCHED_IN
+      @frame.shadow_type = :etched_in
       @frame.show
       @window.add(@frame)
     end
 
     def init_box
-      @box = Gtk::HBox.new
+      @box = Gtk::Box.new(:horizontal)
       @box.border_width = 3
       @box.show
       @frame.add(@box)
@@ -70,7 +70,7 @@ module Rabbit
 
     def init_direction
       @direction = Gtk::ToggleButton.new
-      @arrow = Gtk::Arrow.new(Gtk::Arrow::LEFT, Gtk::SHADOW_NONE)
+      @arrow = Gtk::Arrow.new(:left, :none)
       @arrow.show
       @direction.add(@arrow)
       @direction.can_focus = false
@@ -78,18 +78,18 @@ module Rabbit
       @box.add(@direction)
       @direction.signal_connect("toggled") do |button|
         if forward?
-          type = Gtk::Arrow::RIGHT
+          type = :right
         else
-          type = Gtk::Arrow::LEFT
+          type = :left
         end
-        @arrow.set(type, Gtk::SHADOW_NONE)
+        @arrow.set(type, :none)
       end
       @direction.active = true
     end
 
     def send_focus_change(focus_in)
       @entry.has_focus = focus_in
-      event = Gdk::EventFocus.new(Gdk::EventFocus::FOCUS_CHANGE)
+      event = Gdk::EventFocus.new(:focus_change)
       event.window = @entry.window
       event.in = focus_in
       @entry.event(event)
diff --git a/lib/rabbit/searcher.rb b/lib/rabbit/searcher.rb
index 89ec2dd..cc30edd 100644
--- a/lib/rabbit/searcher.rb
+++ b/lib/rabbit/searcher.rb
@@ -1,17 +1,7 @@
 require 'rabbit/utils'
 
-Rabbit::Converter.keep_kcode("EUC-JP") do
-  begin
-    require 'migemo'
-  rescue LoadError
-  end
-end
-
 module Rabbit
   class Searcher
-    @@migemo_static_dict = nil
-    @@migemo_static_dict_cache = nil
-
     def initialize(canvas)
       @canvas = canvas
     end
@@ -26,81 +16,11 @@ module Rabbit
 
     private
     def internal_regexp
-      if migemo_available?
-        migemo_regexp
-      else
-        begin
-          /#{@text}/iu
-        rescue RegexpError
-          /#{Regexp.escape(@text)}/iu
-        end
-      end
-    end
-
-    def migemo_regexp
-      text = Converter.to_eucjp_from_utf8(@text)
-      segments = migemo_split_text(text)
-      if segments.size <= 1
-        regexp_str = migemo_generate_regexp_str(text, false)
-      else
-        regexp_str1 = migemo_generate_regexp_str(text, true)
-        regexp_str2 = segments.collect do |pattern|
-          migemo_generate_regexp_str(pattern, true)
-        end.join
-        regexp_str = [regexp_str1, regexp_str2].join("|")
-      end
-      /#{Converter.to_utf8_from_eucjp(regexp_str)}/iu
-    end
-
-    def migemo_generate_regexp_str(pattern, with_paren)
-      Converter.keep_kcode("EUC-JP") do
-        migemo = Migemo.new(@@migemo_static_dict, pattern)
-        migemo.dict_cache = @@migemo_static_dict_cache
-        migemo.with_paren = with_paren
-        migemo.regex
-      end
-    end
-
-    def migemo_split_text(text)
-      text.scan(/[A-Z]?[^A-Z]+|[A-Z]+/e)
-    end
-
-    def migemo_available?
-      defined?(::Migemo) and have_migemo_static_dict?
-    end
-
-    def have_migemo_static_dict?
-      if @@migemo_static_dict.nil?
-        dict, dict_cache = search_migemo_static_dict
-        @@migemo_static_dict, @@migemo_static_dict_cache = dict, dict_cache
-      end
-      not @@migemo_static_dict.nil?
-    end
-
-    def search_migemo_static_dict
-      @canvas.migemo_dictionary_search_path.each do |target|
-        if File.directory?(target)
-          [
-           File.join(target, @canvas.migemo_dictionary_name),
-           File.join(target, "migemo", @canvas.migemo_dictionary_name),
-          ].each do |guess|
-            return make_migemo_dict(guess) if File.readable?(guess)
-          end
-        elsif File.readable?(target)
-          return make_migemo_dict(target)
-        end
-      end
-      nil
-    end
-
-    def make_migemo_dict(path)
-      dict = MigemoStaticDict.new(path)
-      dict_cache = nil
-      dict_cache_path = "#{path}.cache"
-      if File.readable?(dict_cache_path)
-        dict_cache = MigemoDictCache.new(dict_cache_path)
+      begin
+        /#{@text}/iu
+      rescue RegexpError
+        /#{Regexp.escape(@text)}/iu
       end
-      [dict, dict_cache]
     end
   end
 end
diff --git a/lib/rabbit/size.rb b/lib/rabbit/size.rb
new file mode 100644
index 0000000..def222b
--- /dev/null
+++ b/lib/rabbit/size.rb
@@ -0,0 +1,65 @@
+module Rabbit
+  class Size
+    attr_reader :real_width
+    attr_reader :real_height
+    attr_reader :logical_width
+    attr_reader :logical_height
+    attr_reader :logical_margin_left
+    attr_reader :logical_margin_right
+    attr_reader :logical_margin_top
+    attr_reader :logical_margin_bottom
+    attr_reader :ratio
+    def initialize(width, height, ratio)
+      @real_width = width
+      @real_height = height
+      @ratio = ratio
+      compute_logical_size
+    end
+
+    def have_logical_margin_x?
+      @logical_margin_left > 0 or
+        @logical_margin_right > 0
+    end
+
+    def have_logical_margin_y?
+      @logical_margin_top > 0 or
+        @logical_margin_bottom > 0
+    end
+
+    def have_logical_margin?
+      have_logical_margin_x? or have_logical_margin_y?
+    end
+
+    private
+    def compute_logical_size
+      real_ratio = @real_width.to_f / @real_height.to_f
+      if real_ratio == @ratio
+        @logical_width = @real_width
+        @logical_height = @real_height
+        @logical_margin_left = 0
+        @logical_margin_right = 0
+        @logical_margin_top = 0
+        @logical_margin_bottom = 0
+        return
+      end
+
+      if real_ratio > @ratio
+        @logical_width = @real_width * (@ratio / real_ratio)
+        @logical_height = @real_height
+        width_margin = @real_width - @logical_width
+        @logical_margin_left = width_margin / 2
+        @logical_margin_right = width_margin / 2
+        @logical_margin_top = 0
+        @logical_margin_bottom = 0
+      else
+        @logical_width = @real_width
+        @logical_height = @real_height * (real_ratio / @ratio)
+        height_margin = @real_height - @logical_height
+        @logical_margin_left = 0
+        @logical_margin_right = 0
+        @logical_margin_top = height_margin / 2
+        @logical_margin_bottom = height_margin / 2
+      end
+    end
+  end
+end
diff --git a/lib/rabbit/slide-configuration.rb b/lib/rabbit/slide-configuration.rb
index 472cbc7..1055a47 100644
--- a/lib/rabbit/slide-configuration.rb
+++ b/lib/rabbit/slide-configuration.rb
@@ -1,4 +1,4 @@
-# Copyright (C) 2012  Kouhei Sutou <kou at cozmixng.org>
+# Copyright (C) 2012-2014  Kouhei Sutou <kou at cozmixng.org>
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -33,7 +33,11 @@ module Rabbit
     attr_accessor :logger
     attr_accessor :id, :base_name, :tags, :presentation_date
     attr_accessor :licenses
-    attr_accessor :slideshare_id, :speaker_deck_id, :ustream_id, :vimeo_id
+    attr_accessor :slideshare_id
+    attr_accessor :speaker_deck_id
+    attr_accessor :ustream_id
+    attr_accessor :vimeo_id
+    attr_accessor :youtube_id
     attr_writer :version
     attr_accessor :author
     def initialize(logger=nil)
@@ -72,6 +76,7 @@ module Rabbit
       @speaker_deck_id   = nil
       @ustream_id        = nil
       @vimeo_id          = nil
+      @youtube_id        = nil
       @author            = nil
     end
 
@@ -84,6 +89,7 @@ module Rabbit
       @speaker_deck_id   = conf["speaker_deck_id"]   || @speaker_deck_id
       @ustream_id        = conf["ustream_id"]        || @ustream_id
       @vimeo_id          = conf["vimeo_id"]          || @vimeo_id
+      @youtube_id        = conf["youtube_id"]        || @youtube_id
 
       @tags              |=  (conf["tags"] || [])
       @licenses          |=  (conf["licenses"] || [])
@@ -104,6 +110,7 @@ module Rabbit
         "speaker_deck_id"   => @speaker_deck_id,
         "ustream_id"        => @ustream_id,
         "vimeo_id"          => @vimeo_id,
+        "youtube_id"        => @youtube_id,
       }
       config["author"] = @author.to_hash if @author
       config
diff --git a/lib/rabbit/version.rb b/lib/rabbit/slide.rb
similarity index 63%
copy from lib/rabbit/version.rb
copy to lib/rabbit/slide.rb
index 90b9fb0..7c2fd04 100644
--- a/lib/rabbit/version.rb
+++ b/lib/rabbit/slide.rb
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2013  Kouhei Sutou <kou at cozmixng.org>
+# Copyright (C) 2014  Kouhei Sutou <kou at cozmixng.org>
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -14,6 +14,27 @@
 # with this program; if not, write to the Free Software Foundation, Inc.,
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
+# NOTE: This class isn't used yet because it breaks the current API.
+# TODO: Rename Rabbit::Element::Slide to Rabbit::Element::Page.
+
 module Rabbit
-  VERSION = "2.1.1"
+  class Slide
+    include Enumerable
+
+    def initialize
+      @pages = []
+    end
+
+    def <<(page)
+      @pages << page
+    end
+
+    def size
+      @pages.size
+    end
+
+    def each(&block)
+      @pages.each(&block)
+    end
+  end
 end
diff --git a/lib/rabbit/slideshare.rb b/lib/rabbit/slideshare.rb
index e63554d..9dbf474 100644
--- a/lib/rabbit/slideshare.rb
+++ b/lib/rabbit/slideshare.rb
@@ -1,4 +1,4 @@
-# Copyright (C) 2012 Kouhei Sutou <kou at cozmixng.org>
+# Copyright (C) 2012-2016 Kouhei Sutou <kou at cozmixng.org>
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -22,6 +22,7 @@ require "faraday"
 
 require "rabbit/gettext"
 require "rabbit/command/rabbit"
+require "rabbit/password-reader"
 
 module Rabbit
   module Task
@@ -88,7 +89,7 @@ module Rabbit
           :slideshow_srcfile     => Faraday::UploadIO.new(@pdf_path,
                                                           "application/pdf"),
           :slideshow_description => @description,
-          :tags                  => @tags.join(","),
+          :slideshow_tags        => @tags.join(","),
         }
         response = post("upload_slideshow", payload)
         parse_upload_slideshow_response(response)
@@ -138,18 +139,13 @@ module Rabbit
       end
 
       def password
-        @password ||= read_password(_("Enter password on SlideShare"))
+        @password ||= read_password
       end
 
-      def read_password(prompt)
-        print("%s [%s]: " % [prompt, @user])
-        system("/bin/stty -echo") if $stdin.tty?
-        $stdin.gets.chomp
-      ensure
-        if $stdin.tty?
-          system("/bin/stty echo")
-          puts
-        end
+      def read_password
+        prompt = _("Enter password on SlideShare [%{user}]: ") % {:user => @user}
+        reader = PasswordReader.new(prompt)
+        reader.read
       end
 
       def common_payload
diff --git a/lib/rabbit/soap/driver.rb b/lib/rabbit/soap/driver.rb
index 6431e65..42d12b2 100644
--- a/lib/rabbit/soap/driver.rb
+++ b/lib/rabbit/soap/driver.rb
@@ -15,7 +15,7 @@ module Rabbit
         info.concat(Utils.arg_list(Front.instance_method(name).arity))
         @@method_infos << info
       end
-      
+
       def initialize(end_point, soap_action=nil)
         super(end_point, Rabbit::SOAP::NS, soap_action)
 
diff --git a/lib/rabbit/soap/server.rb b/lib/rabbit/soap/server.rb
index c90328d..c7ca827 100644
--- a/lib/rabbit/soap/server.rb
+++ b/lib/rabbit/soap/server.rb
@@ -28,6 +28,6 @@ EOS
         add_rpc_servant(front)
       end
     end
-    
+
   end
 end
diff --git a/lib/rabbit/source-generator/markdown.rb b/lib/rabbit/source-generator/markdown.rb
index f404b81..57a9188 100644
--- a/lib/rabbit/source-generator/markdown.rb
+++ b/lib/rabbit/source-generator/markdown.rb
@@ -32,10 +32,10 @@ module Rabbit
       end
 
       def definition_list_item(item, description)
-        [
-          item,
-          "   #{description}",
-        ].join("\n")
+        <<-DEFINITION_LIST_ITEM
+#{item}
+:   #{description}
+        DEFINITION_LIST_ITEM
       end
 
       def unordered_list_item(item)
diff --git a/lib/rabbit/source/argf.rb b/lib/rabbit/source/argf.rb
index 853968d..1755d2b 100644
--- a/lib/rabbit/source/argf.rb
+++ b/lib/rabbit/source/argf.rb
@@ -3,18 +3,18 @@ require "rabbit/source/base"
 module Rabbit
   module Source
     class ARGF
-      
+
       include Base
-      
+
       def self.initial_args_description
         N_("none (get from STDIN) or [FILE_NAMES]")
       end
-      
+
       def initialize(encoding, logger, argf)
         super(encoding, logger)
         @argf = argf
       end
-      
+
       private
       def _read
         begin
diff --git a/lib/rabbit/source/base.rb b/lib/rabbit/source/base.rb
index 3179bbb..83126e1 100644
--- a/lib/rabbit/source/base.rb
+++ b/lib/rabbit/source/base.rb
@@ -5,14 +5,12 @@ require 'rabbit/rabbit'
 
 module Rabbit
   module Source
-
     module Base
-
       def self.append_features(klass)
         super
         klass.send(:include, GetText)
       end
-      
+
       attr_reader :base, :tmp_base
       attr_accessor :encoding, :force_modified
 
@@ -31,33 +29,37 @@ module Rabbit
 
       def reset
       end
-      
+
       def read
         if need_read?
           @source = _read
-          if @encoding.nil?
+          case @encoding
+          when nil
             enc = guess_encoding(@source)
-          else
+          when Encoding
             enc = @encoding
+          else
+            enc = Encoding.find(@encoding)
           end
 
-          if /\Autf-?8\z/i =~ enc
-            @source.force_encoding(enc) if @source.respond_to?(:force_encoding)
+          case enc
+          when Encoding::UTF_8, Encoding::ASCII_8BIT
+            @source.force_encoding(enc)
           else
-            @source = convert_encoding("UTF-8", enc, @source)
+            @source = @source.encode(Encoding::UTF_8, enc)
           end
         end
         @source
       end
-      
+
       def modified?
         @force_modified or need_read?
       end
-      
+
       def need_read?
         @source.nil?
       end
-      
+
       def full_path(path)
         if @base_uri.nil? or @base_uri.relative?
           ::File.join(@base, path)
@@ -67,24 +69,24 @@ module Rabbit
           (uri + path).to_s
         end
       end
-      
+
       def open_full_path(path, mode="rb")
         open(full_path(path), mode) do |f|
           yield f
         end
       end
-      
+
       def old?(current, get_latest_method_name)
         current.nil? or
           (current and __send__(get_latest_method_name) > current)
       end
-      
+
       def tmp_dir_name
-        dir = ::File.join(@tmp_base, TMP_DIR_NAME)  
+        dir = ::File.join(@tmp_base, TMP_DIR_NAME)
         FileUtils.mkdir_p(dir) unless ::File.exist?(dir)
         dir
       end
-      
+
       def base=(new_value)
         if new_value.nil?
           init_base
@@ -127,30 +129,14 @@ module Rabbit
       end
 
       def guess_encoding(str)
+        return Encoding::UTF_8 if utf8_encoding?(str)
+
         require 'nkf'
-        case NKF.guess(str)
-        when NKF::JIS
-          "ISO-2022-JP"
-        when NKF::EUC
-          "eucJP"
-        when NKF::SJIS
-          "CP932"
-        when NKF::UTF16
-          "UTF-16"
-        when NKF::UTF32
-          "UTF-32"
-        else
-          "UTF-8"
-        end
+        NKF.guess(str)
       end
 
-      def convert_encoding(to, from, str)
-        if str.respond_to?(:encode)
-          str.encode(to, from)
-        else
-          require "iconv"
-          Iconv.conv(to, from, str)
-        end
+      def utf8_encoding?(string)
+        string.dup.force_encoding(Encoding::UTF_8).valid_encoding?
       end
 
       def extract_extension(path)
@@ -173,7 +159,7 @@ module Rabbit
         update_last_access_time if result
         result
       end
-      
+
       private
       def update_last_access_time
         @last_access_time = Time.now
@@ -183,6 +169,5 @@ module Rabbit
         Time.now - @last_access_time > MINIMUM_ACCESS_TIME
       end
     end
-    
   end
 end
diff --git a/lib/rabbit/source/file.rb b/lib/rabbit/source/file.rb
index c07442d..5753c71 100644
--- a/lib/rabbit/source/file.rb
+++ b/lib/rabbit/source/file.rb
@@ -8,17 +8,17 @@ module Rabbit
       def self.initial_args_description
         N_("[FILENAME]")
       end
-      
+
       def initialize(encoding, logger, name)
         @name = name
         super(encoding, logger)
         @mtime = nil
       end
-      
+
       def _read
         begin
           check_file
-          ::File.open(@name) do |f|
+          ::File.open(@name, "rb") do |f|
             @mtime = f.mtime
             f.read
           end
@@ -28,7 +28,7 @@ module Rabbit
           ""
         end
       end
-      
+
       def need_read?
         super or old?(@mtime, :mtime)
       end
@@ -49,7 +49,7 @@ module Rabbit
           raise NotReadableError.new(@name)
         end
       end
-      
+
       def mtime
         begin
           check_file
@@ -58,12 +58,12 @@ module Rabbit
           Time.now
         end
       end
-      
+
       def init_base
         set_base(::File.dirname(@name))
       end
-      
+
     end
-    
+
   end
 end
diff --git a/lib/rabbit/source/hiki.rb b/lib/rabbit/source/hiki.rb
index f76a1d8..4a95b77 100644
--- a/lib/rabbit/source/hiki.rb
+++ b/lib/rabbit/source/hiki.rb
@@ -4,7 +4,7 @@ require 'rabbit/source/base'
 
 module Rabbit
   module Source
-    
+
     class Hiki
 
       include Base
diff --git a/lib/rabbit/source/memory.rb b/lib/rabbit/source/memory.rb
index a61efd6..1368503 100644
--- a/lib/rabbit/source/memory.rb
+++ b/lib/rabbit/source/memory.rb
@@ -24,11 +24,11 @@ module Rabbit
       def source=(new_source)
         @current_source = new_source
       end
-      
+
       def _read
         @current_source
       end
-      
+
       def need_read?
         super or @current_source != @source
       end
diff --git a/lib/rabbit/source/uri.rb b/lib/rabbit/source/uri.rb
index e0b4ed7..d314162 100644
--- a/lib/rabbit/source/uri.rb
+++ b/lib/rabbit/source/uri.rb
@@ -14,8 +14,10 @@ module Rabbit
         def new(encoding, logger, uri)
           parsed_uri = ::URI.parse(uri)
           case parsed_uri.scheme
-          when nil, /file/i
+          when nil
             File.new(encoding, logger, parsed_uri.path)
+          when /\Afile\z/i
+            File.new(encoding, logger, uri.gsub(/\Afile:\/\//i, ""))
           else
             super
           end
@@ -25,7 +27,7 @@ module Rabbit
           N_("URI")
         end
       end
-      
+
       def initialize(encoding, logger, uri)
         @uri = ::URI.parse(uri)
         super(encoding, logger)
diff --git a/lib/rabbit/stock.rb b/lib/rabbit/stock.rb
index 54e1e81..1c85d57 100644
--- a/lib/rabbit/stock.rb
+++ b/lib/rabbit/stock.rb
@@ -1,27 +1,27 @@
-require 'gtk2'
+require 'rabbit/gtk'
 
 require 'rabbit/rabbit'
 
 module Rabbit
   module Stock
     include GetText
-    
-    RABBIT = :rabbit_rabbit
-    
+
+    RABBIT = "rabbit-rabbit"
+
     @@loaded = false
-    
+
     module_function
     def init(canvas)
       return if @@loaded
       @@loaded = true
-      Gtk::Stock.add(RABBIT, N_("Rabbit"))
+      Gtk::Stock.add(RABBIT.to_sym, N_("Rabbit"))
       begin
         image_theme = Theme::Searcher.find_theme("rabbit-images", true)
         file = Theme::Searcher.find_file("lavie-icon.png", [image_theme])
         loader = ImageLoader.new(file)
         loader.resize(32, 32)
         factory = Gtk::IconFactory.new
-        factory.add(RABBIT.to_s, Gtk::IconSet.new(loader.pixbuf))
+        factory.add(RABBIT, Gtk::IconSet.new(loader.pixbuf))
         factory.add_default
       rescue LoadError
         canvas.logger.warn($!)
diff --git a/lib/rabbit/task/slide.rb b/lib/rabbit/task/slide.rb
index 91b4445..bf0fb77 100644
--- a/lib/rabbit/task/slide.rb
+++ b/lib/rabbit/task/slide.rb
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2013 Kouhei Sutou <kou at cozmixng.org>
+# Copyright (C) 2012-2016 Kouhei Sutou <kou at cozmixng.org>
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -22,6 +22,7 @@ require "rabbit/command/rabbit"
 require "rabbit/slide-configuration"
 require "rabbit/readme-parser"
 require "rabbit/gem-builder"
+require "rabbit/gem-pusher"
 
 module Rabbit
   module Task
@@ -67,6 +68,7 @@ module Rabbit
 
           slide_conf_path = @slide.path
           spec.files = [".rabbit", slide_conf_path, "Rakefile"]
+          spec.files += Dir.glob("theme.rb")
           spec.files += Dir.glob("{COPYING,GPL,README*}")
           spec.files += Dir.glob("rabbit/**/*.*")
           spec.files += Dir.glob("**/*.{svg,png,jpg,jpeg,gif,eps,pdf}")
@@ -174,7 +176,8 @@ module Rabbit
       def define_publish_rubygems_task
         desc(_("Publish the slide to %s" % "RubyGems.org"))
         task :rubygems => :gem do
-          ruby("-S", "gem", "push", gem_path)
+          pusher = GemPusher.new(gem_path, @slide.author.rubygems_user)
+          pusher.push
         end
       end
 
@@ -189,7 +192,7 @@ module Rabbit
           slideshare.id = @slide.id
           slideshare.title = spec.summary
           slideshare.description = spec.description
-          slideshare.tags = @tags if @tags
+          slideshare.tags = @slide.tags if @slide.tags
           url = slideshare.upload
           if url
             @logger.info(_("Uploaded successfully!"))
@@ -232,7 +235,11 @@ module Rabbit
       end
 
       def rabbit(*arguments)
-        Rabbit::Command::Rabbit.run(*arguments)
+        unless Rabbit::Command::Rabbit.run(*arguments)
+          message = "failed to run Rabbit"
+          message << ": #{arguments.join(' ')}" unless arguments.empty?
+          raise message
+        end
       end
     end
   end
diff --git a/lib/rabbit/task/theme.rb b/lib/rabbit/task/theme.rb
index 37ea4db..6b472f2 100644
--- a/lib/rabbit/task/theme.rb
+++ b/lib/rabbit/task/theme.rb
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2013 Kouhei Sutou <kou at cozmixng.org>
+# Copyright (C) 2012-2016 Kouhei Sutou <kou at cozmixng.org>
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -22,6 +22,7 @@ require "rabbit/command/rabbit"
 require "rabbit/theme-configuration"
 require "rabbit/readme-parser"
 require "rabbit/gem-builder"
+require "rabbit/gem-pusher"
 
 module Rabbit
   module Task
@@ -103,7 +104,7 @@ module Rabbit
 
       def define_gem_create_task
         desc(_("Create gem: %{gem_path}") % {:gem_path => gem_path})
-        task :gem => "gem:validate" do
+        task :gem => ["gem:validate", :pdf] do
           mkdir_p(@package_dir)
           GemBuilder.build(spec)
           mv(File.basename(spec.cache_file), gem_path)
@@ -167,10 +168,12 @@ module Rabbit
 
         publish_tasks = []
         namespace :publish do
-          if @theme.author.rubygems_user
+          rubygems_user = @theme.author.rubygems_user
+          if rubygems_user
             desc(_("Publish the theme to %s") % "RubyGems.org")
             task :rubygems => :gem do
-              ruby("-S", "gem", "push", gem_path)
+              pusher = GemPusher.new(gem_path, rubygems_user)
+              pusher.push
             end
             publish_tasks << :rubygems
           end
diff --git a/lib/rabbit/theme/applier.rb b/lib/rabbit/theme/applier.rb
index f3ee862..a3a9bd9 100644
--- a/lib/rabbit/theme/applier.rb
+++ b/lib/rabbit/theme/applier.rb
@@ -6,6 +6,7 @@ require 'rabbit/element'
 require 'rabbit/image'
 require 'rabbit/theme/searcher'
 require 'rabbit/renderer/color'
+require "rabbit/size"
 
 module Rabbit
   module Theme
@@ -64,9 +65,19 @@ 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
-          text_height = first_text.first_line_height
-          text_height += first_text.padding_top + first_text.padding_bottom
+          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
 
           if width_or_proc.respond_to?(:call)
             mark_width = width_or_proc.call(item, canvas)
@@ -82,7 +93,8 @@ module Rabbit
           adjust_y = ((text_height / 2.0) - (mark_height / 2.0)).ceil
 
           indent_base_x = item.x - mark_width
-          indent_base_y = item.base_y + first_text.margin_top + adjust_y
+          indent_base_y = item.base_y + adjust_y
+          indent_base_y += first_text.margin_top if first_text
           width = mark_width
           height = mark_height
           yield(item, canvas, indent_base_x, indent_base_y, width, height)
@@ -173,7 +185,7 @@ module Rabbit
               args = size + [fill_color]
               canvas.draw_rectangle(true, *args)
             end
-            
+
             if frame_color
               args = size + [frame_color, {:line_width => frame_width}]
               canvas.draw_rectangle(false, *args)
@@ -186,7 +198,7 @@ module Rabbit
               usw = fw + shadow_width - shadow_offset
               ush = shadow_width
               canvas.draw_rectangle(true, usx, usy, usw, ush, shadow_color)
-      
+
               # Right Shadow
               rsx = fx + fw + frame_width
               rsy = fy + shadow_offset
@@ -248,7 +260,7 @@ module Rabbit
 
       def apply_theme(name)
         entry = find_theme(name)
-        src = File.open(entry.theme_file) do |f|
+        src = File.open(entry.theme_file, "r:utf-8") do |f|
           f.read
         end
         in_theme(entry) do
@@ -312,7 +324,7 @@ module Rabbit
           "@#{x}_large_#{$2}font_size"
         end
       end
-      
+
       def include_theme(name)
         begin
           apply_theme(name)
@@ -340,7 +352,7 @@ module Rabbit
       def logger
         canvas.logger
       end
-      
+
       def print?
         canvas.printable?
       end
@@ -352,11 +364,11 @@ module Rabbit
       def theme_exit(message=nil)
         raise ThemeExit.new(message)
       end
-      
+
       def slides_per_page
         canvas.slides_per_page
       end
-      
+
       def set_foreground(color)
         canvas.foreground = canvas.make_color(color)
       end
@@ -444,7 +456,7 @@ module Rabbit
           super
         end
       end
-      
+
       def _match(current, *paths)
         last_path_index = paths.size - 1
         paths.each_with_index do |path, i|
@@ -462,7 +474,7 @@ module Rabbit
                   path === element
                 end
               end
-              
+
               if i != last_path_index
                 working.inject([]) do |result, elem|
                   if elem.respond_to?(:elements)
@@ -474,7 +486,7 @@ module Rabbit
               else
                 working
               end
-              
+
             end
           end
         end
@@ -591,7 +603,7 @@ module Rabbit
       end
 
       def connect_key(keyval, modifier=nil, flags=nil, &block)
-        modifier ||= Gdk::Window::ModifierType.new
+        modifier ||= Gdk::ModifierType.new
         flags ||= Gtk::AccelFlags::VISIBLE
         canvas.connect_key(keyval, modifier, flags, &block)
       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 610df78..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
 
@@ -86,14 +88,6 @@ match(Slide, Body) do |bodies|
   end
 end
 
-match("**", BlockQuote) do |quotes|
-  quotes.each do |quote|
-    first_element = quote.elements.first
-    next unless first_element.is_a?(Paragraph)
-    first_element.indent = first_element.prop_get("size")
-  end
-end
-
 @slide_logo_image ||= "clear-blue-headline-background.png"
 include_theme("slide-logo")
 
diff --git a/lib/rabbit/theme/default-block-quote/default-block-quote.rb b/lib/rabbit/theme/default-block-quote/default-block-quote.rb
index 64e9f81..970abf6 100644
--- a/lib/rabbit/theme/default-block-quote/default-block-quote.rb
+++ b/lib/rabbit/theme/default-block-quote/default-block-quote.rb
@@ -213,5 +213,7 @@ match("**", BlockQuote) do
 end
 
 match("**", BlockQuote, TextContainerElement) do |texts|
-  texts.justify = true
+  texts.each do |text|
+    texts.justify = true unless text.text.ascii_only?
+  end
 end
diff --git a/lib/rabbit/theme/default-preformatted/default-preformatted.rb b/lib/rabbit/theme/default-preformatted/default-preformatted.rb
index 2768fd7..f3fddea 100644
--- a/lib/rabbit/theme/default-preformatted/default-preformatted.rb
+++ b/lib/rabbit/theme/default-preformatted/default-preformatted.rb
@@ -18,7 +18,10 @@ end
 
 match("**", PreformattedBlock) do |blocks|
   name = "preformatted-block"
-  
+
+  blocks.prop_set("size", @normal_font_size)
+  set_font_family(blocks, @monospace_font_family)
+
   blocks.horizontal_centering = @preformatted_centering
 
   params = {
diff --git a/lib/rabbit/theme/default-text/default-text.rb b/lib/rabbit/theme/default-text/default-text.rb
index 309c92e..cb41baf 100644
--- a/lib/rabbit/theme/default-text/default-text.rb
+++ b/lib/rabbit/theme/default-text/default-text.rb
@@ -72,16 +72,6 @@ match("**", Title, "**", Superscript) do |texts|
   texts.prop_set("rise", (@x_large_script_font_size * 5 / 3.0).to_i)
 end
 
-match("**", PreformattedText) do |texts|
-  texts.prop_set("size", @normal_font_size)
-  set_font_family(texts, @monospace_font_family)
-end
-
-match("**", SyntaxHighlightingText) do |texts|
-  texts.prop_set("size", @normal_font_size)
-  set_font_family(texts, @monospace_font_family)
-end
-
 match("**", Keyword) do |texts|
   texts.prop_set("weight", "bold")
 end
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-slide-number/image-slide-number.rb b/lib/rabbit/theme/image-slide-number/image-slide-number.rb
index 8703720..1b61619 100644
--- a/lib/rabbit/theme/image-slide-number/image-slide-number.rb
+++ b/lib/rabbit/theme/image-slide-number/image-slide-number.rb
@@ -24,14 +24,16 @@ end
 @image_slide_number_margin_right ||= nil
 @image_slide_number_margin_bottom ||= nil
 
- at image_slide_number_draw_parameters ||=
-  {:reflect => {:ratio => 0.5, :alpha => 0.5}}
+ at image_slide_number_draw_parameters ||= {
+  :reflect => {:ratio => 0.5, :alpha => 0.5},
+  :draw_scaled_pixbuf => false,
+}
 
 match(Slide) do |slides|
   slides.delete_post_draw_proc_by_name(proc_name)
-  
+
   break if @image_slide_number_uninstall
-  
+
   loader = ImageLoader.new(find_file(@image_slide_number_image))
   unless @image_slide_number_show_text
     start_loader = ImageLoader.new(find_file(@image_slide_number_start_image))
@@ -51,7 +53,7 @@ match(Slide) do |slides|
     "color" => @image_slide_number_text_color,
     "weight" => "heavy",
   }
-  
+
   slides.add_post_draw_proc(proc_name) do |slide, canvas, x, y, w, h, simulation|
     if simulation
       image_height =  canvas.height * @image_slide_number_space_ratio
diff --git a/lib/rabbit/theme/image-timer/image-timer.rb b/lib/rabbit/theme/image-timer/image-timer.rb
index 07bf302..8cdafd9 100644
--- a/lib/rabbit/theme/image-timer/image-timer.rb
+++ b/lib/rabbit/theme/image-timer/image-timer.rb
@@ -30,7 +30,10 @@ end
 
 @image_timer_auto_updating = false
 
- at image_timer_draw_parameters ||= {:reflect => {:ratio => 0.5, :alpha => 0.5}}
+ at image_timer_draw_parameters ||= {
+  :reflect => {:ratio => 0.5, :alpha => 0.5},
+  :draw_scaled_pixbuf => false,
+}
 
 match(Slide) do |slides|
   slides.delete_post_draw_proc_by_name(proc_name)
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/pdf/pdf.rb b/lib/rabbit/theme/pdf/pdf.rb
index a15dc85..165d8c8 100644
--- a/lib/rabbit/theme/pdf/pdf.rb
+++ b/lib/rabbit/theme/pdf/pdf.rb
@@ -1,17 +1,23 @@
+set_background("black")
+
 begin
   include_theme(canvas.title)
 rescue LoadError
 end
 
 if canvas.allotted_time
-  @image_slide_number_margin_left = @margin_left
-  @image_slide_number_margin_right = @margin_right
-  @image_slide_number_margin_bottom = @margin_bottom
+  margin_left   = @margin_left
+  margin_right  = @margin_right
+  margin_bottom = @margin_bottom
+
+  @image_slide_number_margin_left   = margin_left
+  @image_slide_number_margin_right  = margin_right
+  @image_slide_number_margin_bottom = margin_bottom
   include_theme("image-slide-number")
 
-  @image_timer_margin_left = @margin_left
-  @image_timer_margin_right = @margin_right
-  @image_timer_margin_bottom = @margin_bottom
+  @image_timer_margin_left   = margin_left
+  @image_timer_margin_right  = margin_right
+  @image_timer_margin_bottom = margin_bottom
   include_theme("image-timer")
 end
 
diff --git a/lib/rabbit/theme/searcher.rb b/lib/rabbit/theme/searcher.rb
index 958c966..093d69f 100644
--- a/lib/rabbit/theme/searcher.rb
+++ b/lib/rabbit/theme/searcher.rb
@@ -32,12 +32,12 @@ module Rabbit
 
       # for backward compatibility
       alias add_theme_path add_image_path
-      
+
       module_function
       def theme_dir(base_dir)
         File.join(base_dir, 'rabbit', 'theme')
       end
-      
+
       def image_dir(base_dir)
         File.join(base_dir, 'rabbit', 'image')
       end
diff --git a/lib/rabbit/theme/slide-logo/slide-logo.rb b/lib/rabbit/theme/slide-logo/slide-logo.rb
index adb06e9..40e82f1 100644
--- a/lib/rabbit/theme/slide-logo/slide-logo.rb
+++ b/lib/rabbit/theme/slide-logo/slide-logo.rb
@@ -8,41 +8,51 @@ end
 @slide_logo_width ||= nil
 @slide_logo_height ||= canvas.height * 0.1
 
-match(SlideElement) do
+match(SlideElement) do |slides|
   delete_pre_draw_proc_by_name(name)
 
   break if @slide_logo_image_uninstall
 
-  loader = ImageLoader.new(find_file(@slide_logo_image))
+  loaders = {}
 
-  add_pre_draw_proc(name) do |slide, canvas, x, y, w, h, simulation|
-    unless simulation
-      slide_logo_width = @slide_logo_width
-      slide_logo_height = @slide_logo_height
-      if slide_logo_width.respond_to?(:call)
-        slide_logo_width = slide_logo_width.call(slide, canvas)
-      end
-      if slide_logo_height.respond_to?(:call)
-        slide_logo_height = slide_logo_height.call(slide, canvas)
-      end
-      loader.resize(slide_logo_width, slide_logo_height)
-
-      case @slide_logo_position
-      when :right
-        logo_x = canvas.width - loader.width
-        logo_y = 0
-      when :left
-        logo_x = 0
-        logo_y = 0
-      else
-        if @slide_logo_position.respond_to?(:call)
-          logo_x, logo_y = @slide_logo_position.call(slide, canvas)
+  slides.each do |slide|
+    slide_logo_image = slide["logo-image"] || @slide_logo_image
+    if slide_logo_image.respond_to?(:call)
+      slide_logo_image = slide_logo_image.call(slide)
+    end
+    slide_logo_image = find_file(slide_logo_image)
+    loaders[slide_logo_image] ||= ImageLoader.new(slide_logo_image)
+    loader = loaders[slide_logo_image]
+
+    slide.add_pre_draw_proc(name) do |canvas, x, y, w, h, simulation|
+      unless simulation
+        slide_logo_width = @slide_logo_width
+        slide_logo_height = @slide_logo_height
+        if slide_logo_width.respond_to?(:call)
+          slide_logo_width = slide_logo_width.call(slide, canvas)
+        end
+        if slide_logo_height.respond_to?(:call)
+          slide_logo_height = slide_logo_height.call(slide, canvas)
+        end
+        loader.resize(slide_logo_width, slide_logo_height)
+
+        case @slide_logo_position
+        when :right
+          logo_x = canvas.width - loader.width
+          logo_y = 0
+        when :left
+          logo_x = 0
+          logo_y = 0
         else
-          logo_x, logo_y = @slide_logo_position
+          if @slide_logo_position.respond_to?(:call)
+            logo_x, logo_y = @slide_logo_position.call(slide, canvas, loader)
+          else
+            logo_x, logo_y = @slide_logo_position
+          end
         end
+        loader.draw(canvas, logo_x, logo_y)
       end
-      loader.draw(canvas, logo_x, logo_y)
+      [x, y, w, h]
     end
-    [x, y, w, h]
   end
 end
diff --git a/lib/rabbit/theme/slide-show/slide-show.rb b/lib/rabbit/theme/slide-show/slide-show.rb
index 30f3e00..77e652e 100644
--- a/lib/rabbit/theme/slide-show/slide-show.rb
+++ b/lib/rabbit/theme/slide-show/slide-show.rb
@@ -12,10 +12,10 @@ default_slide_show_span *= 1000 # milliseconds -> seconds
 @@slide_show_timeout_id ||= nil
 
 unless @@slide_show_timeout_id.nil?
-  Gtk.timeout_remove(@@slide_show_timeout_id)
+  GLib::Source.remove(@@slide_show_timeout_id)
 end
 
-@@slide_show_timeout_id = Gtk.timeout_add(@slide_show_span) do
+@@slide_show_timeout_id = GLib::Timeout.add(@slide_show_span) do
   if canvas.last_slide?
     if @slide_show_loop
       canvas.reset_timer
diff --git a/lib/rabbit/theme/syntax-highlighting/syntax-highlighting.rb b/lib/rabbit/theme/syntax-highlighting/syntax-highlighting.rb
index 4805416..52784ce 100644
--- a/lib/rabbit/theme/syntax-highlighting/syntax-highlighting.rb
+++ b/lib/rabbit/theme/syntax-highlighting/syntax-highlighting.rb
@@ -51,7 +51,10 @@ theme_exit if @syntax_highlighting_uninstall
     :color => "#4e9a06",
   },
   :integer => {
-    :color => "#c4a000",
+    # :color => "#c4a000",
+  },
+  :float => {
+    # :color => "#c4a000",
   },
   :variable => {
     :color => "#ce5c00",
@@ -69,7 +72,7 @@ theme_exit if @syntax_highlighting_uninstall
     # :color => "#f57900",
   },
   :include => {
-    :color => "#73d216",
+    :color => "#a40000",
   },
   :pre_constant => {
     :color => "#5c35cc",
@@ -86,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"
@@ -99,13 +114,12 @@ theme_exit if @syntax_highlighting_uninstall
 @syntax_highlighting_padding_top ||= screen_y(2)
 @syntax_highlighting_padding_bottom ||= screen_y(2)
 
-if @syntax_highlighting_keep_in_size.nil?
-  @syntax_highlighting_keep_in_size = true
-end
-
 match("**", SyntaxHighlightingBlock) do |blocks|
   name = "syntax-highlighting-block"
 
+  blocks.prop_set("size", @normal_font_size)
+  set_font_family(blocks, @monospace_font_family)
+
   blocks.horizontal_centering = true
 
   params = {
@@ -126,8 +140,6 @@ match("**", SyntaxHighlightingBlock) do |blocks|
   blocks.margin_top = @space
   blocks.margin_bottom = @space
 
-  blocks.keep_in_size if @syntax_highlighting_keep_in_size
-
   draw_frame(blocks, params)
   blocks.prop_set("foreground", @syntax_highlighting_foreground)
 end
diff --git a/lib/rabbit/theme/tag/tag.rb b/lib/rabbit/theme/tag/tag.rb
index 13ef444..71d0c7b 100644
--- a/lib/rabbit/theme/tag/tag.rb
+++ b/lib/rabbit/theme/tag/tag.rb
@@ -43,10 +43,14 @@ match("**", CustomTag) do |tags|
       find_target.call(tag).prop_set("size", @small_font_size)
     when "x-small"
       find_target.call(tag).prop_set("size", @x_small_font_size)
+    when "xx-small"
+      find_target.call(tag).prop_set("size", @xx_small_font_size)
     when "large"
       find_target.call(tag).prop_set("size", @large_font_size)
     when "x-large"
       find_target.call(tag).prop_set("size", @x_large_font_size)
+    when "xx-large"
+      find_target.call(tag).prop_set("size", @xx_large_font_size)
     when /\A(normal|oblique|italic)\z/
       find_target.call(tag).prop_set("style", $1)
     when /\Amargin-(top|bottom|left|right)(?:\s*\*\s*(\d+))?\z/
diff --git a/lib/rabbit/theme/title-on-image-toolkit/title-on-image-toolkit.rb b/lib/rabbit/theme/title-on-image-toolkit/title-on-image-toolkit.rb
index 4a81515..bda42a3 100644
--- a/lib/rabbit/theme/title-on-image-toolkit/title-on-image-toolkit.rb
+++ b/lib/rabbit/theme/title-on-image-toolkit/title-on-image-toolkit.rb
@@ -76,6 +76,12 @@ def setup_title_on_image_slide(slide)
             move_y = @applier.screen_y(font_size.to_f / @applier.screen_size(20))
             canvas.draw_layout(shadow_layout, orig_x + move_x, base_y + move_y,
                                shadow_color)
+
+            canvas.draw_layout(shadow_layout,
+                               orig_x, base_y,
+                               shadow_color,
+                               :line_width => 5,
+                               :stroke => true)
           end
           headline.draw_element(canvas,
                                 orig_x, base_y, orig_w, base_h,
diff --git a/lib/rabbit/utils.rb b/lib/rabbit/utils.rb
index 03781f2..1adf5bf 100644
--- a/lib/rabbit/utils.rb
+++ b/lib/rabbit/utils.rb
@@ -1,3 +1,19 @@
+# Copyright (C) 2004-2015  Kouhei Sutou <kou at cozmixng.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
 require 'tempfile'
 require 'nkf'
 
@@ -106,11 +122,6 @@ module Rabbit
       REXML::Text.unnormalize(title).gsub(/\r|\n/, ' ')
     end
 
-    def drawable_to_pixbuf(drawable)
-      args = [drawable.colormap, drawable, 0, 0, *drawable.size]
-      Gdk::Pixbuf.from_drawable(*args)
-    end
-
     def process_pending_events
       if events_pending_available?
         while Gtk.events_pending?
@@ -184,9 +195,10 @@ module Rabbit
       window = base.window
       screen = window.screen
       num = screen.get_monitor(window)
-      monitor = screen.monitor_geometry(num)
+      monitor = screen.get_monitor_geometry(num)
       window_x, window_y = window.origin
-      window_width, window_height = window.size
+      window_width  = window.width
+      window_height = window.height
       target_width, target_height = target.size_request
 
       args = [window_x, window_y, window_width, window_height]
@@ -349,13 +361,13 @@ module Rabbit
       end
     end
   end
-  
+
   module ScreenInfo
     module_function
     def default_screen
       Gdk::Screen.default
     end
-    
+
     def screen_width
       default_screen.width
     end
@@ -381,7 +393,7 @@ module Rabbit
     end
 
     def screen_depth
-      default_screen.root_window.depth
+      default_screen.system_visual.depth
     end
 
     def mm_to_inch(mm)
@@ -407,16 +419,16 @@ module Rabbit
     def dirty?
       @dirty_count >= TOO_DIRTY
     end
-    
+
     def dirty(factor=0.1)
       @dirty_count += TOO_DIRTY * factor
       dirtied if dirty?
     end
-    
+
     def very_dirty
       dirty(1)
     end
-    
+
     def bit_dirty
       dirty(0.01)
     end
@@ -429,7 +441,7 @@ module Rabbit
     def dirtied
       dirty_count_clean
     end
-    
+
     def check_dirty
       if dirty?
         dirtied
diff --git a/lib/rabbit/version.rb b/lib/rabbit/version.rb
index 90b9fb0..83a91aa 100644
--- a/lib/rabbit/version.rb
+++ b/lib/rabbit/version.rb
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2013  Kouhei Sutou <kou at cozmixng.org>
+# Copyright (C) 2012-2016  Kouhei Sutou <kou at cozmixng.org>
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -15,5 +15,5 @@
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
 module Rabbit
-  VERSION = "2.1.1"
+  VERSION = "2.2.0"
 end
diff --git a/lib/rabbit/video-window.rb b/lib/rabbit/video-window.rb
index 6e3e5aa..910ac88 100644
--- a/lib/rabbit/video-window.rb
+++ b/lib/rabbit/video-window.rb
@@ -1,5 +1,5 @@
 require 'gst'
-require 'gtk2'
+require 'rabbit/gtk'
 
 module Rabbit
   class VideoWindow
@@ -35,15 +35,15 @@ module Rabbit
 
     private
     def init_window
-      @video_window = Gtk::Window.new(Gtk::Window::POPUP)
+      @video_window = Gtk::Window.new(:popup)
       @video_window.modal = true
       @video_window.set_transient_for(window)
 
-      vbox = Gtk::VBox.new
+      vbox = Gtk::Box.new(:vertical)
       vbox.pack_start(@video)
       @video_window.add(vbox)
       @video_window.signal_connect('frame-event') do |widget, event|
-        if event.event_type == Gdk::Event::Type::BUTTON_PRESS
+        if event.event_type == Gdk::EventType::BUTTON_PRESS
           @video.toggle
         end
       end
diff --git a/lib/rabbit/xmlrpc/server.rb b/lib/rabbit/xmlrpc/server.rb
index cca09c7..699eec6 100644
--- a/lib/rabbit/xmlrpc/server.rb
+++ b/lib/rabbit/xmlrpc/server.rb
@@ -12,7 +12,7 @@ module Rabbit
         mount(PATH, servlet)
       end
     end
-    
+
     class Servlet < ::XMLRPC::WEBrickServlet
       def initialize(front, *args)
         super(*args)
diff --git a/metadata.yml b/metadata.yml
deleted file mode 100644
index b53b003..0000000
--- a/metadata.yml
+++ /dev/null
@@ -1,1110 +0,0 @@
---- !ruby/object:Gem::Specification
-name: rabbit
-version: !ruby/object:Gem::Version
-  version: 2.1.1
-  prerelease: 
-platform: ruby
-authors:
-- Kouhei Sutou
-autorequire: 
-bindir: bin
-cert_chain: []
-date: 2013-06-26 00:00:00.000000000 Z
-dependencies:
-- !ruby/object:Gem::Dependency
-  name: gtk2
-  requirement: !ruby/object:Gem::Requirement
-    none: false
-    requirements:
-    - - ! '>='
-      - !ruby/object:Gem::Version
-        version: '0'
-  type: :runtime
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    none: false
-    requirements:
-    - - ! '>='
-      - !ruby/object:Gem::Version
-        version: '0'
-- !ruby/object:Gem::Dependency
-  name: rsvg2
-  requirement: !ruby/object:Gem::Requirement
-    none: false
-    requirements:
-    - - ! '>='
-      - !ruby/object:Gem::Version
-        version: '0'
-  type: :runtime
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    none: false
-    requirements:
-    - - ! '>='
-      - !ruby/object:Gem::Version
-        version: '0'
-- !ruby/object:Gem::Dependency
-  name: poppler
-  requirement: !ruby/object:Gem::Requirement
-    none: false
-    requirements:
-    - - ! '>='
-      - !ruby/object:Gem::Version
-        version: '0'
-  type: :runtime
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    none: false
-    requirements:
-    - - ! '>='
-      - !ruby/object:Gem::Version
-        version: '0'
-- !ruby/object:Gem::Dependency
-  name: hikidoc
-  requirement: !ruby/object:Gem::Requirement
-    none: false
-    requirements:
-    - - ! '>='
-      - !ruby/object:Gem::Version
-        version: '0'
-  type: :runtime
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    none: false
-    requirements:
-    - - ! '>='
-      - !ruby/object:Gem::Version
-        version: '0'
-- !ruby/object:Gem::Dependency
-  name: nokogiri
-  requirement: !ruby/object:Gem::Requirement
-    none: false
-    requirements:
-    - - ! '>='
-      - !ruby/object:Gem::Version
-        version: '0'
-  type: :runtime
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    none: false
-    requirements:
-    - - ! '>='
-      - !ruby/object:Gem::Version
-        version: '0'
-- !ruby/object:Gem::Dependency
-  name: rdtool
-  requirement: !ruby/object:Gem::Requirement
-    none: false
-    requirements:
-    - - ! '>='
-      - !ruby/object:Gem::Version
-        version: '0'
-  type: :runtime
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    none: false
-    requirements:
-    - - ! '>='
-      - !ruby/object:Gem::Version
-        version: '0'
-- !ruby/object:Gem::Dependency
-  name: rttool
-  requirement: !ruby/object:Gem::Requirement
-    none: false
-    requirements:
-    - - ! '>='
-      - !ruby/object:Gem::Version
-        version: '0'
-  type: :runtime
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    none: false
-    requirements:
-    - - ! '>='
-      - !ruby/object:Gem::Version
-        version: '0'
-- !ruby/object:Gem::Dependency
-  name: coderay
-  requirement: !ruby/object:Gem::Requirement
-    none: false
-    requirements:
-    - - ! '>='
-      - !ruby/object:Gem::Version
-        version: 1.0.0
-  type: :runtime
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    none: false
-    requirements:
-    - - ! '>='
-      - !ruby/object:Gem::Version
-        version: 1.0.0
-- !ruby/object:Gem::Dependency
-  name: kramdown
-  requirement: !ruby/object:Gem::Requirement
-    none: false
-    requirements:
-    - - ! '>='
-      - !ruby/object:Gem::Version
-        version: '0'
-  type: :runtime
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    none: false
-    requirements:
-    - - ! '>='
-      - !ruby/object:Gem::Version
-        version: '0'
-- !ruby/object:Gem::Dependency
-  name: gettext
-  requirement: !ruby/object:Gem::Requirement
-    none: false
-    requirements:
-    - - ! '>='
-      - !ruby/object:Gem::Version
-        version: '0'
-  type: :runtime
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    none: false
-    requirements:
-    - - ! '>='
-      - !ruby/object:Gem::Version
-        version: '0'
-- !ruby/object:Gem::Dependency
-  name: faraday
-  requirement: !ruby/object:Gem::Requirement
-    none: false
-    requirements:
-    - - ! '>='
-      - !ruby/object:Gem::Version
-        version: '0'
-  type: :runtime
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    none: false
-    requirements:
-    - - ! '>='
-      - !ruby/object:Gem::Version
-        version: '0'
-- !ruby/object:Gem::Dependency
-  name: test-unit
-  requirement: !ruby/object:Gem::Requirement
-    none: false
-    requirements:
-    - - ! '>='
-      - !ruby/object:Gem::Version
-        version: '0'
-  type: :development
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    none: false
-    requirements:
-    - - ! '>='
-      - !ruby/object:Gem::Version
-        version: '0'
-- !ruby/object:Gem::Dependency
-  name: test-unit-notify
-  requirement: !ruby/object:Gem::Requirement
-    none: false
-    requirements:
-    - - ! '>='
-      - !ruby/object:Gem::Version
-        version: '0'
-  type: :development
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    none: false
-    requirements:
-    - - ! '>='
-      - !ruby/object:Gem::Version
-        version: '0'
-- !ruby/object:Gem::Dependency
-  name: test-unit-rr
-  requirement: !ruby/object:Gem::Requirement
-    none: false
-    requirements:
-    - - ! '>='
-      - !ruby/object:Gem::Version
-        version: '0'
-  type: :development
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    none: false
-    requirements:
-    - - ! '>='
-      - !ruby/object:Gem::Version
-        version: '0'
-- !ruby/object:Gem::Dependency
-  name: rake
-  requirement: !ruby/object:Gem::Requirement
-    none: false
-    requirements:
-    - - ! '>='
-      - !ruby/object:Gem::Version
-        version: '0'
-  type: :development
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    none: false
-    requirements:
-    - - ! '>='
-      - !ruby/object:Gem::Version
-        version: '0'
-- !ruby/object:Gem::Dependency
-  name: bundler
-  requirement: !ruby/object:Gem::Requirement
-    none: false
-    requirements:
-    - - ! '>='
-      - !ruby/object:Gem::Version
-        version: '0'
-  type: :development
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    none: false
-    requirements:
-    - - ! '>='
-      - !ruby/object:Gem::Version
-        version: '0'
-- !ruby/object:Gem::Dependency
-  name: jekyll
-  requirement: !ruby/object:Gem::Requirement
-    none: false
-    requirements:
-    - - ! '>='
-      - !ruby/object:Gem::Version
-        version: 1.0.2
-  type: :development
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    none: false
-    requirements:
-    - - ! '>='
-      - !ruby/object:Gem::Version
-        version: 1.0.2
-description: Rabbit is an RD-document-based presentation application.
-email:
-- kou at cozmixng.org
-executables:
-- rabbit-slide
-- rabbit
-- rabbit-theme
-- rabbit-command
-- rabbirc
-extensions: []
-extra_rdoc_files: []
-files:
-- Rakefile
-- COPYING
-- GPL
-- README
-- Gemfile
-- rabbit.gemspec
-- lib/rabbit/info-window.rb
-- lib/rabbit/searcher.rb
-- lib/rabbit/version.rb
-- lib/rabbit/logger.rb
-- lib/rabbit/slideshare.rb
-- lib/rabbit/logger/gui.rb
-- lib/rabbit/logger/base.rb
-- lib/rabbit/logger/stderr.rb
-- lib/rabbit/command/rabbit-slide.rb
-- lib/rabbit/command/rabbit.rb
-- lib/rabbit/command/rabbit-theme.rb
-- lib/rabbit/gettext.rb
-- lib/rabbit/action.rb
-- lib/rabbit/image/svg.rb
-- lib/rabbit/image/pdf.rb
-- lib/rabbit/image/default.rb
-- lib/rabbit/image/dia.rb
-- lib/rabbit/image/eps.rb
-- lib/rabbit/image/gimp.rb
-- lib/rabbit/image/base.rb
-- lib/rabbit/html/template.erb
-- lib/rabbit/html/generator.rb
-- lib/rabbit/front.rb
-- lib/rabbit/element.rb
-- lib/rabbit/utils.rb
-- lib/rabbit/keys.rb
-- lib/rabbit/source.rb
-- lib/rabbit/image.rb
-- lib/rabbit/soap/driver.rb
-- lib/rabbit/soap/server.rb
-- lib/rabbit/soap/base.rb
-- lib/rabbit/parser.rb
-- lib/rabbit/action/basic.rb
-- lib/rabbit/action/toggle.rb
-- lib/rabbit/action/radio.rb
-- lib/rabbit/config.rb
-- lib/rabbit/theme-configuration.rb
-- lib/rabbit/gesture/processor.rb
-- lib/rabbit/gesture/handler.rb
-- lib/rabbit/frame.rb
-- lib/rabbit/source-generator.rb
-- lib/rabbit/gem-finder.rb
-- lib/rabbit/video-window.rb
-- lib/rabbit/gem-builder.rb
-- lib/rabbit/cursor-manager.rb
-- lib/rabbit/stock.rb
-- lib/rabbit/menu.rb
-- lib/rabbit/source-generator/hiki.rb
-- lib/rabbit/source-generator/markdown.rb
-- lib/rabbit/source-generator/rd.rb
-- lib/rabbit/console.rb
-- lib/rabbit/theme/slide-show/slide-show.rb
-- lib/rabbit/theme/slide-show/property.rb
-- lib/rabbit/theme/lightning-simple/lightning-simple.rb
-- lib/rabbit/theme/lightning-simple/property.rb
-- lib/rabbit/theme/auto-slide/auto-slide.rb
-- lib/rabbit/theme/auto-slide/property.rb
-- lib/rabbit/theme/title-on-image-toolkit/title-on-image-toolkit.rb
-- lib/rabbit/theme/title-on-image-toolkit/property.rb
-- lib/rabbit/theme/cozmixng/cozmixng.rb
-- lib/rabbit/theme/cozmixng/property.rb
-- lib/rabbit/theme/searcher.rb
-- lib/rabbit/theme/default-preformatted/default-preformatted.rb
-- lib/rabbit/theme/default-preformatted/property.rb
-- lib/rabbit/theme/edge-info-toolkit/edge-info-toolkit.rb
-- lib/rabbit/theme/edge-info-toolkit/property.rb
-- lib/rabbit/theme/newline-in-title/newline-in-title.rb
-- lib/rabbit/theme/newline-in-title/property.rb
-- lib/rabbit/theme/tag/tag.rb
-- lib/rabbit/theme/tag/property.rb
-- lib/rabbit/theme/scroll-effect/scroll-effect.rb
-- lib/rabbit/theme/scroll-effect/property.rb
-- lib/rabbit/theme/default-title-text/default-title-text.rb
-- lib/rabbit/theme/default-title-text/property.rb
-- lib/rabbit/theme/blue-bar/blue-bar.rb
-- lib/rabbit/theme/blue-bar/property.rb
-- lib/rabbit/theme/applier.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-title-slide/default-title-slide.rb
-- lib/rabbit/theme/default-title-slide/property.rb
-- lib/rabbit/theme/lightning-clear-blue/lightning-clear-blue.rb
-- lib/rabbit/theme/lightning-clear-blue/property.rb
-- lib/rabbit/theme/ruby-gnome2-preformatted/ruby-gnome2-preformatted.rb
-- lib/rabbit/theme/ruby-gnome2-preformatted/property.rb
-- lib/rabbit/theme/title-logo/title-logo.rb
-- lib/rabbit/theme/title-logo/property.rb
-- lib/rabbit/theme/syntax-highlighting/syntax-highlighting.rb
-- lib/rabbit/theme/syntax-highlighting/property.rb
-- lib/rabbit/theme/slide-background/slide-background.rb
-- lib/rabbit/theme/slide-background/property.rb
-- lib/rabbit/theme/image/image.rb
-- lib/rabbit/theme/image/property.rb
-- lib/rabbit/theme/default-foot-text/default-foot-text.rb
-- lib/rabbit/theme/default-foot-text/property.rb
-- lib/rabbit/theme/default-text/default-text.rb
-- lib/rabbit/theme/default-text/property.rb
-- lib/rabbit/theme/table/table.rb
-- lib/rabbit/theme/table/property.rb
-- lib/rabbit/theme/ruby-gnome2-foot-text/ruby-gnome2-foot-text.rb
-- lib/rabbit/theme/ruby-gnome2-foot-text/property.rb
-- lib/rabbit/theme/enishi-green/enishi-green.rb
-- lib/rabbit/theme/enishi-green/property.rb
-- lib/rabbit/theme/stream-comment/stream-comment.rb
-- lib/rabbit/theme/stream-comment/property.rb
-- lib/rabbit/theme/color-circle-slide/color-circle-slide.rb
-- lib/rabbit/theme/color-circle-slide/property.rb
-- lib/rabbit/theme/base/base.rb
-- lib/rabbit/theme/base/property.rb
-- lib/rabbit/theme/clear-blue/clear-blue.rb
-- lib/rabbit/theme/clear-blue/property.rb
-- lib/rabbit/theme/ranguba/ranguba.rb
-- lib/rabbit/theme/ranguba/property.rb
-- lib/rabbit/theme/ruby-gnome2-item-mark/ruby-gnome2-item-mark.rb
-- lib/rabbit/theme/ruby-gnome2-item-mark/property.rb
-- lib/rabbit/theme/default-block-quote/default-block-quote.rb
-- lib/rabbit/theme/default-block-quote/property.rb
-- lib/rabbit/theme/day-white/day-white.rb
-- lib/rabbit/theme/day-white/property.rb
-- lib/rabbit/theme/night-black/night-black.rb
-- lib/rabbit/theme/night-black/property.rb
-- lib/rabbit/theme/color-circle-common/color-circle-common.rb
-- lib/rabbit/theme/color-circle-common/property.rb
-- lib/rabbit/theme/background-image-toolkit/background-image-toolkit.rb
-- lib/rabbit/theme/default/default.rb
-- lib/rabbit/theme/default/property.rb
-- lib/rabbit/theme/emphasize-keyword/emphasize-keyword.rb
-- lib/rabbit/theme/emphasize-keyword/property.rb
-- lib/rabbit/theme/rabbit/rabbit.rb
-- lib/rabbit/theme/rabbit/property.rb
-- lib/rabbit/theme/rabbit-powered-by/rabbit-powered-by.rb
-- lib/rabbit/theme/rabbit-powered-by/property.rb
-- lib/rabbit/theme/blue-circle/blue-circle.rb
-- lib/rabbit/theme/blue-circle/property.rb
-- lib/rabbit/theme/clock/clock.rb
-- lib/rabbit/theme/clock/property.rb
-- lib/rabbit/theme/ruby-gnome2-icon/ruby-gnome2-icon.rb
-- lib/rabbit/theme/ruby-gnome2-icon/property.rb
-- lib/rabbit/theme/timer/timer.rb
-- lib/rabbit/theme/timer/property.rb
-- lib/rabbit/theme/ruby-gnome2-description/ruby-gnome2-description.rb
-- lib/rabbit/theme/ruby-gnome2-description/property.rb
-- lib/rabbit/theme/cozmixng-powered-by/cozmixng-powered-by.rb
-- lib/rabbit/theme/cozmixng-powered-by/property.rb
-- lib/rabbit/theme/rotate-zoom-effect/rotate-zoom-effect.rb
-- lib/rabbit/theme/rotate-zoom-effect/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/lightning-rabbit/lightning-rabbit.rb
-- lib/rabbit/theme/lightning-rabbit/property.rb
-- lib/rabbit/theme/slide-footer-info/slide-footer-info.rb
-- lib/rabbit/theme/slide-footer-info/property.rb
-- lib/rabbit/theme/default-description/default-description.rb
-- lib/rabbit/theme/default-description/property.rb
-- lib/rabbit/theme/ruby-gnome2-headline/ruby-gnome2-headline.rb
-- lib/rabbit/theme/ruby-gnome2-headline/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-description/color-circle-description.rb
-- lib/rabbit/theme/color-circle-description/property.rb
-- lib/rabbit/theme/default-icon/default-icon.rb
-- lib/rabbit/theme/default-icon/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/default-item-mark/default-item-mark.rb
-- lib/rabbit/theme/default-item-mark/property.rb
-- lib/rabbit/theme/lightning-talk/lightning-talk.rb
-- lib/rabbit/theme/lightning-talk/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/manager.rb
-- lib/rabbit/theme/newline-in-slides/newline-in-slides.rb
-- lib/rabbit/theme/newline-in-slides/property.rb
-- lib/rabbit/theme/color-circle/property.rb
-- lib/rabbit/theme/color-circle/color-circle.rb
-- lib/rabbit/theme/rabbit-item-mark/rabbit-item-mark.rb
-- lib/rabbit/theme/rabbit-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/ruby-gnome2-slide/ruby-gnome2-slide.rb
-- lib/rabbit/theme/ruby-gnome2-slide/property.rb
-- lib/rabbit/theme/clutter-comment/clutter-comment.rb
-- lib/rabbit/theme/clutter-comment/property.rb
-- lib/rabbit/theme/mirror-effect/mirror-effect.rb
-- lib/rabbit/theme/mirror-effect/property.rb
-- lib/rabbit/theme/slide-background-image/slide-background-image.rb
-- lib/rabbit/theme/slide-background-image/property.rb
-- lib/rabbit/theme/entry.rb
-- lib/rabbit/theme/default-comment/default-comment.rb
-- lib/rabbit/theme/default-comment/property.rb
-- lib/rabbit/theme/debian/debian.rb
-- lib/rabbit/theme/debian/property.rb
-- lib/rabbit/theme/slide-number/slide-number.rb
-- lib/rabbit/theme/slide-number/property.rb
-- lib/rabbit/theme/icon/icon.rb
-- lib/rabbit/theme/icon/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/red-frame/red-frame.rb
-- lib/rabbit/theme/red-frame/property.rb
-- lib/rabbit/theme/slide-header-info/slide-header-info.rb
-- lib/rabbit/theme/slide-header-info/property.rb
-- lib/rabbit/theme/nari/nari.rb
-- lib/rabbit/theme/nari/property.rb
-- lib/rabbit/theme/document.erb
-- lib/rabbit/theme/title-background-color/title-background-color.rb
-- lib/rabbit/theme/title-background-color/property.rb
-- lib/rabbit/theme/footer-logo/footer-logo.rb
-- lib/rabbit/theme/footer-logo/property.rb
-- lib/rabbit/theme/centering-rabbit/centering-rabbit.rb
-- lib/rabbit/theme/centering-rabbit/property.rb
-- lib/rabbit/theme/powered-by/powered-by.rb
-- lib/rabbit/theme/powered-by/property.rb
-- lib/rabbit/theme/rabbit-headline-logo/rabbit-headline-logo.rb
-- lib/rabbit/theme/rabbit-headline-logo/property.rb
-- lib/rabbit/theme/image-viewer/image-viewer.rb
-- lib/rabbit/theme/image-viewer/property.rb
-- lib/rabbit/theme/dark-gradation/dark-gradation.rb
-- lib/rabbit/theme/dark-gradation/property.rb
-- lib/rabbit/theme/image-slide-number/image-slide-number.rb
-- lib/rabbit/theme/image-slide-number/property.rb
-- lib/rabbit/theme/default-method-list/default-method-list.rb
-- lib/rabbit/theme/default-method-list/property.rb
-- lib/rabbit/theme/simple-item-mark/simple-item-mark.rb
-- lib/rabbit/theme/simple-item-mark/property.rb
-- lib/rabbit/theme/rabbit-block-quote/rabbit-block-quote.rb
-- lib/rabbit/theme/rabbit-block-quote/property.rb
-- lib/rabbit/theme/green-circle/green-circle.rb
-- lib/rabbit/theme/green-circle/property.rb
-- lib/rabbit/theme/slide-logo/slide-logo.rb
-- lib/rabbit/theme/slide-logo/property.rb
-- lib/rabbit/theme/rubykaigi2011/rubykaigi2011.rb
-- lib/rabbit/theme/rubykaigi2011/property.rb
-- lib/rabbit/theme/title-background-image/title-background-image.rb
-- lib/rabbit/theme/title-background-image/property.rb
-- lib/rabbit/theme/ruby-gnome2/ruby-gnome2.rb
-- lib/rabbit/theme/ruby-gnome2/property.rb
-- lib/rabbit/theme/rabbit-icon/rabbit-icon.rb
-- lib/rabbit/theme/rabbit-icon/property.rb
-- lib/rabbit/theme/color-circle-text/property.rb
-- lib/rabbit/theme/color-circle-text/color-circle-text.rb
-- lib/rabbit/theme/default-slide/default-slide.rb
-- lib/rabbit/theme/default-slide/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/title-slide-background-image/title-slide-background-image.rb
-- lib/rabbit/theme/title-slide-background-image/property.rb
-- lib/rabbit/theme/lightning-monochrome/lightning-monochrome.rb
-- lib/rabbit/theme/lightning-monochrome/property.rb
-- lib/rabbit/theme/lightning-talk-toolkit/lightning-talk-toolkit.rb
-- lib/rabbit/theme/lightning-talk-toolkit/property.rb
-- lib/rabbit/theme/color-circle-preformatted/color-circle-preformatted.rb
-- lib/rabbit/theme/color-circle-preformatted/property.rb
-- lib/rabbit/theme/rabbit-title-logo/rabbit-title-logo.rb
-- lib/rabbit/theme/rabbit-title-logo/property.rb
-- lib/rabbit/theme/image-timer/property.rb
-- lib/rabbit/theme/image-timer/image-timer.rb
-- lib/rabbit/theme/title-shadow/title-shadow.rb
-- lib/rabbit/theme/title-shadow/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/show-frame/show-frame.rb
-- lib/rabbit/theme/show-frame/property.rb
-- lib/rabbit/theme/body-background-image/body-background-image.rb
-- lib/rabbit/theme/pdf/pdf.rb
-- lib/rabbit/theme/pdf/property.rb
-- lib/rabbit/theme/footer-comment/footer-comment.rb
-- lib/rabbit/theme/footer-comment/property.rb
-- lib/rabbit/theme/headline-logo/headline-logo.rb
-- lib/rabbit/theme/headline-logo/property.rb
-- lib/rabbit/author-configuration.rb
-- lib/rabbit/search-window.rb
-- lib/rabbit/renderer.rb
-- lib/rabbit/path-manipulatable.rb
-- lib/rabbit/formatter.rb
-- lib/rabbit/renderer/color.rb
-- lib/rabbit/renderer/pixmap.rb
-- lib/rabbit/renderer/pixmap/gdk.rb
-- lib/rabbit/renderer/pixmap/gl.rb
-- lib/rabbit/renderer/pixmap/cairo.rb
-- lib/rabbit/renderer/pixmap/base.rb
-- lib/rabbit/renderer/print/multiple.rb
-- lib/rabbit/renderer/print/cairo.rb
-- lib/rabbit/renderer/print/layout.rb
-- lib/rabbit/renderer/print/base.rb
-- lib/rabbit/renderer/gl.rb
-- lib/rabbit/renderer/display/drawing-area.rb
-- lib/rabbit/renderer/display/graffiti.rb
-- lib/rabbit/renderer/display/mask.rb
-- lib/rabbit/renderer/display/info.rb
-- lib/rabbit/renderer/display/drawing-area-view-only.rb
-- lib/rabbit/renderer/display/gl.rb
-- lib/rabbit/renderer/display/button-handler.rb
-- lib/rabbit/renderer/display/clutter-embed.rb
-- lib/rabbit/renderer/display/spotlight.rb
-- lib/rabbit/renderer/display/hook-handler.rb
-- lib/rabbit/renderer/display/search.rb
-- lib/rabbit/renderer/display/cursor.rb
-- lib/rabbit/renderer/display/menu.rb
-- lib/rabbit/renderer/display/key-handler.rb
-- lib/rabbit/renderer/display/scroll-handler.rb
-- lib/rabbit/renderer/display/gesture.rb
-- lib/rabbit/renderer/display/base.rb
-- lib/rabbit/renderer/display/progress.rb
-- lib/rabbit/renderer/display/drawing-area-base.rb
-- lib/rabbit/renderer/display/magnifier.rb
-- lib/rabbit/renderer/display/drawing-area-primitive.rb
-- lib/rabbit/renderer/print.rb
-- lib/rabbit/renderer/kernel.rb
-- lib/rabbit/renderer/engine.rb
-- lib/rabbit/renderer/display.rb
-- lib/rabbit/renderer/engine/gdk.rb
-- lib/rabbit/renderer/engine/cairo.rb
-- lib/rabbit/renderer/base.rb
-- lib/rabbit/task/slide.rb
-- lib/rabbit/task/theme.rb
-- lib/rabbit/progress.rb
-- lib/rabbit/console/roff.rb
-- lib/rabbit/rabbit.rb
-- lib/rabbit/slide-configuration.rb
-- lib/rabbit/source/memory.rb
-- lib/rabbit/source/hiki.rb
-- lib/rabbit/source/file.rb
-- lib/rabbit/source/uri.rb
-- lib/rabbit/source/argf.rb
-- lib/rabbit/source/base.rb
-- lib/rabbit/source/slide-share.rb
-- lib/rabbit/task.rb
-- lib/rabbit/xmlrpc/server.rb
-- lib/rabbit/xmlrpc/client.rb
-- lib/rabbit/xmlrpc/base.rb
-- lib/rabbit/dependency-canvas.rb
-- lib/rabbit/element/text-container-element.rb
-- lib/rabbit/element/tag.rb
-- lib/rabbit/element/table.rb
-- lib/rabbit/element/poppler-title-slide.rb
-- lib/rabbit/element/index-slide.rb
-- lib/rabbit/element/footnote.rb
-- lib/rabbit/element/image-title-slide.rb
-- lib/rabbit/element/description-list.rb
-- lib/rabbit/element/base/draw-hook.rb
-- lib/rabbit/element/image.rb
-- lib/rabbit/element/text-block-element.rb
-- lib/rabbit/element/block-element.rb
-- lib/rabbit/element/slide-element.rb
-- lib/rabbit/element/title-slide.rb
-- lib/rabbit/element/text-element.rb
-- lib/rabbit/element/poppler-page.rb
-- lib/rabbit/element/poppler-slide.rb
-- lib/rabbit/element/item-list.rb
-- lib/rabbit/element/text-renderer.rb
-- lib/rabbit/element/syntax-highlighting.rb
-- lib/rabbit/element/container-element.rb
-- lib/rabbit/element/video.rb
-- lib/rabbit/element/slide.rb
-- lib/rabbit/element/text.rb
-- lib/rabbit/element/block.rb
-- lib/rabbit/element/base.rb
-- lib/rabbit/element/enum-list.rb
-- lib/rabbit/element/preformatted.rb
-- lib/rabbit/element/method-list.rb
-- lib/rabbit/readme-parser.rb
-- lib/rabbit/canvas.rb
-- lib/rabbit/parser/pdf.rb
-- lib/rabbit/parser/wiki/output.rb
-- lib/rabbit/parser/ext/escape.rb
-- lib/rabbit/parser/ext/enscript.rb
-- lib/rabbit/parser/ext/coderay.rb
-- lib/rabbit/parser/ext/image.rb
-- lib/rabbit/parser/ext/aafigure.rb
-- lib/rabbit/parser/ext/emacs.rb
-- lib/rabbit/parser/ext/video.rb
-- lib/rabbit/parser/ext/tex.rb
-- lib/rabbit/parser/ext/blockdiag.rb
-- lib/rabbit/parser/ext/inline.rb
-- lib/rabbit/parser/ext/entity.rb
-- lib/rabbit/parser/pause-support.rb
-- lib/rabbit/parser/image.rb
-- lib/rabbit/parser/markdown/converter.rb
-- lib/rabbit/parser/rd/ext/refer.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/video.rb
-- lib/rabbit/parser/rd/ext/block-verbatim.rb
-- lib/rabbit/parser/rd/ext/base.rb
-- lib/rabbit/parser/rd/visitor.rb
-- lib/rabbit/parser/rd/rt/rt2rabbit-lib.rb
-- lib/rabbit/parser/rd/rd2rabbit-lib.rb
-- lib/rabbit/parser/base.rb
-- lib/rabbit/parser/wiki.rb
-- lib/rabbit/parser/markdown.rb
-- lib/rabbit/parser/rd.rb
-- lib/rabbit/trackball.rb
-- lib/rabbit/graffiti/processor.rb
-- lib/rabbit/graffiti/config-dialog.rb
-- data/locale/fr/LC_MESSAGES/rabbit.mo
-- data/locale/en/LC_MESSAGES/rabbit.mo
-- data/locale/ja/LC_MESSAGES/rabbit.mo
-- data/rabbit/image/rabbit-images/tanu-kitaro.png
-- data/rabbit/image/rabbit-images/mini-alice.png
-- data/rabbit/image/rabbit-images/rabbit-banner-blue.png
-- data/rabbit/image/rabbit-images/blue-item.png
-- data/rabbit/image/rabbit-images/rabbit-banner-green.png
-- data/rabbit/image/rabbit-images/close-quote-light-blue.png
-- data/rabbit/image/rabbit-images/rabbit-pink-logo2.png
-- data/rabbit/image/rabbit-images/rabbit-banner2.png
-- data/rabbit/image/rabbit-images/mini-usagi.png
-- data/rabbit/image/rabbit-images/mini-horizontal-bar.png
-- data/rabbit/image/rabbit-images/lavie-icon.png
-- data/rabbit/image/rabbit-images/usa-taro.png
-- data/rabbit/image/rabbit-images/mini-vertical-bar.png
-- data/rabbit/image/rabbit-images/lavie-with-logo.png
-- data/rabbit/image/rabbit-images/green-item.png
-- data/rabbit/image/rabbit-images/close-quote-brown.png
-- data/rabbit/image/rabbit-images/rabbit-banner-heads.png
-- data/rabbit/image/rabbit-images/rabbit-banner.png
-- data/rabbit/image/rabbit-images/mini-usa-taro.png
-- data/rabbit/image/rabbit-images/rabbit-pink-logo.png
-- data/rabbit/image/rabbit-images/mini-yukidaru-taro.png
-- data/rabbit/image/rabbit-images/open-quote-light-blue.png
-- data/rabbit/image/rabbit-images/mini-kame-taro.png
-- data/rabbit/image/rabbit-images/close-quote-blue.png
-- data/rabbit/image/rabbit-images/rabbit-banner-pink.png
-- data/rabbit/image/rabbit-images/open-quote-brown.png
-- data/rabbit/image/rabbit-images/mini-tanu-kitaro.png
-- data/rabbit/image/rabbit-images/red-item2.png
-- data/rabbit/image/rabbit-images/start-flag.png
-- data/rabbit/image/rabbit-images/yukiusa.png
-- data/rabbit/image/rabbit-images/mini-butler-rabbit.png
-- data/rabbit/image/rabbit-images/usagi.png
-- data/rabbit/image/rabbit-images/lavie.png
-- data/rabbit/image/rabbit-images/open-quote-blue.png
-- data/rabbit/image/rabbit-images/rabbit-images.rb
-- data/rabbit/image/rabbit-images/goal-flag.png
-- data/rabbit/image/rabbit-images/kame.png
-- data/rabbit/image/rabbit-images/property.rb
-- data/rabbit/image/rabbit-images/red-item.png
-- data/rabbit/image/ruby-images/ruby-pink-polygon-icon.png
-- data/rabbit/image/ruby-images/ruby-images.rb
-- data/rabbit/image/ruby-images/ruby-pink-circle-small-icon.png
-- data/rabbit/image/ruby-images/ruby-pink-circle-icon.png
-- data/rabbit/image/ruby-images/ruby-pink-circle.png
-- data/rabbit/image/ruby-images/ruby-pink-polygon.png
-- data/rabbit/image/ruby-images/ruby-pink-polygon-logo.png
-- data/rabbit/image/ruby-images/ruby-pink-circle-logo.png
-- data/rabbit/image/ruby-images/ruby-pink-polygon-small-icon.png
-- data/rabbit/image/ruby-images/property.rb
-- data/rabbit/image/clear-blue-images/clear-blue-headline-background.png
-- data/rabbit/image/clear-blue-images/clear-blue-images.rb
-- data/rabbit/image/clear-blue-images/clear-blue-icon.png
-- 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/rubykaigi2011-images/rubykaigi2011-background-black.jpg
-- data/rabbit/image/rubykaigi2011-images/rubykaigi2011-images.rb
-- data/rabbit/image/rubykaigi2011-images/rubykaigi2011-background-white.jpg
-- data/rabbit/image/rubykaigi2011-images/property.rb
-- data/rabbit/image/nari-images/nari-start-flag.png
-- data/rabbit/image/nari-images/gc_kun.png
-- data/rabbit/image/nari-images/nari-goal-flag.png
-- data/rabbit/image/nari-images/chibi_nari.png
-- data/rabbit/image/nari-images/nari-images.rb
-- data/rabbit/image/nari-images/property.rb
-- data/rabbit/image/ranguba-images/ranguba-mark.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.svg
-- data/rabbit/image/ranguba-images/ranguba-bar.png
-- data/rabbit/image/ranguba-images/ranguba-mark.svg
-- data/rabbit/image/ranguba-images/ranguba-item-mark-mini.png
-- data/rabbit/image/ranguba-images/ranguba-item-mark.png
-- data/rabbit/image/debian-images/top.png
-- data/rabbit/image/debian-images/item1.png
-- data/rabbit/image/debian-images/debian-whirl.png
-- data/rabbit/image/debian-images/debian-logo.png
-- data/rabbit/image/debian-images/bottom.png
-- data/rabbit/image/debian-images/debian-logo-pink.png
-- data/rabbit/image/debian-images/debian-images.rb
-- data/rabbit/image/debian-images/property.rb
-- data/account.kou.gpg
-- entities/isomopf.ent
-- entities/isoamso.ent
-- entities/ent2rb.rb
-- entities/isopub.ent
-- entities/README
-- entities/isogrk3.ent
-- entities/isoamsa.ent
-- entities/isoamsr.ent
-- entities/isodia.ent
-- entities/isoamsb.ent
-- entities/mmlextra.ent
-- entities/isoamsn.ent
-- entities/isoamsc.ent
-- entities/isobox.ent
-- entities/isocyr1.ent
-- entities/isolat2.ent
-- entities/isolat1.ent
-- entities/isocyr2.ent
-- entities/isomfrk.ent
-- entities/isotech.ent
-- entities/isomscr.ent
-- entities/mmlalias.ent
-- entities/isonum.ent
-- sample/lightning-talk.rd
-- sample/equation.eps
-- sample/rabbit.dia
-- sample/rabbit-balloon.obj
-- sample/cozmixng.rd
-- sample/table.rd
-- sample/rabbit-implementation.rd
-- sample/lldn/input.svg
-- sample/lldn/rabbit-rwiki.svg
-- sample/lldn/rabbit_banner.png
-- sample/lldn/lldn.rd
-- sample/lldn/rabbit_banner2.png
-- sample/lldn/interface.svg
-- sample/lldn/output.svg
-- sample/lldn/lavie.png
-- sample/lldn/kame.png
-- sample/cozmixng_is_field.svg
-- sample/info-window.png
-- sample/slide-property.hiki
-- sample/rabbit.md
-- sample/rabbit.xcf
-- sample/enishi-green.rab
-- sample/rabbit/theme/stop-auto-slide/stop-auto-slide.rb
-- sample/rabbit/theme/lightning-talk-with-contact/lightning-talk-with-contact.rb
-- sample/rabbit/theme/lldn/lldn.rb
-- sample/rabbit/theme/rectangle-image-slide-number/rectangle-image-slide-number.rb
-- sample/rabbit/theme/image-without-frame/image-without-frame.rb
-- sample/rabbit/theme/triangle-image-slide-number/triangle-image-slide-number.rb
-- sample/rabbit/theme/rabbit-and-tortoise/rabbit-and-tortoise.rb
-- sample/rabbit/theme/kof2005/kof2005.rb
-- sample/rabbit/theme/kof2005/property.rb
-- sample/rabbit/theme/image-with-frame/image-with-frame.rb
-- sample/rabbit/theme/festival/festival.rb
-- sample/rabbit/theme/gl-sample/gl-sample.rb
-- sample/rabbit/theme/image-with-no-shadow-frame/image-with-no-shadow-frame.rb
-- sample/rabbit/theme/ppt/ppt.rb
-- sample/rabbit/theme/pdf/pdf.rb
-- sample/rabbit/theme/pdf/property.rb
-- sample/rabbit.rd
-- sample/rabbit-en.md
-- sample/m17n.rd
-- sample/cozmixng_is_field.png
-- sample/kof2005/ruby-gnome2-logo.png
-- sample/kof2005/mask.rb
-- sample/kof2005/high-light.svg
-- sample/kof2005/high-light-expose.rb
-- sample/kof2005/gesture-flow.svg
-- sample/kof2005/high-light-architecture.svg
-- sample/kof2005/mask-screenshot.png
-- sample/kof2005/widget.svg
-- sample/kof2005/high-light-widget.rb
-- sample/kof2005/high-light-widget.svg
-- sample/kof2005/high-light-expose.svg
-- sample/kof2005/mask.svg
-- sample/kof2005/gesture.rb
-- sample/kof2005/ruby-pink-circle-logo.png
-- sample/kof2005/gtk+-widget.svg
-- sample/kof2005/skip-up-with-ruby-gnome2.rd
-- sample/join_cozmixng.svg
-- sample/html_and_wiki.png
-- sample/blue-circle.rd
-- sample/rabbit_icon.png
-- sample/table.hiki
-- sample/spiral.svg
-- sample/table-en.rd
-- sample/can_rabbit.rd
-- sample/pre.rd
-- sample/rabbit_icon.ico
-- sample/html_and_wiki.svg
-- sample/usagi.png
-- sample/rabbit.hiki
-- sample/lavie.png
-- sample/join_cozmixng.png
-- sample/ppt/ppt.rd
-- sample/ppt/hare-and-tortoise-end.png
-- sample/ppt/hare-and-tortoise-middle.png
-- sample/ppt/hare-and-tortoise-start.png
-- sample/ppt/rabbit-with-ruby.png
-- sample/slide-property.rab
-- sample/shocker.jpg
-- sample/rabbit-history.svg
-- sample/gl-sample.rd
-- sample/rabbit-en.rd
-- sample/rabbit-en.hiki
-- misc/xyzzy/rabbit-mode.l
-- misc/make-image-sample.rb
-- misc/make-print-sample.rb
-- misc/emacs/README.ja
-- misc/emacs/rabbit-mode.el
-- misc/github-post-receiver/config.yaml.sample
-- misc/github-post-receiver/tmp/restart.txt
-- misc/github-post-receiver/config.ru
-- misc/update-rd.rb
-- doc/_plugins/converters/hiki.rb
-- doc/_plugins/converters/markdown.rb
-- doc/_plugins/converters/rd.rb
-- doc/_plugins/support_symlink.rb
-- doc/javascripts/jquery.js
-- doc/javascripts/jquery-ui.js
-- doc/screenshot.ja.rab
-- doc/_includes/ja.menu.html
-- doc/_includes/en.menu.html
-- doc/screenshot.en.rab
-- doc/images/hare-and-tortoise.svg
-- doc/images/background-sample.svg
-- doc/images/background.svg
-- doc/images/jp.png
-- doc/images/rabbit-slide-show-logo.svg
-- doc/images/lavie-icon.png
-- doc/images/screenshots/en/night-black-raw.png
-- doc/images/screenshots/en/day-white-raw.png
-- doc/images/screenshots/en/dark-gradation.png
-- doc/images/screenshots/en/green-circle.png
-- doc/images/screenshots/en/dark-gradation-raw.png
-- doc/images/screenshots/en/red-frame-raw.png
-- doc/images/screenshots/en/ruby-gnome2.png
-- doc/images/screenshots/en/day-white.png
-- doc/images/screenshots/en/debian.png
-- doc/images/screenshots/en/green-circle-raw.png
-- doc/images/screenshots/en/ruby-gnome2-raw.png
-- doc/images/screenshots/en/rabbit-raw.png
-- doc/images/screenshots/en/rabbit.png
-- doc/images/screenshots/en/clear-blue-raw.png
-- doc/images/screenshots/en/red-frame.png
-- doc/images/screenshots/en/blue-circle.png
-- doc/images/screenshots/en/cozmixng-raw.png
-- doc/images/screenshots/en/rubykaigi2011-raw.png
-- doc/images/screenshots/en/clear-blue.png
-- doc/images/screenshots/en/ranguba-raw.png
-- doc/images/screenshots/en/cozmixng.png
-- doc/images/screenshots/en/night-black.png
-- doc/images/screenshots/en/blue-circle-raw.png
-- doc/images/screenshots/en/ranguba.png
-- doc/images/screenshots/en/rubykaigi2011.png
-- doc/images/screenshots/en/debian-raw.png
-- doc/images/screenshots/ja/night-black-raw.png
-- doc/images/screenshots/ja/day-white-raw.png
-- doc/images/screenshots/ja/dark-gradation.png
-- doc/images/screenshots/ja/green-circle.png
-- doc/images/screenshots/ja/dark-gradation-raw.png
-- doc/images/screenshots/ja/red-frame-raw.png
-- doc/images/screenshots/ja/ruby-gnome2.png
-- doc/images/screenshots/ja/day-white.png
-- doc/images/screenshots/ja/debian.png
-- doc/images/screenshots/ja/green-circle-raw.png
-- doc/images/screenshots/ja/ruby-gnome2-raw.png
-- doc/images/screenshots/ja/rabbit-raw.png
-- doc/images/screenshots/ja/rabbit.png
-- doc/images/screenshots/ja/clear-blue-raw.png
-- doc/images/screenshots/ja/red-frame.png
-- doc/images/screenshots/ja/blue-circle.png
-- doc/images/screenshots/ja/cozmixng-raw.png
-- doc/images/screenshots/ja/rubykaigi2011-raw.png
-- doc/images/screenshots/ja/clear-blue.png
-- doc/images/screenshots/ja/ranguba-raw.png
-- doc/images/screenshots/ja/cozmixng.png
-- doc/images/screenshots/ja/night-black.png
-- doc/images/screenshots/ja/blue-circle-raw.png
-- doc/images/screenshots/ja/ranguba.png
-- doc/images/screenshots/ja/rubykaigi2011.png
-- doc/images/screenshots/ja/debian-raw.png
-- doc/images/background.png
-- doc/images/hare-and-tortoise.png
-- doc/images/us.png
-- doc/images/lavie.png
-- doc/images/rabbit-slide-show-logo.png
-- doc/en/slides.rd
-- doc/en/news.rd
-- doc/en/usage.rd
-- doc/en/sample/hiki/rabbit.hiki
-- doc/en/sample/markdown/rabbit.md
-- doc/en/sample/rd/rabbit.rd
-- doc/en/sample/index.rd
-- doc/en/faq.rd
-- doc/en/rd.rd
-- doc/en/development.rd
-- doc/en/index.rd
-- doc/en/hiki.hiki
-- doc/en/users.rd
-- doc/en/install/macports.rd
-- doc/en/install/homebrew.rd
-- doc/en/install/windows.rd
-- doc/en/install/index.rd
-- doc/en/how-to-make/pdf.rd
-- doc/en/how-to-make/theme.rd
-- doc/en/how-to-make/markdown.md
-- doc/en/how-to-make/rd.rd
-- doc/en/how-to-make/index.rd
-- doc/en/how-to-make/hiki.hiki
-- doc/en/usage/rabbit-theme.rd
-- doc/en/usage/rabbit-slide.rd
-- doc/en/usage/rabbit.rd
-- doc/_layouts/skeleton.html
-- doc/_layouts/ja.html
-- doc/_layouts/en.html
-- doc/css/jquery-ui/themes/ui-lightness.css
-- doc/css/rabbit.css
-- doc/index.html.ja
-- doc/favicon.png
-- doc/_config.yml
-- doc/ja/slides.rd
-- doc/ja/about.rd
-- doc/ja/news.rd
-- doc/ja/usage.rd
-- doc/ja/sample/hiki/rabbit.hiki
-- doc/ja/sample/markdown/rabbit.md
-- doc/ja/sample/rd/rabbit.rd
-- doc/ja/sample/index.rd
-- doc/ja/faq.rd
-- doc/ja/rd.rd
-- doc/ja/development.rd
-- doc/ja/index.rd
-- doc/ja/hiki.hiki
-- doc/ja/users.rd
-- doc/ja/install/macports.rd
-- doc/ja/install/homebrew.rd
-- doc/ja/install/windows.rd
-- doc/ja/install/index.rd
-- doc/ja/how-to-make/pdf.rd
-- doc/ja/how-to-make/theme.rd
-- doc/ja/how-to-make/markdown.md
-- doc/ja/how-to-make/rd.rd
-- doc/ja/how-to-make/index.rd
-- doc/ja/how-to-make/hiki.hiki
-- doc/ja/usage/rabbit-theme.rd
-- doc/ja/usage/rabbit-slide.rd
-- doc/ja/usage/rabbit.rd
-- doc/favicon.ico
-- doc/index.html.en
-- po/fr/rabbit.po
-- po/en/rabbit.po
-- po/ja/rabbit.po
-- test/test-element.rb
-- test/test-readme-parser.rb
-- test/test-theme-configuration.rb
-- test/test-utils.rb
-- test/image/test-eps.rb
-- test/image/test-dia.rb
-- test/test-slide-configuration.rb
-- test/test-slideshare.rb
-- test/rabbit-test-utils.rb
-- test/run-test.rb
-- test/source-generator/test-rd.rb
-- test/source-generator/test-markdown.rb
-- test/source-generator/test-hiki.rb
-- test/test-source.rb
-- test/test-author-configuration.rb
-- test/test-applier.rb
-- test/test-color.rb
-- bin/rabbit-slide
-- bin/rabbit
-- bin/rabbit-theme
-- bin/rabbit-command
-- bin/rabbirc
-homepage: http://rabbit-shocker.org/
-licenses:
-- GPLv2+
-post_install_message: 
-rdoc_options: []
-require_paths:
-- lib
-required_ruby_version: !ruby/object:Gem::Requirement
-  none: false
-  requirements:
-  - - ! '>='
-    - !ruby/object:Gem::Version
-      version: 1.9.3
-required_rubygems_version: !ruby/object:Gem::Requirement
-  none: false
-  requirements:
-  - - ! '>='
-    - !ruby/object:Gem::Version
-      version: '0'
-requirements: []
-rubyforge_project: rabbit
-rubygems_version: 1.8.23
-signing_key: 
-specification_version: 3
-summary: Rabbit is an RD-document-based presentation application.
-test_files:
-- test/test-element.rb
-- test/test-readme-parser.rb
-- test/test-theme-configuration.rb
-- test/test-utils.rb
-- test/image/test-eps.rb
-- test/image/test-dia.rb
-- test/test-slide-configuration.rb
-- test/test-slideshare.rb
-- test/rabbit-test-utils.rb
-- test/run-test.rb
-- test/source-generator/test-rd.rb
-- test/source-generator/test-markdown.rb
-- test/source-generator/test-hiki.rb
-- test/test-source.rb
-- test/test-author-configuration.rb
-- test/test-applier.rb
-- test/test-color.rb
-has_rdoc: 
diff --git a/po/en/rabbit.po b/po/en/rabbit.edit.po
similarity index 73%
copy from po/en/rabbit.po
copy to po/en/rabbit.edit.po
index e592e7d..0714e0d 100644
--- a/po/en/rabbit.po
+++ b/po/en/rabbit.edit.po
@@ -6,30 +6,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Rabbit 0.5.4\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-06-01 13:03+0900\n"
 "PO-Revision-Date: 2012-09-10 21:20+0900\n"
 "Last-Translator: Kouhei Sutou <kou at cozmixng.org>\n"
-"Language-Team: Kouhei Sutou <kou at cozmixng.org> and Kobayashi Noritada <nori1 at dolphin.c.u-tokyo.ac.jp>\n"
+"Language-Team: Kouhei Sutou <kou at cozmixng.org> and Kobayashi Noritada <nori1 at d"
+"olphin.c.u-tokyo.ac.jp>\n"
 "Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 
-#: 
-#: ../lib/rabbit/theme/default-item-mark-setup/default-item-mark-setup.rb:81
-msgid ""
-"unknown enumeration item mark type: %s\n"
-"Numeric type is used as fallback"
-msgstr ""
-
-#: 
-#: ../lib/rabbit/theme/default-item-mark-setup/default-item-mark-setup.rb:31
-msgid ""
-"unknown item mark type: %s\n"
-"Rectangle type is used as fallback"
-msgstr ""
-
 #: ../bin/rabbit-command:18
 msgid "Specify Rabbit's dRuby URI as [URI]."
 msgstr ""
@@ -102,15 +88,7 @@ msgstr ""
 msgid "Quit"
 msgstr ""
 
-#: ../data/rabbit/image/clear-blue-images/property.rb:1
-#: ../data/rabbit/image/cozmixng-images/property.rb:1
-#: ../data/rabbit/image/dark-gradation-images/property.rb:1
-#: ../data/rabbit/image/debian-images/property.rb:1
-#: ../data/rabbit/image/nari-images/property.rb:1
-#: ../data/rabbit/image/rabbit-images/property.rb:1
-#: ../data/rabbit/image/ruby-images/property.rb:1
-#: ../data/rabbit/image/rubykaigi2011-images/property.rb:1
-#: ../lib/rabbit/theme/image/property.rb:2
+#: ../data/rabbit/image/clear-blue-images/property.rb:1 ../data/rabbit/image/cozmixng-images/property.rb:1 ../data/rabbit/image/dark-gradation-images/property.rb:1 ../data/rabbit/image/debian-images/property.rb:1 ../data/rabbit/image/nari-images/property.rb:1 ../data/rabbit/image/rabbit-images/property.rb:1 ../data/rabbit/image/ruby-images/property.rb:1 ../data/rabbit/image/rubykaigi2011-images/property.rb:1 ../lib/rabbit/theme/image/property.rb:2
 msgid "Image"
 msgstr ""
 
@@ -242,6 +220,10 @@ msgstr ""
 msgid "Save as image"
 msgstr ""
 
+#: ../lib/rabbit/action/basic.rb:83 ../lib/rabbit/command/rabbit.rb:318
+msgid "Print"
+msgstr ""
+
 #: ../lib/rabbit/action/basic.rb:91
 msgid "Iconify"
 msgstr ""
@@ -338,16 +320,19 @@ msgstr ""
 msgid "Log Level"
 msgstr ""
 
-#: ../lib/rabbit/action/radio.rb:37
-#: ../lib/rabbit/command/rabbit-slide.rb:353
-#: ../lib/rabbit/command/rabbit-slide.rb:369
-#: ../lib/rabbit/command/rabbit-theme.rb:211
-#: ../lib/rabbit/command/rabbit-theme.rb:227
+#: ../lib/rabbit/action/radio.rb:27 ../lib/rabbit/action/toggle.rb:12
+msgid "Whiteout"
+msgstr ""
+
+#: ../lib/rabbit/action/radio.rb:32 ../lib/rabbit/action/toggle.rb:23
+msgid "Blackout"
+msgstr ""
+
+#: ../lib/rabbit/action/radio.rb:37 ../lib/rabbit/command/rabbit-slide.rb:354 ../lib/rabbit/command/rabbit-slide.rb:370 ../lib/rabbit/command/rabbit-theme.rb:211 ../lib/rabbit/command/rabbit-theme.rb:227
 msgid "Show"
 msgstr ""
 
-#: ../lib/rabbit/action/radio.rb:48
-#: ../lib/rabbit/theme/show-frame/property.rb:1
+#: ../lib/rabbit/action/radio.rb:48 ../lib/rabbit/theme/show-frame/property.rb:1
 msgid "Debug"
 msgstr ""
 
@@ -371,14 +356,6 @@ msgstr ""
 msgid "Unknown"
 msgstr ""
 
-#: ../lib/rabbit/action/radio.rb:27 ../lib/rabbit/action/toggle.rb:12
-msgid "Whiteout"
-msgstr ""
-
-#: ../lib/rabbit/action/radio.rb:32 ../lib/rabbit/action/toggle.rb:23
-msgid "Blackout"
-msgstr ""
-
 #: ../lib/rabbit/action/toggle.rb:30
 msgid "Index mode"
 msgstr ""
@@ -411,16 +388,15 @@ msgstr ""
 msgid "Failed to write author configuration: %s: %s"
 msgstr ""
 
-#: ../lib/rabbit/canvas.rb:607
+#: ../lib/rabbit/canvas.rb:604
 msgid "Unknown action: %s"
 msgstr ""
 
-#: ../lib/rabbit/canvas.rb:675
+#: ../lib/rabbit/canvas.rb:672
 msgid "Processing..."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:50
-#: ../lib/rabbit/command/rabbit-theme.rb:48
+#: ../lib/rabbit/command/rabbit-slide.rb:50 ../lib/rabbit/command/rabbit-theme.rb:48
 msgid "See --help for example"
 msgstr ""
 
@@ -458,28 +434,11 @@ msgstr ""
 msgid "Slide ID"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:100
-#: ../lib/rabbit/command/rabbit-slide.rb:107
-#: ../lib/rabbit/command/rabbit-slide.rb:119
-#: ../lib/rabbit/command/rabbit-slide.rb:133
-#: ../lib/rabbit/command/rabbit-slide.rb:141
-#: ../lib/rabbit/command/rabbit-slide.rb:148
-#: ../lib/rabbit/command/rabbit-slide.rb:155
-#: ../lib/rabbit/command/rabbit-slide.rb:164
-#: ../lib/rabbit/command/rabbit-slide.rb:177
-#: ../lib/rabbit/command/rabbit-slide.rb:191
-#: ../lib/rabbit/command/rabbit-slide.rb:205
-#: ../lib/rabbit/command/rabbit-slide.rb:219
-#: ../lib/rabbit/command/rabbit-theme.rb:83
-#: ../lib/rabbit/command/rabbit-theme.rb:92
-#: ../lib/rabbit/command/rabbit-theme.rb:105
-#: ../lib/rabbit/command/rabbit-theme.rb:119
+#: ../lib/rabbit/command/rabbit-slide.rb:100 ../lib/rabbit/command/rabbit-slide.rb:107 ../lib/rabbit/command/rabbit-slide.rb:119 ../lib/rabbit/command/rabbit-slide.rb:133 ../lib/rabbit/command/rabbit-slide.rb:141 ../lib/rabbit/command/rabbit-slide.rb:148 ../lib/rabbit/command/rabbit-slide.rb:155 ../lib/rabbit/command/rabbit-slide.rb:164 ../lib/rabbit/command/rabbit-slide.rb:177 ../lib/rabbit/command/rabbit-slide.rb:191 ../lib/rabbit/command/rabbit-slide.rb:205 ../lib/rabbit/command/rabbi [...]
 msgid "(e.g.: %s)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:101
-#: ../lib/rabbit/command/rabbit-slide.rb:108
-#: ../lib/rabbit/command/rabbit-theme.rb:84
+#: ../lib/rabbit/command/rabbit-slide.rb:101 ../lib/rabbit/command/rabbit-slide.rb:108 ../lib/rabbit/command/rabbit-theme.rb:84
 msgid "(must)"
 msgstr ""
 
@@ -495,31 +454,11 @@ msgstr ""
 msgid "(available markup languages: %s)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:123
-#: ../lib/rabbit/command/rabbit-slide.rb:167
-#: ../lib/rabbit/command/rabbit-slide.rb:180
-#: ../lib/rabbit/command/rabbit-slide.rb:194
-#: ../lib/rabbit/command/rabbit-slide.rb:208
-#: ../lib/rabbit/command/rabbit-slide.rb:222
-#: ../lib/rabbit/command/rabbit-theme.rb:95
-#: ../lib/rabbit/command/rabbit-theme.rb:108
-#: ../lib/rabbit/command/rabbit-theme.rb:122
+#: ../lib/rabbit/command/rabbit-slide.rb:123 ../lib/rabbit/command/rabbit-slide.rb:167 ../lib/rabbit/command/rabbit-slide.rb:180 ../lib/rabbit/command/rabbit-slide.rb:194 ../lib/rabbit/command/rabbit-slide.rb:208 ../lib/rabbit/command/rabbit-slide.rb:222 ../lib/rabbit/command/rabbit-theme.rb:95 ../lib/rabbit/command/rabbit-theme.rb:108 ../lib/rabbit/command/rabbit-theme.rb:122
 msgid "(default: %s)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:125
-#: ../lib/rabbit/command/rabbit-slide.rb:134
-#: ../lib/rabbit/command/rabbit-slide.rb:142
-#: ../lib/rabbit/command/rabbit-slide.rb:149
-#: ../lib/rabbit/command/rabbit-slide.rb:156
-#: ../lib/rabbit/command/rabbit-slide.rb:169
-#: ../lib/rabbit/command/rabbit-slide.rb:182
-#: ../lib/rabbit/command/rabbit-slide.rb:196
-#: ../lib/rabbit/command/rabbit-slide.rb:210
-#: ../lib/rabbit/command/rabbit-slide.rb:224
-#: ../lib/rabbit/command/rabbit-theme.rb:97
-#: ../lib/rabbit/command/rabbit-theme.rb:110
-#: ../lib/rabbit/command/rabbit-theme.rb:124
+#: ../lib/rabbit/command/rabbit-slide.rb:125 ../lib/rabbit/command/rabbit-slide.rb:134 ../lib/rabbit/command/rabbit-slide.rb:142 ../lib/rabbit/command/rabbit-slide.rb:149 ../lib/rabbit/command/rabbit-slide.rb:156 ../lib/rabbit/command/rabbit-slide.rb:169 ../lib/rabbit/command/rabbit-slide.rb:182 ../lib/rabbit/command/rabbit-slide.rb:196 ../lib/rabbit/command/rabbit-slide.rb:210 ../lib/rabbit/command/rabbit-slide.rb:224 ../lib/rabbit/command/rabbit-theme.rb:97 ../lib/rabbit/command/rabbit [...]
 msgid "(optional)"
 msgstr ""
 
@@ -543,107 +482,91 @@ msgstr ""
 msgid "Presentation date with the new slide"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:160
-#: ../lib/rabbit/command/rabbit-theme.rb:88
+#: ../lib/rabbit/command/rabbit-slide.rb:160 ../lib/rabbit/command/rabbit-theme.rb:88
 msgid "Your information"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:163
-#: ../lib/rabbit/command/rabbit-theme.rb:91
+#: ../lib/rabbit/command/rabbit-slide.rb:163 ../lib/rabbit/command/rabbit-theme.rb:91
 msgid "Author name of the new slide"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:176
-#: ../lib/rabbit/command/rabbit-theme.rb:104
+#: ../lib/rabbit/command/rabbit-slide.rb:176 ../lib/rabbit/command/rabbit-theme.rb:104
 msgid "Author e-mail of the new slide"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:189
-#: ../lib/rabbit/command/rabbit-slide.rb:203
-#: ../lib/rabbit/command/rabbit-slide.rb:217
-#: ../lib/rabbit/command/rabbit-theme.rb:117
+#: ../lib/rabbit/command/rabbit-slide.rb:189 ../lib/rabbit/command/rabbit-slide.rb:203 ../lib/rabbit/command/rabbit-slide.rb:217 ../lib/rabbit/command/rabbit-theme.rb:117
 msgid "Account for %s"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:190
-#: ../lib/rabbit/command/rabbit-slide.rb:204
-#: ../lib/rabbit/command/rabbit-slide.rb:218
-#: ../lib/rabbit/command/rabbit-theme.rb:118
+#: ../lib/rabbit/command/rabbit-slide.rb:190 ../lib/rabbit/command/rabbit-slide.rb:204 ../lib/rabbit/command/rabbit-slide.rb:218 ../lib/rabbit/command/rabbit-theme.rb:118
 msgid "It is used to publish your slide to %s"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:252
-#: ../lib/rabbit/command/rabbit-theme.rb:143
+#: ../lib/rabbit/command/rabbit-slide.rb:252 ../lib/rabbit/command/rabbit-theme.rb:143
 msgid "too many commands: %s"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:256
-#: ../lib/rabbit/command/rabbit-theme.rb:148
+#: ../lib/rabbit/command/rabbit-slide.rb:256 ../lib/rabbit/command/rabbit-theme.rb:148
 msgid "invalid command: <%s>: available commands: %s"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:264
-#: ../lib/rabbit/command/rabbit-slide.rb:270
-#: ../lib/rabbit/command/rabbit-theme.rb:156
+#: ../lib/rabbit/command/rabbit-slide.rb:264 ../lib/rabbit/command/rabbit-slide.rb:270 ../lib/rabbit/command/rabbit-theme.rb:156
 msgid "%s is missing"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:345
+#: ../lib/rabbit/command/rabbit-slide.rb:346
 msgid "TODO: SLIDE TITLE"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:348
+#: ../lib/rabbit/command/rabbit-slide.rb:349
 msgid "TODO: SLIDE DESCRIPTION"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:351
-#: ../lib/rabbit/command/rabbit-theme.rb:209
+#: ../lib/rabbit/command/rabbit-slide.rb:352 ../lib/rabbit/command/rabbit-theme.rb:209
 msgid "For author"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:357
-#: ../lib/rabbit/command/rabbit-theme.rb:215
+#: ../lib/rabbit/command/rabbit-slide.rb:358 ../lib/rabbit/command/rabbit-theme.rb:215
 msgid "Publish"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:362
+#: ../lib/rabbit/command/rabbit-slide.rb:363
 msgid "For viewers"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:364
-#: ../lib/rabbit/command/rabbit-theme.rb:222
+#: ../lib/rabbit/command/rabbit-slide.rb:365 ../lib/rabbit/command/rabbit-theme.rb:222
 msgid "Install"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:435
+#: ../lib/rabbit/command/rabbit-slide.rb:444
 msgid "TITLE"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:437
+#: ../lib/rabbit/command/rabbit-slide.rb:446
 msgid "FIRST SLIDE"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:439
+#: ../lib/rabbit/command/rabbit-slide.rb:448
 msgid "SECOND SLIDE"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:451
+#: ../lib/rabbit/command/rabbit-slide.rb:460
 msgid "SUBTITLE"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:452
+#: ../lib/rabbit/command/rabbit-slide.rb:461
 msgid "AUTHOR"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:453
+#: ../lib/rabbit/command/rabbit-slide.rb:462
 msgid "INSTITUTION"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:454
+#: ../lib/rabbit/command/rabbit-slide.rb:463
 msgid "EVENT NAME"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:475
+#: ../lib/rabbit/command/rabbit-slide.rb:484
 msgid "ITEM %d"
 msgstr ""
 
@@ -677,462 +600,405 @@ msgstr ""
 msgid "For users"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-theme.rb:229
-#: ../lib/rabbit/task/theme.rb:95
+#: ../lib/rabbit/command/rabbit-theme.rb:229 ../lib/rabbit/task/theme.rb:96
 msgid "rabbit-theme-benchmark-en.gem"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:143
-#: ../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/theme/green-circle/property.rb:1
-#: ../lib/rabbit/theme/image-viewer/property.rb:1
-#: ../lib/rabbit/theme/lightning-clear-blue/property.rb:1
-#: ../lib/rabbit/theme/lightning-monochrome/property.rb:1
-#: ../lib/rabbit/theme/lightning-rabbit/property.rb:1
-#: ../lib/rabbit/theme/lightning-simple/property.rb:1
-#: ../lib/rabbit/theme/lightning-talk/property.rb:1
-#: ../lib/rabbit/theme/nari/property.rb:1
-#: ../lib/rabbit/theme/night-black/property.rb:1
-#: ../lib/rabbit/theme/pdf/property.rb:1
-#: ../lib/rabbit/theme/rabbit/property.rb:1
-#: ../lib/rabbit/theme/ranguba/property.rb:1
-#: ../lib/rabbit/theme/red-frame/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2/property.rb:1
-#: ../lib/rabbit/theme/rubykaigi2011/property.rb:1
+#: ../lib/rabbit/command/rabbit.rb:147 ../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:146
+#: ../lib/rabbit/command/rabbit.rb:150
 msgid "Add [PATH] to load path."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:151
+#: ../lib/rabbit/command/rabbit.rb:155
 msgid "Use [THEME] as theme."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:158
+#: ../lib/rabbit/command/rabbit.rb:162
 msgid "Use [THEME] for comment."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:164
+#: ../lib/rabbit/command/rabbit.rb:168
 msgid "Use [TIME] as allotted time."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:170
-#: ../lib/rabbit/html/generator.rb:404
+#: ../lib/rabbit/command/rabbit.rb:174 ../lib/rabbit/html/generator.rb:404
 msgid "Source"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:177
+#: ../lib/rabbit/command/rabbit.rb:181
 msgid ""
 "When select %s\n"
 "specify %s\n"
 "as [SOURCE_INFOS]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:184
+#: ../lib/rabbit/command/rabbit.rb:188
 msgid "Specify source type as [TYPE]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:186
+#: ../lib/rabbit/command/rabbit.rb:189 ../lib/rabbit/console.rb:165 ../lib/rabbit/console.rb:182
+msgid "Select from [%s]."
+msgstr ""
+
+#: ../lib/rabbit/command/rabbit.rb:190
 msgid "Note: case insensitive."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:200
+#: ../lib/rabbit/command/rabbit.rb:204
 msgid "Specify source encoding as [ENCODING]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:201
-#: ../lib/rabbit/command/rabbit.rb:207
-#: ../lib/rabbit/command/rabbit.rb:368
-#: ../lib/rabbit/command/rabbit.rb:375
-#: ../lib/rabbit/command/rabbit.rb:382
-#: ../lib/rabbit/command/rabbit.rb:389
-#: ../lib/rabbit/command/rabbit.rb:414
-#: ../lib/rabbit/command/rabbit.rb:421
-#: ../lib/rabbit/command/rabbit.rb:428
-#: ../lib/rabbit/command/rabbit.rb:435
-#: ../lib/rabbit/command/rabbit.rb:556 ../lib/rabbit/console.rb:150
+#: ../lib/rabbit/command/rabbit.rb:205 ../lib/rabbit/command/rabbit.rb:211 ../lib/rabbit/command/rabbit.rb:378 ../lib/rabbit/command/rabbit.rb:385 ../lib/rabbit/command/rabbit.rb:392 ../lib/rabbit/command/rabbit.rb:399 ../lib/rabbit/command/rabbit.rb:424 ../lib/rabbit/command/rabbit.rb:431 ../lib/rabbit/command/rabbit.rb:438 ../lib/rabbit/command/rabbit.rb:445 ../lib/rabbit/command/rabbit.rb:558 ../lib/rabbit/console.rb:150
 msgid "(auto)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:206
+#: ../lib/rabbit/command/rabbit.rb:210
 msgid "Specify base URI or path of source as [BASE]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:212
+#: ../lib/rabbit/command/rabbit.rb:216
 msgid "Initial state"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:215
+#: ../lib/rabbit/command/rabbit.rb:219
 msgid "Toggle full screen mode."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:221
+#: ../lib/rabbit/command/rabbit.rb:225
 msgid "Toggle index mode."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:227
+#: ../lib/rabbit/command/rabbit.rb:231
+msgid "Show the Nth slide. (zero-based)"
+msgstr ""
+
+#: ../lib/rabbit/command/rabbit.rb:237
 msgid "Size"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:230
+#: ../lib/rabbit/command/rabbit.rb:240
 msgid "Set window geometry [GEOMETRY]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:231
+#: ../lib/rabbit/command/rabbit.rb:241
 msgid "Format: WIDTHxHEIGHT+X+Y"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:238
+#: ../lib/rabbit/command/rabbit.rb:248
 msgid "Set window width to [WIDTH]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:245
+#: ../lib/rabbit/command/rabbit.rb:255
 msgid "Set window height to [HEIGHT]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:250
+#: ../lib/rabbit/command/rabbit.rb:260
 msgid ""
 "Set window width and height to\n"
 "[WIDTH] and [HEIGHT]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:263
+#: ../lib/rabbit/command/rabbit.rb:273
 msgid "Save"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:266
+#: ../lib/rabbit/command/rabbit.rb:276
 msgid "Save as image and exit."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:271
+#: ../lib/rabbit/command/rabbit.rb:281
 msgid "Specify saved image type as [TYPE]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:278
+#: ../lib/rabbit/command/rabbit.rb:288
 msgid "Specify saved image base name as [BASE_NAME]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:279
-#: ../lib/rabbit/command/rabbit.rb:317
+#: ../lib/rabbit/command/rabbit.rb:289 ../lib/rabbit/command/rabbit.rb:327
 msgid "Title of slide"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:284
+#: ../lib/rabbit/command/rabbit.rb:294
 msgid "Output HTML for viewing saved images."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:290
+#: ../lib/rabbit/command/rabbit.rb:300
 msgid "Output index HTML for navigating slides."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:296
+#: ../lib/rabbit/command/rabbit.rb:306
 msgid "Specify base URI of RSS as [URI]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:297
+#: ../lib/rabbit/command/rabbit.rb:307
 msgid "RSS is generated only when HTML is output."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:303
+#: ../lib/rabbit/command/rabbit.rb:313
 msgid "Specify source filenam as [FILENAME]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:311
+#: ../lib/rabbit/command/rabbit.rb:321
 msgid "Print and exit."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:316
+#: ../lib/rabbit/command/rabbit.rb:326
 msgid "Specify printed out filename as [FILENAME]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:323
+#: ../lib/rabbit/command/rabbit.rb:333
 msgid "Set slides per page."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:329
+#: ../lib/rabbit/command/rabbit.rb:339
 msgid "Draw scaled image."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:330
+#: ../lib/rabbit/command/rabbit.rb:340
 msgid "Better look for displaying but lesser look for printing."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:335
+#: ../lib/rabbit/command/rabbit.rb:345
 msgid "Paper"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:339
+#: ../lib/rabbit/command/rabbit.rb:349
 msgid "Set paper width to [WIDTH] Pt."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:340
+#: ../lib/rabbit/command/rabbit.rb:350
 msgid "(landscape A4 width)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:346
+#: ../lib/rabbit/command/rabbit.rb:356
 msgid "Set paper height to [HEIGHT] Pt."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:347
+#: ../lib/rabbit/command/rabbit.rb:357
 msgid "(landscape A4 height)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:351
+#: ../lib/rabbit/command/rabbit.rb:361
 msgid ""
 "Set paper width and height to\n"
 "[WIDTH] Pt and [HEIGHT] Pt."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:353
+#: ../lib/rabbit/command/rabbit.rb:363
 msgid "(landscape A4 size)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:363
+#: ../lib/rabbit/command/rabbit.rb:373
 msgid "Margin"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:367
+#: ../lib/rabbit/command/rabbit.rb:377
 msgid "Set left margin for slides per page mode print."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:374
+#: ../lib/rabbit/command/rabbit.rb:384
 msgid "Set right margin for slides per page mode print."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:381
+#: ../lib/rabbit/command/rabbit.rb:391
 msgid "Set top margin for slides per page mode print."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:388
+#: ../lib/rabbit/command/rabbit.rb:398
 msgid "Set bottom margin for slides per page mode print."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:393
+#: ../lib/rabbit/command/rabbit.rb:403
 msgid "[ALL]"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:394
+#: ../lib/rabbit/command/rabbit.rb:404
 msgid "[TOP_BOTTOM],[LEFT_RIGHT]"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:395
+#: ../lib/rabbit/command/rabbit.rb:405
 msgid "[TOP],[LEFT_RIGHT],[BOTTOM]"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:396
+#: ../lib/rabbit/command/rabbit.rb:406
 msgid "[TOP],[RIGHT],[BOTTOM],[LEFT]"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:399
+#: ../lib/rabbit/command/rabbit.rb:409
 msgid "Set margin for slides per page mode print."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:413
+#: ../lib/rabbit/command/rabbit.rb:423
 msgid "Set left page margin."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:420
+#: ../lib/rabbit/command/rabbit.rb:430
 msgid "Set right page margin."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:427
+#: ../lib/rabbit/command/rabbit.rb:437
 msgid "Set top page margin."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:434
+#: ../lib/rabbit/command/rabbit.rb:444
 msgid "Set bottom page margin."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:441
+#: ../lib/rabbit/command/rabbit.rb:451
 msgid "Set page margin."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:453
+#: ../lib/rabbit/command/rabbit.rb:463
 msgid "dRuby"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:456
+#: ../lib/rabbit/command/rabbit.rb:466
 msgid "Specify whether to use dRuby."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:462
+#: ../lib/rabbit/command/rabbit.rb:472
 msgid "Specify dRuby URI."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:468
+#: ../lib/rabbit/command/rabbit.rb:478
 msgid "Specify whether to output dRuby URI."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:473
+#: ../lib/rabbit/command/rabbit.rb:483
 msgid "SOAP"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:476
+#: ../lib/rabbit/command/rabbit.rb:486
 msgid "Specify whether to use SOAP."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:482
+#: ../lib/rabbit/command/rabbit.rb:492
 msgid "Specify SOAP host as [HOST]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:489
+#: ../lib/rabbit/command/rabbit.rb:499
 msgid "Specify SOAP port as [PORT]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:494
+#: ../lib/rabbit/command/rabbit.rb:504
 msgid "XML-RPC"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:497
+#: ../lib/rabbit/command/rabbit.rb:507
 msgid "Specify whether to use XML-RPC."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:503
+#: ../lib/rabbit/command/rabbit.rb:513
 msgid "Specify XML-RPC host as [HOST]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:510
+#: ../lib/rabbit/command/rabbit.rb:520
 msgid "Specify XML-RPC port as [PORT]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:515
-msgid "Server"
-msgstr ""
-
-#: ../lib/rabbit/command/rabbit.rb:518
-msgid "Specify whether to run as server."
-msgstr ""
-
-#: ../lib/rabbit/command/rabbit.rb:523
+#: ../lib/rabbit/command/rabbit.rb:525
 msgid "Public level"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:530
+#: ../lib/rabbit/command/rabbit.rb:532
 msgid "Specify public level."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:531
+#: ../lib/rabbit/command/rabbit.rb:533
 msgid "Select from the following:"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:540
-#: ../lib/rabbit/command/rabbit.rb:565
-#: ../lib/rabbit/command/rabbit.rb:572
+#: ../lib/rabbit/command/rabbit.rb:542 ../lib/rabbit/command/rabbit.rb:567 ../lib/rabbit/command/rabbit.rb:574
 msgid "(%s)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:545
-#: ../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:547 ../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:548
-#: ../lib/rabbit/command/rabbit.rb:554
+#: ../lib/rabbit/command/rabbit.rb:550 ../lib/rabbit/command/rabbit.rb:556
 msgid "Deprecated. Just ignored."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:549
+#: ../lib/rabbit/command/rabbit.rb:551
 msgid "Specify initial comment source."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:550
+#: ../lib/rabbit/command/rabbit.rb:552
 msgid "(default source)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:555
+#: ../lib/rabbit/command/rabbit.rb:557
 msgid "Specify comment source encoding."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:559
+#: ../lib/rabbit/command/rabbit.rb:561
 msgid "Migemo"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:564
+#: ../lib/rabbit/command/rabbit.rb:566
 msgid "Specify search paths for Migemo static dictionary."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:571
+#: ../lib/rabbit/command/rabbit.rb:573
 msgid "Specify static dictionary name for Migemo."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:576
+#: ../lib/rabbit/command/rabbit.rb:578
 msgid "3D"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:579
+#: ../lib/rabbit/command/rabbit.rb:581
 msgid "Specify whether to use OpenGL if available."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:584
+#: ../lib/rabbit/command/rabbit.rb:586
 msgid "Display"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:587
+#: ../lib/rabbit/command/rabbit.rb:589
 msgid "Specify whether to keep above window."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:592
+#: ../lib/rabbit/command/rabbit.rb:594
 msgid "Others"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:595
+#: ../lib/rabbit/command/rabbit.rb:597
+msgid "Check slide source syntax and exit."
+msgstr ""
+
+#: ../lib/rabbit/command/rabbit.rb:602
 msgid "Show a native window ID of the Rabbit window if available."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:596
+#: ../lib/rabbit/command/rabbit.rb:603
 msgid "e.g. The ID is the ID of X resource on X window system."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:637
+#: ../lib/rabbit/command/rabbit.rb:644
 msgid "Choose a Rabbit source file"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:753
+#: ../lib/rabbit/command/rabbit.rb:762
 msgid "dRuby URI <%s> is in use."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:772
+#: ../lib/rabbit/command/rabbit.rb:781
 msgid "port <%s> for SOAP is in use."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:793
+#: ../lib/rabbit/command/rabbit.rb:802
 msgid "port <%s> for XML-RPC is in use."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:854
+#: ../lib/rabbit/command/rabbit.rb:863
 msgid "Window ID: %d"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:900
-msgid "going to shutdown..."
-msgstr ""
-
-#: ../lib/rabbit/command/rabbit.rb:902
-msgid "DRb.thread done."
-msgstr ""
-
-#: ../lib/rabbit/command/rabbit.rb:185 ../lib/rabbit/console.rb:165
-#: ../lib/rabbit/console.rb:182
-msgid "Select from [%s]."
-msgstr ""
-
-#: ../lib/rabbit/command/rabbit.rb:308 ../lib/rabbit/action/basic.rb:83
-msgid "Print"
-msgstr ""
-
 #: ../lib/rabbit/console.rb:114
 msgid "Usage: %s [options]"
 msgstr ""
@@ -1169,11 +1035,82 @@ msgstr ""
 msgid "Show version."
 msgstr ""
 
-#: ../lib/rabbit/element/index-slide.rb:103
-#: ../lib/rabbit/html/generator.rb:393
+#: ../lib/rabbit/element/index-slide.rb:103 ../lib/rabbit/html/generator.rb:393
 msgid "Index"
 msgstr ""
 
+#: ../lib/rabbit/error.rb:30
+msgid "no such file: %s"
+msgstr ""
+
+#: ../lib/rabbit/error.rb:40
+msgid "can't handle %s because the following command can't be run successfully: %s"
+msgstr ""
+
+#: ../lib/rabbit/error.rb:50
+msgid "tried gs commands: %s"
+msgstr ""
+
+#: ../lib/rabbit/error.rb:58
+msgid "tried dia commands: %s"
+msgstr ""
+
+#: ../lib/rabbit/error.rb:66
+msgid "tried gimp commands: %s"
+msgstr ""
+
+#: ../lib/rabbit/error.rb:94
+msgid "Unknown property: %s"
+msgstr ""
+
+#: ../lib/rabbit/error.rb:102
+msgid "can't allocate color: %s"
+msgstr ""
+
+#: ../lib/rabbit/error.rb:113
+msgid "not exist: %s"
+msgstr ""
+
+#: ../lib/rabbit/error.rb:121
+msgid "not a file: %s"
+msgstr ""
+
+#: ../lib/rabbit/error.rb:129
+msgid "can not be read: %s"
+msgstr ""
+
+#: ../lib/rabbit/error.rb:137
+msgid "immutable source type: %s"
+msgstr ""
+
+#: ../lib/rabbit/error.rb:156
+msgid "not available interface: %s"
+msgstr ""
+
+#: ../lib/rabbit/error.rb:164
+msgid "can't find HTML template: %s"
+msgstr ""
+
+#: ../lib/rabbit/error.rb:172
+msgid "can't find theme RD template: %s"
+msgstr ""
+
+#: ../lib/rabbit/error.rb:180
+msgid "invalid motion: %s"
+msgstr ""
+
+#: ../lib/rabbit/error.rb:195
+msgid "invalid value of size property \"%{prop_name}\" of image \"%{filename}\": %{value}"
+msgstr ""
+
+#: ../lib/rabbit/error.rb:216
+msgid "unknown cursor type: %s"
+msgstr ""
+
+#: ../lib/rabbit/error.rb:222
+msgid "print isn't supported"
+msgstr ""
+
 #: ../lib/rabbit/gem-finder.rb:46
 msgid "Installing gem: %s"
 msgstr ""
@@ -1182,7 +1119,11 @@ msgstr ""
 msgid "Installing gem in user install mode: %s"
 msgstr ""
 
-#: ../lib/rabbit/graffiti/config-dialog.rb:48
+#: ../lib/rabbit/gem-pusher.rb:57
+msgid "Enter password on RubyGems.org [%{user}]: "
+msgstr ""
+
+#: ../lib/rabbit/graffiti/config-dialog.rb:50
 msgid "Line width:"
 msgstr ""
 
@@ -1198,24 +1139,23 @@ msgstr ""
 msgid "Slide"
 msgstr ""
 
-#: ../lib/rabbit/html/generator.rb:400
-#: ../lib/rabbit/theme/pdf/property.rb:2
+#: ../lib/rabbit/html/generator.rb:400 ../lib/rabbit/theme/pdf/property.rb:2
 msgid "PDF"
 msgstr ""
 
-#: ../lib/rabbit/image/pdf.rb:53
+#: ../lib/rabbit/image/pdf.rb:48
 msgid "invalid PDF page number: <%s>"
 msgstr ""
 
-#: ../lib/rabbit/image/pdf.rb:58
+#: ../lib/rabbit/image/pdf.rb:53
 msgid "%s page doesn't exist in PDF"
 msgstr ""
 
-#: ../lib/rabbit/info-window.rb:98
+#: ../lib/rabbit/info-window.rb:105
 msgid "%s: Information window"
 msgstr ""
 
-#: ../lib/rabbit/info-window.rb:224
+#: ../lib/rabbit/info-window.rb:282
 msgid "unlimited"
 msgstr ""
 
@@ -1243,15 +1183,15 @@ msgstr ""
 msgid "UNKNOWN"
 msgstr ""
 
-#: ../lib/rabbit/logger/gui.rb:72
+#: ../lib/rabbit/logger/gui.rb:69
 msgid "Rabbit Error Dialog"
 msgstr ""
 
-#: ../lib/rabbit/logger/stderr.rb:16
+#: ../lib/rabbit/logger/stderr.rb:15
 msgid "can't convert to current locale from UTF-8: %s"
 msgstr ""
 
-#: ../lib/rabbit/menu.rb:61
+#: ../lib/rabbit/menu.rb:77
 msgid "Jump to the %dth slide"
 msgstr ""
 
@@ -1259,11 +1199,11 @@ msgstr ""
 msgid "unsupported format. (supported: %s)"
 msgstr ""
 
-#: ../lib/rabbit/parser/ext/aafigure.rb:24
+#: ../lib/rabbit/parser/ext/aafigure.rb:26
 msgid "tried aafigure command: %s"
 msgstr ""
 
-#: ../lib/rabbit/parser/ext/blockdiag.rb:28
+#: ../lib/rabbit/parser/ext/blockdiag.rb:30
 msgid "tried blockdiag command: %s"
 msgstr ""
 
@@ -1283,19 +1223,31 @@ msgstr ""
 msgid "tried mimeTeX commands: %s"
 msgstr ""
 
-#: ../lib/rabbit/parser/markdown/converter.rb:132
+#: ../lib/rabbit/parser/markdown/converter.rb:170 ../test/parser/test-markdown.rb:340
 msgid "multiple ![alt]{image} in a paragraph isn't supported."
 msgstr ""
 
-#: ../lib/rabbit/parser/markdown/converter.rb:225
+#: ../lib/rabbit/parser/markdown/converter.rb:294 ../test/parser/test-markdown.rb:354
+msgid "horizontal rule isn't supported."
+msgstr ""
+
+#: ../lib/rabbit/parser/markdown/converter.rb:356
 msgid "multiple ![]('XXX.png'){:align='right'} isn't supported."
 msgstr ""
 
-#: ../lib/rabbit/parser/rd/ext/block-verbatim.rb:48
+#: ../lib/rabbit/parser/markdown/converter.rb:412 ../test/parser/test-markdown.rb:367
+msgid "tag name is missing."
+msgstr ""
+
+#: ../lib/rabbit/parser/markdown/converter.rb:426
+msgid "HTML isn't supported."
+msgstr ""
+
+#: ../lib/rabbit/parser/rd/ext/block-verbatim.rb:61
 msgid "multiple 'align = right' isn't supported."
 msgstr ""
 
-#: ../lib/rabbit/parser/rd/ext/block-verbatim.rb:141
+#: ../lib/rabbit/parser/rd/ext/block-verbatim.rb:154
 msgid "RTtool isn't available"
 msgstr ""
 
@@ -1303,16 +1255,20 @@ msgstr ""
 msgid "[BUG] [%s] %s extension isn't available."
 msgstr ""
 
-#: ../lib/rabbit/parser/wiki/output.rb:88
+#: ../lib/rabbit/parser/wiki/output.rb:105
 msgid "horizontal rule is unsupported"
 msgstr ""
 
-#: ../lib/rabbit/parser/wiki/output.rb:338
+#: ../lib/rabbit/parser/wiki/output.rb:355
 msgid "unsupported list type: %s"
 msgstr ""
 
-#: ../lib/rabbit/parser/wiki/output.rb:437
-msgid "multiple {{image, 'XXX.png', :align => :right}} isn't supported."
+#: ../lib/rabbit/parser/wiki/output.rb:388 ../test/parser/test-wiki.rb:46
+msgid "inline {{image(...)}} isn't supported."
+msgstr ""
+
+#: ../lib/rabbit/parser/wiki/output.rb:464 ../test/parser/test-wiki.rb:66
+msgid "multiple {{image(..., :align => :right)}} isn't supported."
 msgstr ""
 
 #: ../lib/rabbit/path-manipulatable.rb:28
@@ -1323,114 +1279,40 @@ msgstr ""
 msgid "Creating file:      %s"
 msgstr ""
 
-#: ../lib/rabbit/rabbit.rb:60
-msgid "no such file: %s"
-msgstr ""
-
-#: ../lib/rabbit/rabbit.rb:70
-msgid "can't handle %s because the following command can't be run successfully: %s"
-msgstr ""
-
-#: ../lib/rabbit/rabbit.rb:80
-msgid "tried gs commands: %s"
-msgstr ""
-
-#: ../lib/rabbit/rabbit.rb:88
-msgid "tried dia commands: %s"
-msgstr ""
-
-#: ../lib/rabbit/rabbit.rb:96
-msgid "tried gimp commands: %s"
-msgstr ""
-
-#: ../lib/rabbit/rabbit.rb:124
-msgid "Unknown property: %s"
-msgstr ""
-
-#: ../lib/rabbit/rabbit.rb:132
-msgid "can't allocate color: %s"
-msgstr ""
-
-#: ../lib/rabbit/rabbit.rb:143
-msgid "not exist: %s"
-msgstr ""
-
-#: ../lib/rabbit/rabbit.rb:151
-msgid "not a file: %s"
-msgstr ""
-
-#: ../lib/rabbit/rabbit.rb:159
-msgid "can not be read: %s"
-msgstr ""
-
-#: ../lib/rabbit/rabbit.rb:167
-msgid "immutable source type: %s"
-msgstr ""
-
-#: ../lib/rabbit/rabbit.rb:186
-msgid "not available interface: %s"
-msgstr ""
-
-#: ../lib/rabbit/rabbit.rb:194
-msgid "can't find HTML template: %s"
-msgstr ""
-
-#: ../lib/rabbit/rabbit.rb:202
-msgid "can't find theme RD template: %s"
-msgstr ""
-
-#: ../lib/rabbit/rabbit.rb:210
-msgid "invalid motion: %s"
-msgstr ""
-
-#: ../lib/rabbit/rabbit.rb:225
-msgid "invalid value of size property \"%{prop_name}\" of image \"%{filename}\": %{value}"
-msgstr ""
-
-#: ../lib/rabbit/rabbit.rb:246
-msgid "unknown cursor type: %s"
-msgstr ""
-
-#: ../lib/rabbit/rabbit.rb:252
-msgid "print isn't supported"
-msgstr ""
-
 #: ../lib/rabbit/readme-parser.rb:35
 msgid "No README found"
 msgstr ""
 
-#: ../lib/rabbit/renderer/base.rb:385
+#: ../lib/rabbit/renderer/base.rb:377
 msgid "%s does not support: %s"
 msgstr ""
 
-#: ../lib/rabbit/renderer/print/cairo.rb:130
+#: ../lib/rabbit/renderer/print/cairo.rb:114
 msgid "can't find printer for %s"
 msgstr ""
 
-#: ../lib/rabbit/slide-configuration.rb:50
-#: ../lib/rabbit/theme-configuration.rb:48
+#: ../lib/rabbit/slide-configuration.rb:54 ../lib/rabbit/theme-configuration.rb:48
 msgid "Failed to read slide configuration: %s: %s"
 msgstr ""
 
-#: ../lib/rabbit/slide-configuration.rb:60
-#: ../lib/rabbit/theme-configuration.rb:58
+#: ../lib/rabbit/slide-configuration.rb:64 ../lib/rabbit/theme-configuration.rb:58
 msgid "Failed to write slide configuration: %s: %s"
 msgstr ""
 
-#: ../lib/rabbit/slideshare.rb:61
+#: ../lib/rabbit/slideshare.rb:62
 msgid "Feailed to upload: %s"
 msgstr ""
 
-#: ../lib/rabbit/slideshare.rb:68
+#: ../lib/rabbit/slideshare.rb:69
 msgid "Feailed to edit title: %s"
 msgstr ""
 
-#: ../lib/rabbit/slideshare.rb:76
+#: ../lib/rabbit/slideshare.rb:77
 msgid "Feailed to get slide URL: %s"
 msgstr ""
 
-#: ../lib/rabbit/slideshare.rb:141
-msgid "Enter password on SlideShare"
+#: ../lib/rabbit/slideshare.rb:146
+msgid "Enter password on SlideShare [%{user}]: "
 msgstr ""
 
 #: ../lib/rabbit/source/argf.rb:10
@@ -1453,7 +1335,7 @@ msgstr ""
 msgid "[USER] and [TITLE]"
 msgstr ""
 
-#: ../lib/rabbit/source/uri.rb:25
+#: ../lib/rabbit/source/uri.rb:27
 msgid "URI"
 msgstr ""
 
@@ -1461,67 +1343,63 @@ msgstr ""
 msgid "Rabbit"
 msgstr ""
 
-#: ../lib/rabbit/task/slide.rb:92
+#: ../lib/rabbit/task/slide.rb:94
 msgid "To run rabbit, create '%{options_path}'!"
 msgstr ""
 
-#: ../lib/rabbit/task/slide.rb:96
+#: ../lib/rabbit/task/slide.rb:98
 msgid "Show slide"
 msgstr ""
 
-#: ../lib/rabbit/task/slide.rb:151
-msgid "Publish the slide to all available targets"
+#: ../lib/rabbit/task/slide.rb:110 ../lib/rabbit/task/theme.rb:106
+msgid "Create gem: %{gem_path}"
 msgstr ""
 
-#: ../lib/rabbit/task/slide.rb:195
-msgid "Uploaded successfully!"
+#: ../lib/rabbit/task/slide.rb:122 ../lib/rabbit/task/theme.rb:118
+msgid "Write %{item} in %{where}: %{content}"
 msgstr ""
 
-#: ../lib/rabbit/task/slide.rb:196
-msgid "See %s"
+#: ../lib/rabbit/task/slide.rb:148 ../lib/rabbit/task/theme.rb:158
+msgid "Generate PDF: %{pdf_path}"
 msgstr ""
 
-#: ../lib/rabbit/task/slide.rb:207
-#: ../lib/rabbit/task/slide.rb:175 ../lib/rabbit/task/slide.rb:183
-msgid "Publish the slide to %s"
+#: ../lib/rabbit/task/slide.rb:153
+msgid "Publish the slide to all available targets"
 msgstr ""
 
-#: ../lib/rabbit/task/theme.rb:93
-msgid "Show theme benchmark slide with this theme"
+#: ../lib/rabbit/task/slide.rb:177 ../lib/rabbit/task/slide.rb:186 ../lib/rabbit/task/slide.rb:210
+msgid "Publish the slide to %s"
 msgstr ""
 
-#: ../lib/rabbit/task/theme.rb:137
-msgid "Generate all PDFs"
+#: ../lib/rabbit/task/slide.rb:198
+msgid "Uploaded successfully!"
 msgstr ""
 
-#: ../lib/rabbit/task/theme.rb:165
-msgid "Publish the theme to all available targets"
+#: ../lib/rabbit/task/slide.rb:199
+msgid "See %s"
 msgstr ""
 
-#: ../lib/rabbit/task/theme.rb:171
-msgid "Publish the theme to %s"
+#: ../lib/rabbit/task/theme.rb:94
+msgid "Show theme benchmark slide with this theme"
 msgstr ""
 
-#: ../lib/rabbit/task/theme.rb:105 ../lib/rabbit/task/slide.rb:108
-msgid "Create gem: %{gem_path}"
+#: ../lib/rabbit/task/theme.rb:138
+msgid "Generate all PDFs"
 msgstr ""
 
-#: ../lib/rabbit/task/theme.rb:117 ../lib/rabbit/task/slide.rb:120
-msgid "Write %{item} in %{where}: %{content}"
+#: ../lib/rabbit/task/theme.rb:166
+msgid "Publish the theme to all available targets"
 msgstr ""
 
-#: ../lib/rabbit/task/theme.rb:157 ../lib/rabbit/task/slide.rb:146
-msgid "Generate PDF: %{pdf_path}"
+#: ../lib/rabbit/task/theme.rb:173
+msgid "Publish the theme to %s"
 msgstr ""
 
-#: ../lib/rabbit/theme/applier.rb:604
-#: ../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 ""
 
-#: ../lib/rabbit/theme/auto-slide/property.rb:1
-#: ../lib/rabbit/theme/slide-background/property.rb:1
+#: ../lib/rabbit/theme/auto-slide/property.rb:1 ../lib/rabbit/theme/slide-background/property.rb:1
 msgid "Backward compatibility"
 msgstr ""
 
@@ -1537,72 +1415,7 @@ msgstr ""
 msgid "See ((<slide-show>))"
 msgstr ""
 
-#: ../lib/rabbit/theme/base/property.rb:1
-#: ../lib/rabbit/theme/color-circle-block-quote/property.rb:1
-#: ../lib/rabbit/theme/color-circle-common/property.rb:1
-#: ../lib/rabbit/theme/color-circle-description/property.rb:1
-#: ../lib/rabbit/theme/color-circle-foot-text/property.rb:1
-#: ../lib/rabbit/theme/color-circle-item-mark/property.rb:1
-#: ../lib/rabbit/theme/color-circle-method-list/property.rb:1
-#: ../lib/rabbit/theme/color-circle-preformatted/property.rb:1
-#: ../lib/rabbit/theme/color-circle-slide/property.rb:1
-#: ../lib/rabbit/theme/color-circle-text/property.rb:1
-#: ../lib/rabbit/theme/color-circle-title-slide/property.rb:1
-#: ../lib/rabbit/theme/color-circle-title-text/property.rb:1
-#: ../lib/rabbit/theme/color-circle/property.rb:1
-#: ../lib/rabbit/theme/cozmixng-powered-by/property.rb:1
-#: ../lib/rabbit/theme/default-block-quote/property.rb:1
-#: ../lib/rabbit/theme/default-comment/property.rb:1
-#: ../lib/rabbit/theme/default-description/property.rb:1
-#: ../lib/rabbit/theme/default-foot-text/property.rb:1
-#: ../lib/rabbit/theme/default-icon/property.rb:1
-#: ../lib/rabbit/theme/default-item-mark-setup/property.rb:1
-#: ../lib/rabbit/theme/default-item-mark/property.rb:1
-#: ../lib/rabbit/theme/default-method-list/property.rb:1
-#: ../lib/rabbit/theme/default-preformatted/property.rb:1
-#: ../lib/rabbit/theme/default-slide/property.rb:1
-#: ../lib/rabbit/theme/default-text/property.rb:1
-#: ../lib/rabbit/theme/default-title-slide/property.rb:1
-#: ../lib/rabbit/theme/default-title-text/property.rb:1
-#: ../lib/rabbit/theme/edge-info-toolkit/property.rb:1
-#: ../lib/rabbit/theme/emphasize-keyword/property.rb:1
-#: ../lib/rabbit/theme/footer-logo/property.rb:1
-#: ../lib/rabbit/theme/headline-logo/property.rb:1
-#: ../lib/rabbit/theme/icon/property.rb:1
-#: ../lib/rabbit/theme/image-slide-number/property.rb:1
-#: ../lib/rabbit/theme/image/property.rb:1
-#: ../lib/rabbit/theme/lightning-talk-toolkit/property.rb:1
-#: ../lib/rabbit/theme/per-slide-background-color/property.rb:1
-#: ../lib/rabbit/theme/per-slide-background-image/property.rb:1
-#: ../lib/rabbit/theme/powered-by/property.rb:1
-#: ../lib/rabbit/theme/rabbit-block-quote/property.rb:1
-#: ../lib/rabbit/theme/rabbit-headline-logo/property.rb:1
-#: ../lib/rabbit/theme/rabbit-icon/property.rb:1
-#: ../lib/rabbit/theme/rabbit-item-mark/property.rb:1
-#: ../lib/rabbit/theme/rabbit-powered-by/property.rb:1
-#: ../lib/rabbit/theme/rabbit-title-logo/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2-description/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2-foot-text/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2-headline/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2-icon/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2-item-mark/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2-preformatted/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2-slide/property.rb:1
-#: ../lib/rabbit/theme/simple-item-mark/property.rb:1
-#: ../lib/rabbit/theme/slide-background-image/property.rb:1
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:1
-#: ../lib/rabbit/theme/slide-header-info/property.rb:1
-#: ../lib/rabbit/theme/slide-logo/property.rb:1
-#: ../lib/rabbit/theme/slide-number/property.rb:1
-#: ../lib/rabbit/theme/syntax-highlighting/property.rb:1
-#: ../lib/rabbit/theme/table/property.rb:1
-#: ../lib/rabbit/theme/tag/property.rb:1
-#: ../lib/rabbit/theme/title-background-color/property.rb:1
-#: ../lib/rabbit/theme/title-background-image/property.rb:1
-#: ../lib/rabbit/theme/title-logo/property.rb:1
-#: ../lib/rabbit/theme/title-on-image-toolkit/property.rb:1
-#: ../lib/rabbit/theme/title-shadow/property.rb:1
-#: ../lib/rabbit/theme/title-slide-background-image/property.rb:1
+#: ../lib/rabbit/theme/base/property.rb:1 ../lib/rabbit/theme/color-circle-block-quote/property.rb:1 ../lib/rabbit/theme/color-circle-common/property.rb:1 ../lib/rabbit/theme/color-circle-description/property.rb:1 ../lib/rabbit/theme/color-circle-foot-text/property.rb:1 ../lib/rabbit/theme/color-circle-item-mark/property.rb:1 ../lib/rabbit/theme/color-circle-method-list/property.rb:1 ../lib/rabbit/theme/color-circle-preformatted/property.rb:1 ../lib/rabbit/theme/color-circle-slide/proper [...]
 msgid "Toolkit"
 msgstr ""
 
@@ -1650,10 +1463,7 @@ msgstr ""
 msgid "Clear blue theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/clock/property.rb:1
-#: ../lib/rabbit/theme/image-timer/property.rb:1
-#: ../lib/rabbit/theme/slide-show/property.rb:1
-#: ../lib/rabbit/theme/timer/property.rb:1
+#: ../lib/rabbit/theme/clock/property.rb:1 ../lib/rabbit/theme/image-timer/property.rb:1 ../lib/rabbit/theme/slide-show/property.rb:1 ../lib/rabbit/theme/timer/property.rb:1
 msgid "Time"
 msgstr ""
 
@@ -1673,11 +1483,7 @@ msgstr ""
 msgid "Properties for the clock, such as font family."
 msgstr ""
 
-#: ../lib/rabbit/theme/clock/property.rb:17
-#: ../lib/rabbit/theme/image-slide-number/property.rb:60
-#: ../lib/rabbit/theme/show-frame/property.rb:12
-#: ../lib/rabbit/theme/slide-number/property.rb:17
-#: ../lib/rabbit/theme/title-logo/property.rb:19
+#: ../lib/rabbit/theme/clock/property.rb:17 ../lib/rabbit/theme/image-slide-number/property.rb:60 ../lib/rabbit/theme/show-frame/property.rb:12 ../lib/rabbit/theme/slide-number/property.rb:17 ../lib/rabbit/theme/title-logo/property.rb:19
 msgid "Whether uninstalling this toolkit or not. This option is useful for cases you do not want to make the toolkit work for certain slides."
 msgstr ""
 
@@ -1897,6 +1703,18 @@ msgstr ""
 msgid "Uses pink circle and polygon as icons."
 msgstr ""
 
+#: ../lib/rabbit/theme/default-item-mark-setup/default-item-mark-setup.rb:31
+msgid ""
+"unknown item mark type: %s\n"
+"Rectangle type is used as fallback"
+msgstr ""
+
+#: ../lib/rabbit/theme/default-item-mark-setup/default-item-mark-setup.rb:81
+msgid ""
+"unknown enumeration item mark type: %s\n"
+"Numeric type is used as fallback"
+msgstr ""
+
 #: ../lib/rabbit/theme/default-item-mark-setup/property.rb:2
 msgid "Default Item Mark Setup"
 msgstr ""
@@ -2053,25 +1871,11 @@ msgstr ""
 msgid "Displays an image as a logo at the footer of slides."
 msgstr ""
 
-#: ../lib/rabbit/theme/footer-logo/property.rb:7
-#: ../lib/rabbit/theme/headline-logo/property.rb:7
-#: ../lib/rabbit/theme/slide-background-image/property.rb:7
-#: ../lib/rabbit/theme/slide-logo/property.rb:7
-#: ../lib/rabbit/theme/title-background-color/property.rb:7
-#: ../lib/rabbit/theme/title-background-image/property.rb:8
-#: ../lib/rabbit/theme/title-logo/property.rb:7
-#: ../lib/rabbit/theme/title-slide-background-image/property.rb:7
+#: ../lib/rabbit/theme/footer-logo/property.rb:7 ../lib/rabbit/theme/headline-logo/property.rb:7 ../lib/rabbit/theme/slide-background-image/property.rb:7 ../lib/rabbit/theme/slide-logo/property.rb:7 ../lib/rabbit/theme/title-background-color/property.rb:7 ../lib/rabbit/theme/title-background-image/property.rb:8 ../lib/rabbit/theme/title-logo/property.rb:7 ../lib/rabbit/theme/title-slide-background-image/property.rb:7
 msgid "(Must be specified.)"
 msgstr ""
 
-#: ../lib/rabbit/theme/footer-logo/property.rb:8
-#: ../lib/rabbit/theme/headline-logo/property.rb:8
-#: ../lib/rabbit/theme/icon/property.rb:22
-#: ../lib/rabbit/theme/slide-background-image/property.rb:8
-#: ../lib/rabbit/theme/slide-logo/property.rb:8
-#: ../lib/rabbit/theme/title-background-image/property.rb:9
-#: ../lib/rabbit/theme/title-logo/property.rb:8
-#: ../lib/rabbit/theme/title-slide-background-image/property.rb:8
+#: ../lib/rabbit/theme/footer-logo/property.rb:8 ../lib/rabbit/theme/headline-logo/property.rb:8 ../lib/rabbit/theme/icon/property.rb:22 ../lib/rabbit/theme/slide-background-image/property.rb:8 ../lib/rabbit/theme/slide-logo/property.rb:8 ../lib/rabbit/theme/title-background-image/property.rb:9 ../lib/rabbit/theme/title-logo/property.rb:8 ../lib/rabbit/theme/title-slide-background-image/property.rb:8
 msgid "Image file name."
 msgstr ""
 
@@ -2087,10 +1891,7 @@ msgstr ""
 msgid "Bottom margin of an image."
 msgstr ""
 
-#: ../lib/rabbit/theme/footer-logo/property.rb:24
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:41
-#: ../lib/rabbit/theme/slide-header-info/property.rb:41
-#: ../lib/rabbit/theme/slide-logo/property.rb:24
+#: ../lib/rabbit/theme/footer-logo/property.rb:24 ../lib/rabbit/theme/slide-footer-info/property.rb:41 ../lib/rabbit/theme/slide-header-info/property.rb:41 ../lib/rabbit/theme/slide-logo/property.rb:24
 msgid "Whether uninstall this theme or not."
 msgstr ""
 
@@ -2126,8 +1927,7 @@ msgstr ""
 msgid "Specifies an image or images as icons of the window, which will be used by some window managers and desktop environments, for example when the window is minimized (or 'iconified'), in the window frame, or when windows are switched. The specified image or images are automatically scaled to the icon sizes case by case. When several images are specified and they have different sizes, an image with the most similar size to that of icon among them is chosen and scaled in order to impro [...]
 msgstr ""
 
-#: ../lib/rabbit/theme/icon/property.rb:18
-#: ../lib/rabbit/theme/powered-by/property.rb:18
+#: ../lib/rabbit/theme/icon/property.rb:18 ../lib/rabbit/theme/powered-by/property.rb:18
 msgid "List of image file names."
 msgstr ""
 
@@ -2269,9 +2069,7 @@ msgstr ""
 msgid "Lightning Talk theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/mirror-effect/property.rb:1
-#: ../lib/rabbit/theme/rotate-zoom-effect/property.rb:1
-#: ../lib/rabbit/theme/scroll-effect/property.rb:1
+#: ../lib/rabbit/theme/mirror-effect/property.rb:1 ../lib/rabbit/theme/rotate-zoom-effect/property.rb:1 ../lib/rabbit/theme/scroll-effect/property.rb:1
 msgid "Effect"
 msgstr ""
 
@@ -2291,8 +2089,7 @@ msgstr ""
 msgid "Nari's theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/newline-in-slides/property.rb:1
-#: ../lib/rabbit/theme/newline-in-title/property.rb:1
+#: ../lib/rabbit/theme/newline-in-slides/property.rb:1 ../lib/rabbit/theme/newline-in-title/property.rb:1
 msgid "Convenience"
 msgstr ""
 
@@ -2300,8 +2097,7 @@ msgstr ""
 msgid "Newline in Slides"
 msgstr ""
 
-#: ../lib/rabbit/theme/newline-in-slides/property.rb:3
-#: ../lib/rabbit/theme/newline-in-title/property.rb:3
+#: ../lib/rabbit/theme/newline-in-slides/property.rb:3 ../lib/rabbit/theme/newline-in-title/property.rb:3
 msgid ""
 "Convenience '\n"
 "' newline notation."
@@ -2645,8 +2441,7 @@ msgstr ""
 msgid "See ((<slide-background-image>))"
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:2
-#: ../lib/rabbit/theme/slide-header-info/property.rb:2
+#: ../lib/rabbit/theme/slide-footer-info/property.rb:2 ../lib/rabbit/theme/slide-header-info/property.rb:2
 msgid "Slide Footer Info"
 msgstr ""
 
@@ -2658,18 +2453,15 @@ msgstr ""
 msgid "Displays information with a line at the footer of slides."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:8
-#: ../lib/rabbit/theme/slide-header-info/property.rb:8
+#: ../lib/rabbit/theme/slide-footer-info/property.rb:8 ../lib/rabbit/theme/slide-header-info/property.rb:8
 msgid "Line color."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:12
-#: ../lib/rabbit/theme/slide-header-info/property.rb:12
+#: ../lib/rabbit/theme/slide-footer-info/property.rb:12 ../lib/rabbit/theme/slide-header-info/property.rb:12
 msgid "Line width."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:15
-#: ../lib/rabbit/theme/slide-header-info/property.rb:15
+#: ../lib/rabbit/theme/slide-footer-info/property.rb:15 ../lib/rabbit/theme/slide-header-info/property.rb:15
 msgid "white <-> black gradation"
 msgstr ""
 
@@ -2677,28 +2469,23 @@ msgstr ""
 msgid "Line fill pattern. @slide_footer_info_line_color is ignored if this parameter is specified."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:21
-#: ../lib/rabbit/theme/slide-header-info/property.rb:21
+#: ../lib/rabbit/theme/slide-footer-info/property.rb:21 ../lib/rabbit/theme/slide-header-info/property.rb:21
 msgid "Text size."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:25
-#: ../lib/rabbit/theme/slide-header-info/property.rb:25
+#: ../lib/rabbit/theme/slide-footer-info/property.rb:25 ../lib/rabbit/theme/slide-header-info/property.rb:25
 msgid "x-axis margin."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:29
-#: ../lib/rabbit/theme/slide-header-info/property.rb:29
+#: ../lib/rabbit/theme/slide-footer-info/property.rb:29 ../lib/rabbit/theme/slide-header-info/property.rb:29
 msgid "Text color."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:33
-#: ../lib/rabbit/theme/slide-header-info/property.rb:33
+#: ../lib/rabbit/theme/slide-footer-info/property.rb:33 ../lib/rabbit/theme/slide-header-info/property.rb:33
 msgid "Whether show a text over line or not."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:37
-#: ../lib/rabbit/theme/slide-header-info/property.rb:37
+#: ../lib/rabbit/theme/slide-footer-info/property.rb:37 ../lib/rabbit/theme/slide-header-info/property.rb:37
 msgid "Base y-axis position to stroke line."
 msgstr ""
 
@@ -2738,8 +2525,7 @@ msgstr ""
 msgid "Image height."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-logo/slide-logo.rb:4
-#: ../lib/rabbit/theme/title-logo/title-logo.rb:4
+#: ../lib/rabbit/theme/slide-logo/slide-logo.rb:4 ../lib/rabbit/theme/title-logo/title-logo.rb:4
 msgid "must specify %s!!!"
 msgstr ""
 
@@ -2839,13 +2625,11 @@ msgstr ""
 msgid "TitleBackgroundImage"
 msgstr ""
 
-#: ../lib/rabbit/theme/title-background-image/property.rb:3
-#: ../lib/rabbit/theme/title-slide-background-image/property.rb:3
+#: ../lib/rabbit/theme/title-background-image/property.rb:3 ../lib/rabbit/theme/title-slide-background-image/property.rb:3
 msgid "Toolkit to display an image as a background of the title slide"
 msgstr ""
 
-#: ../lib/rabbit/theme/title-background-image/property.rb:5
-#: ../lib/rabbit/theme/title-slide-background-image/property.rb:4
+#: ../lib/rabbit/theme/title-background-image/property.rb:5 ../lib/rabbit/theme/title-slide-background-image/property.rb:4
 msgid "Displays an image as a background of the title slide."
 msgstr ""
 
diff --git a/po/en/rabbit.po b/po/en/rabbit.po
index e592e7d..e6eb1ff 100644
--- a/po/en/rabbit.po
+++ b/po/en/rabbit.po
@@ -6,425 +6,304 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Rabbit 0.5.4\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-06-01 13:03+0900\n"
 "PO-Revision-Date: 2012-09-10 21:20+0900\n"
 "Last-Translator: Kouhei Sutou <kou at cozmixng.org>\n"
-"Language-Team: Kouhei Sutou <kou at cozmixng.org> and Kobayashi Noritada <nori1 at dolphin.c.u-tokyo.ac.jp>\n"
+"Language-Team: Kouhei Sutou <kou at cozmixng.org> and Kobayashi Noritada <nori1 at d"
+"olphin.c.u-tokyo.ac.jp>\n"
 "Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 
-#: 
-#: ../lib/rabbit/theme/default-item-mark-setup/default-item-mark-setup.rb:81
-msgid ""
-"unknown enumeration item mark type: %s\n"
-"Numeric type is used as fallback"
-msgstr ""
-
-#: 
-#: ../lib/rabbit/theme/default-item-mark-setup/default-item-mark-setup.rb:31
-msgid ""
-"unknown item mark type: %s\n"
-"Rectangle type is used as fallback"
-msgstr ""
-
-#: ../bin/rabbit-command:18
 msgid "Specify Rabbit's dRuby URI as [URI]."
 msgstr ""
 
-#: ../bin/rabbit-command:23
 msgid "Move commands"
 msgstr ""
 
-#: ../bin/rabbit-command:25
 msgid "Move to previous"
 msgstr ""
 
-#: ../bin/rabbit-command:29
 msgid "Move to next"
 msgstr ""
 
-#: ../bin/rabbit-command:33
 msgid "Move to the previous slide"
 msgstr ""
 
-#: ../bin/rabbit-command:37
 msgid "Move to the next slide"
 msgstr ""
 
-#: ../bin/rabbit-command:41
 msgid "Move to the first slide"
 msgstr ""
 
-#: ../bin/rabbit-command:45
 msgid "Move to the last slide"
 msgstr ""
 
-#: ../bin/rabbit-command:49
 msgid "Move to the Nth slide"
 msgstr ""
 
-#: ../bin/rabbit-command:53
 msgid "Get commands"
 msgstr ""
 
-#: ../bin/rabbit-command:55
 msgid "Show source"
 msgstr ""
 
-#: ../bin/rabbit-command:59
 msgid "Show the current slide source as RD"
 msgstr ""
 
-#: ../bin/rabbit-command:63
 msgid "Control commands"
 msgstr ""
 
-#: ../bin/rabbit-command:65
 msgid "Toggle fullscreen"
 msgstr ""
 
-#: ../bin/rabbit-command:69
 msgid "Toggle index mode"
 msgstr ""
 
-#: ../bin/rabbit-command:73
 msgid "Toggle whiteout"
 msgstr ""
 
-#: ../bin/rabbit-command:77
 msgid "Toggle blackout"
 msgstr ""
 
-#: ../bin/rabbit-command:81
 msgid "Quit"
 msgstr ""
 
-#: ../data/rabbit/image/clear-blue-images/property.rb:1
-#: ../data/rabbit/image/cozmixng-images/property.rb:1
-#: ../data/rabbit/image/dark-gradation-images/property.rb:1
-#: ../data/rabbit/image/debian-images/property.rb:1
-#: ../data/rabbit/image/nari-images/property.rb:1
-#: ../data/rabbit/image/rabbit-images/property.rb:1
-#: ../data/rabbit/image/ruby-images/property.rb:1
-#: ../data/rabbit/image/rubykaigi2011-images/property.rb:1
-#: ../lib/rabbit/theme/image/property.rb:2
 msgid "Image"
 msgstr ""
 
-#: ../data/rabbit/image/clear-blue-images/property.rb:2
 msgid "Clear Blue Image"
 msgstr ""
 
-#: ../data/rabbit/image/clear-blue-images/property.rb:3
 msgid "Images related to ((<clear-blue>)) theme"
 msgstr ""
 
-#: ../data/rabbit/image/clear-blue-images/property.rb:4
 msgid "Provides images related to ((<clear-blue>)) theme."
 msgstr ""
 
-#: ../data/rabbit/image/cozmixng-images/property.rb:2
 msgid "COZMIXNGImage"
 msgstr ""
 
-#: ../data/rabbit/image/cozmixng-images/property.rb:3
 msgid "Images related to COZMIXNG"
 msgstr ""
 
-#: ../data/rabbit/image/cozmixng-images/property.rb:4
 msgid "Provides images related to COZMIXNG."
 msgstr ""
 
-#: ../data/rabbit/image/dark-gradation-images/property.rb:2
 msgid "Dark Gradation background Image"
 msgstr ""
 
-#: ../data/rabbit/image/dark-gradation-images/property.rb:3
 msgid "Images related to dark gradation"
 msgstr ""
 
-#: ../data/rabbit/image/dark-gradation-images/property.rb:4
 msgid "Provides images related to Dark Gradation theme"
 msgstr ""
 
-#: ../data/rabbit/image/debian-images/property.rb:2
 msgid "DebianImage"
 msgstr ""
 
-#: ../data/rabbit/image/debian-images/property.rb:3
 msgid "Images related to Debian"
 msgstr ""
 
-#: ../data/rabbit/image/debian-images/property.rb:4
 msgid "Provides images related to Debian"
 msgstr ""
 
-#: ../data/rabbit/image/nari-images/property.rb:2
 msgid "Nari Image"
 msgstr ""
 
-#: ../data/rabbit/image/nari-images/property.rb:3
 msgid "Images related to ((<nari>)) theme"
 msgstr ""
 
-#: ../data/rabbit/image/nari-images/property.rb:4
 msgid "Provides images related to ((<nari>)) theme."
 msgstr ""
 
-#: ../data/rabbit/image/rabbit-images/property.rb:2
 msgid "RabbitImage"
 msgstr ""
 
-#: ../data/rabbit/image/rabbit-images/property.rb:3
 msgid "Images related to Rabbit"
 msgstr ""
 
-#: ../data/rabbit/image/rabbit-images/property.rb:4
 msgid "Provides images related to Rabbit."
 msgstr ""
 
-#: ../data/rabbit/image/ruby-images/property.rb:2
 msgid "RubyImage"
 msgstr ""
 
-#: ../data/rabbit/image/ruby-images/property.rb:3
 msgid "Images related to Ruby"
 msgstr ""
 
-#: ../data/rabbit/image/ruby-images/property.rb:4
 msgid "Provides images related to Ruby."
 msgstr ""
 
-#: ../data/rabbit/image/rubykaigi2011-images/property.rb:2
 msgid "RubyKaigi2011Image"
 msgstr ""
 
-#: ../data/rabbit/image/rubykaigi2011-images/property.rb:3
 msgid "Images related to RubyKaigi2011"
 msgstr ""
 
-#: ../data/rabbit/image/rubykaigi2011-images/property.rb:4
 msgid "Provides images related to RubyKaigi2011."
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:8
 msgid "Next"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:16
 msgid "Previous"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:24
 msgid "Next slide"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:32
 msgid "Previous slide"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:40
 msgid "First slide"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:48
 msgid "Last slide"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:58
 msgid "Jump to"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:75
 msgid "Save as image"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:91
+msgid "Print"
+msgstr ""
+
 msgid "Iconify"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:102
 msgid "Change theme"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:112
 msgid "Merge theme"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:121
 msgid "Reload theme"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:129
 msgid "Redraw"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:137
 msgid "Clear slide"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:150
 msgid "_Quit"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:151
 msgid "_Quit with confirmation"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:158
 msgid "Now processing... Do you really quit?"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:175
 msgid "Cache all slides"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:182
 msgid "Graffiti"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:190
 msgid "Clear graffiti"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:198
 msgid "Undo graffiti"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:206
 msgid "Change graffiti color"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:224
 msgid "Reset adjustment"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:232
 msgid "Reset timer"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:240
 msgid "Expand hole"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:247
 msgid "Narrow hole"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:255
 msgid "Search slide forward"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:263
 msgid "Search slide backward"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:271
 msgid "Search slide forward next"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:279
 msgid "Search slide backward next"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:287
 msgid "Stop slide search"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:301
 msgid "Log Level"
 msgstr ""
 
-#: ../lib/rabbit/action/radio.rb:37
-#: ../lib/rabbit/command/rabbit-slide.rb:353
-#: ../lib/rabbit/command/rabbit-slide.rb:369
-#: ../lib/rabbit/command/rabbit-theme.rb:211
-#: ../lib/rabbit/command/rabbit-theme.rb:227
+msgid "Whiteout"
+msgstr ""
+
+msgid "Blackout"
+msgstr ""
+
 msgid "Show"
 msgstr ""
 
-#: ../lib/rabbit/action/radio.rb:48
-#: ../lib/rabbit/theme/show-frame/property.rb:1
 msgid "Debug"
 msgstr ""
 
-#: ../lib/rabbit/action/radio.rb:53
 msgid "Info"
 msgstr ""
 
-#: ../lib/rabbit/action/radio.rb:58
 msgid "Warning"
 msgstr ""
 
-#: ../lib/rabbit/action/radio.rb:63
 msgid "Error"
 msgstr ""
 
-#: ../lib/rabbit/action/radio.rb:68
 msgid "Fatal"
 msgstr ""
 
-#: ../lib/rabbit/action/radio.rb:73
 msgid "Unknown"
 msgstr ""
 
-#: ../lib/rabbit/action/radio.rb:27 ../lib/rabbit/action/toggle.rb:12
-msgid "Whiteout"
-msgstr ""
-
-#: ../lib/rabbit/action/radio.rb:32 ../lib/rabbit/action/toggle.rb:23
-msgid "Blackout"
-msgstr ""
-
-#: ../lib/rabbit/action/toggle.rb:30
 msgid "Index mode"
 msgstr ""
 
-#: ../lib/rabbit/action/toggle.rb:38
 msgid "Full screen"
 msgstr ""
 
-#: ../lib/rabbit/action/toggle.rb:50
 msgid "Graffiti mode"
 msgstr ""
 
-#: ../lib/rabbit/action/toggle.rb:58
 msgid "Information window"
 msgstr ""
 
-#: ../lib/rabbit/action/toggle.rb:65
 msgid "Spotlight"
 msgstr ""
 
-#: ../lib/rabbit/action/toggle.rb:72
 msgid "Magnifier"
 msgstr ""
 
-#: ../lib/rabbit/author-configuration.rb:42
 msgid "Failed to read author configuration: %s: %s"
 msgstr ""
 
-#: ../lib/rabbit/author-configuration.rb:52
 msgid "Failed to write author configuration: %s: %s"
 msgstr ""
 
-#: ../lib/rabbit/canvas.rb:607
 msgid "Unknown action: %s"
 msgstr ""
 
-#: ../lib/rabbit/canvas.rb:675
 msgid "Processing..."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:50
-#: ../lib/rabbit/command/rabbit-theme.rb:48
 msgid "See --help for example"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:76
 msgid ""
 "Usage: %s COMMAND [OPTIONS]\n"
 " e.g.: %s new \\\n"
@@ -438,216 +317,123 @@ msgid ""
 "          --speaker-deck-user kou"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:91
 msgid "COMMAND"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:92
 msgid "  new:    create a new slide"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:93
 msgid "  change: change an existing slide"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:96
 msgid "Slide information"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:99
 msgid "Slide ID"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:100
-#: ../lib/rabbit/command/rabbit-slide.rb:107
-#: ../lib/rabbit/command/rabbit-slide.rb:119
-#: ../lib/rabbit/command/rabbit-slide.rb:133
-#: ../lib/rabbit/command/rabbit-slide.rb:141
-#: ../lib/rabbit/command/rabbit-slide.rb:148
-#: ../lib/rabbit/command/rabbit-slide.rb:155
-#: ../lib/rabbit/command/rabbit-slide.rb:164
-#: ../lib/rabbit/command/rabbit-slide.rb:177
-#: ../lib/rabbit/command/rabbit-slide.rb:191
-#: ../lib/rabbit/command/rabbit-slide.rb:205
-#: ../lib/rabbit/command/rabbit-slide.rb:219
-#: ../lib/rabbit/command/rabbit-theme.rb:83
-#: ../lib/rabbit/command/rabbit-theme.rb:92
-#: ../lib/rabbit/command/rabbit-theme.rb:105
-#: ../lib/rabbit/command/rabbit-theme.rb:119
 msgid "(e.g.: %s)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:101
-#: ../lib/rabbit/command/rabbit-slide.rb:108
-#: ../lib/rabbit/command/rabbit-theme.rb:84
 msgid "(must)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:106
 msgid "Base name for the slide source file and generated PDF file"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:118
 msgid "Markup language for the new slide"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:120
 msgid "(available markup languages: %s)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:123
-#: ../lib/rabbit/command/rabbit-slide.rb:167
-#: ../lib/rabbit/command/rabbit-slide.rb:180
-#: ../lib/rabbit/command/rabbit-slide.rb:194
-#: ../lib/rabbit/command/rabbit-slide.rb:208
-#: ../lib/rabbit/command/rabbit-slide.rb:222
-#: ../lib/rabbit/command/rabbit-theme.rb:95
-#: ../lib/rabbit/command/rabbit-theme.rb:108
-#: ../lib/rabbit/command/rabbit-theme.rb:122
 msgid "(default: %s)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:125
-#: ../lib/rabbit/command/rabbit-slide.rb:134
-#: ../lib/rabbit/command/rabbit-slide.rb:142
-#: ../lib/rabbit/command/rabbit-slide.rb:149
-#: ../lib/rabbit/command/rabbit-slide.rb:156
-#: ../lib/rabbit/command/rabbit-slide.rb:169
-#: ../lib/rabbit/command/rabbit-slide.rb:182
-#: ../lib/rabbit/command/rabbit-slide.rb:196
-#: ../lib/rabbit/command/rabbit-slide.rb:210
-#: ../lib/rabbit/command/rabbit-slide.rb:224
-#: ../lib/rabbit/command/rabbit-theme.rb:97
-#: ../lib/rabbit/command/rabbit-theme.rb:110
-#: ../lib/rabbit/command/rabbit-theme.rb:124
 msgid "(optional)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:132
 msgid "Title of the new slide"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:133
 msgid "--title=\"Rabbit Introduction\""
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:140
 msgid "Tags of the new slide"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:147
 msgid "Allotted time in presentaion"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:154
 msgid "Presentation date with the new slide"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:160
-#: ../lib/rabbit/command/rabbit-theme.rb:88
 msgid "Your information"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:163
-#: ../lib/rabbit/command/rabbit-theme.rb:91
 msgid "Author name of the new slide"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:176
-#: ../lib/rabbit/command/rabbit-theme.rb:104
 msgid "Author e-mail of the new slide"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:189
-#: ../lib/rabbit/command/rabbit-slide.rb:203
-#: ../lib/rabbit/command/rabbit-slide.rb:217
-#: ../lib/rabbit/command/rabbit-theme.rb:117
 msgid "Account for %s"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:190
-#: ../lib/rabbit/command/rabbit-slide.rb:204
-#: ../lib/rabbit/command/rabbit-slide.rb:218
-#: ../lib/rabbit/command/rabbit-theme.rb:118
 msgid "It is used to publish your slide to %s"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:252
-#: ../lib/rabbit/command/rabbit-theme.rb:143
 msgid "too many commands: %s"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:256
-#: ../lib/rabbit/command/rabbit-theme.rb:148
 msgid "invalid command: <%s>: available commands: %s"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:264
-#: ../lib/rabbit/command/rabbit-slide.rb:270
-#: ../lib/rabbit/command/rabbit-theme.rb:156
 msgid "%s is missing"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:345
 msgid "TODO: SLIDE TITLE"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:348
 msgid "TODO: SLIDE DESCRIPTION"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:351
-#: ../lib/rabbit/command/rabbit-theme.rb:209
 msgid "For author"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:357
-#: ../lib/rabbit/command/rabbit-theme.rb:215
 msgid "Publish"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:362
 msgid "For viewers"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:364
-#: ../lib/rabbit/command/rabbit-theme.rb:222
 msgid "Install"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:435
 msgid "TITLE"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:437
 msgid "FIRST SLIDE"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:439
 msgid "SECOND SLIDE"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:451
 msgid "SUBTITLE"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:452
 msgid "AUTHOR"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:453
 msgid "INSTITUTION"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:454
 msgid "EVENT NAME"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:475
 msgid "ITEM %d"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-theme.rb:67
 msgid ""
 "Usage: %s new [options]\n"
 " e.g.: %s new \\\n"
@@ -657,1693 +443,1218 @@ msgid ""
 "          --rubygems-user kou"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-theme.rb:79
 msgid "Theme information"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-theme.rb:82
 msgid "Theme ID"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-theme.rb:204
 msgid "TODO: THEME TITLE"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-theme.rb:206
 msgid "TODO: THEME DESCRIPTION"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-theme.rb:220
 msgid "For users"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-theme.rb:229
-#: ../lib/rabbit/task/theme.rb:95
 msgid "rabbit-theme-benchmark-en.gem"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:143
-#: ../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/theme/green-circle/property.rb:1
-#: ../lib/rabbit/theme/image-viewer/property.rb:1
-#: ../lib/rabbit/theme/lightning-clear-blue/property.rb:1
-#: ../lib/rabbit/theme/lightning-monochrome/property.rb:1
-#: ../lib/rabbit/theme/lightning-rabbit/property.rb:1
-#: ../lib/rabbit/theme/lightning-simple/property.rb:1
-#: ../lib/rabbit/theme/lightning-talk/property.rb:1
-#: ../lib/rabbit/theme/nari/property.rb:1
-#: ../lib/rabbit/theme/night-black/property.rb:1
-#: ../lib/rabbit/theme/pdf/property.rb:1
-#: ../lib/rabbit/theme/rabbit/property.rb:1
-#: ../lib/rabbit/theme/ranguba/property.rb:1
-#: ../lib/rabbit/theme/red-frame/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2/property.rb:1
-#: ../lib/rabbit/theme/rubykaigi2011/property.rb:1
 msgid "Theme"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:146
 msgid "Add [PATH] to load path."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:151
 msgid "Use [THEME] as theme."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:158
 msgid "Use [THEME] for comment."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:164
 msgid "Use [TIME] as allotted time."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:170
-#: ../lib/rabbit/html/generator.rb:404
 msgid "Source"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:177
 msgid ""
 "When select %s\n"
 "specify %s\n"
 "as [SOURCE_INFOS]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:184
 msgid "Specify source type as [TYPE]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:186
+msgid "Select from [%s]."
+msgstr ""
+
 msgid "Note: case insensitive."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:200
 msgid "Specify source encoding as [ENCODING]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:201
-#: ../lib/rabbit/command/rabbit.rb:207
-#: ../lib/rabbit/command/rabbit.rb:368
-#: ../lib/rabbit/command/rabbit.rb:375
-#: ../lib/rabbit/command/rabbit.rb:382
-#: ../lib/rabbit/command/rabbit.rb:389
-#: ../lib/rabbit/command/rabbit.rb:414
-#: ../lib/rabbit/command/rabbit.rb:421
-#: ../lib/rabbit/command/rabbit.rb:428
-#: ../lib/rabbit/command/rabbit.rb:435
-#: ../lib/rabbit/command/rabbit.rb:556 ../lib/rabbit/console.rb:150
 msgid "(auto)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:206
 msgid "Specify base URI or path of source as [BASE]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:212
 msgid "Initial state"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:215
 msgid "Toggle full screen mode."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:221
 msgid "Toggle index mode."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:227
+msgid "Show the Nth slide. (zero-based)"
+msgstr ""
+
 msgid "Size"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:230
 msgid "Set window geometry [GEOMETRY]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:231
 msgid "Format: WIDTHxHEIGHT+X+Y"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:238
 msgid "Set window width to [WIDTH]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:245
 msgid "Set window height to [HEIGHT]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:250
 msgid ""
 "Set window width and height to\n"
 "[WIDTH] and [HEIGHT]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:263
 msgid "Save"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:266
 msgid "Save as image and exit."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:271
 msgid "Specify saved image type as [TYPE]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:278
 msgid "Specify saved image base name as [BASE_NAME]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:279
-#: ../lib/rabbit/command/rabbit.rb:317
 msgid "Title of slide"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:284
 msgid "Output HTML for viewing saved images."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:290
 msgid "Output index HTML for navigating slides."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:296
 msgid "Specify base URI of RSS as [URI]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:297
 msgid "RSS is generated only when HTML is output."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:303
 msgid "Specify source filenam as [FILENAME]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:311
 msgid "Print and exit."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:316
 msgid "Specify printed out filename as [FILENAME]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:323
 msgid "Set slides per page."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:329
 msgid "Draw scaled image."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:330
 msgid "Better look for displaying but lesser look for printing."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:335
 msgid "Paper"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:339
 msgid "Set paper width to [WIDTH] Pt."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:340
 msgid "(landscape A4 width)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:346
 msgid "Set paper height to [HEIGHT] Pt."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:347
 msgid "(landscape A4 height)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:351
 msgid ""
 "Set paper width and height to\n"
 "[WIDTH] Pt and [HEIGHT] Pt."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:353
 msgid "(landscape A4 size)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:363
 msgid "Margin"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:367
 msgid "Set left margin for slides per page mode print."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:374
 msgid "Set right margin for slides per page mode print."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:381
 msgid "Set top margin for slides per page mode print."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:388
 msgid "Set bottom margin for slides per page mode print."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:393
 msgid "[ALL]"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:394
 msgid "[TOP_BOTTOM],[LEFT_RIGHT]"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:395
 msgid "[TOP],[LEFT_RIGHT],[BOTTOM]"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:396
 msgid "[TOP],[RIGHT],[BOTTOM],[LEFT]"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:399
 msgid "Set margin for slides per page mode print."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:413
 msgid "Set left page margin."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:420
 msgid "Set right page margin."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:427
 msgid "Set top page margin."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:434
 msgid "Set bottom page margin."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:441
 msgid "Set page margin."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:453
 msgid "dRuby"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:456
 msgid "Specify whether to use dRuby."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:462
 msgid "Specify dRuby URI."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:468
 msgid "Specify whether to output dRuby URI."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:473
 msgid "SOAP"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:476
 msgid "Specify whether to use SOAP."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:482
 msgid "Specify SOAP host as [HOST]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:489
 msgid "Specify SOAP port as [PORT]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:494
 msgid "XML-RPC"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:497
 msgid "Specify whether to use XML-RPC."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:503
 msgid "Specify XML-RPC host as [HOST]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:510
 msgid "Specify XML-RPC port as [PORT]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:515
-msgid "Server"
-msgstr ""
-
-#: ../lib/rabbit/command/rabbit.rb:518
-msgid "Specify whether to run as server."
-msgstr ""
-
-#: ../lib/rabbit/command/rabbit.rb:523
 msgid "Public level"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:530
 msgid "Specify public level."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:531
 msgid "Select from the following:"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:540
-#: ../lib/rabbit/command/rabbit.rb:565
-#: ../lib/rabbit/command/rabbit.rb:572
 msgid "(%s)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:545
-#: ../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:548
-#: ../lib/rabbit/command/rabbit.rb:554
 msgid "Deprecated. Just ignored."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:549
 msgid "Specify initial comment source."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:550
 msgid "(default source)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:555
 msgid "Specify comment source encoding."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:559
 msgid "Migemo"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:564
 msgid "Specify search paths for Migemo static dictionary."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:571
 msgid "Specify static dictionary name for Migemo."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:576
 msgid "3D"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:579
 msgid "Specify whether to use OpenGL if available."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:584
 msgid "Display"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:587
 msgid "Specify whether to keep above window."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:592
 msgid "Others"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:595
+msgid "Check slide source syntax and exit."
+msgstr ""
+
 msgid "Show a native window ID of the Rabbit window if available."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:596
 msgid "e.g. The ID is the ID of X resource on X window system."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:637
 msgid "Choose a Rabbit source file"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:753
 msgid "dRuby URI <%s> is in use."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:772
 msgid "port <%s> for SOAP is in use."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:793
 msgid "port <%s> for XML-RPC is in use."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:854
 msgid "Window ID: %d"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:900
-msgid "going to shutdown..."
-msgstr ""
-
-#: ../lib/rabbit/command/rabbit.rb:902
-msgid "DRb.thread done."
-msgstr ""
-
-#: ../lib/rabbit/command/rabbit.rb:185 ../lib/rabbit/console.rb:165
-#: ../lib/rabbit/console.rb:182
-msgid "Select from [%s]."
-msgstr ""
-
-#: ../lib/rabbit/command/rabbit.rb:308 ../lib/rabbit/action/basic.rb:83
-msgid "Print"
-msgstr ""
-
-#: ../lib/rabbit/console.rb:114
 msgid "Usage: %s [options]"
 msgstr ""
 
-#: ../lib/rabbit/console.rb:129
 msgid "Common options"
 msgstr ""
 
-#: ../lib/rabbit/console.rb:139
 msgid "Load options from FILE."
 msgstr ""
 
-#: ../lib/rabbit/console.rb:140
 msgid "(none)"
 msgstr ""
 
-#: ../lib/rabbit/console.rb:149
 msgid "Specify locale dir as [DIR]."
 msgstr ""
 
-#: ../lib/rabbit/console.rb:164
 msgid "Specify logger type as [TYPE]."
 msgstr ""
 
-#: ../lib/rabbit/console.rb:181
 msgid "Specify log level as [LEVEL]."
 msgstr ""
 
-#: ../lib/rabbit/console.rb:191
 msgid "Show this message."
 msgstr ""
 
-#: ../lib/rabbit/console.rb:195
 msgid "Show version."
 msgstr ""
 
-#: ../lib/rabbit/element/index-slide.rb:103
-#: ../lib/rabbit/html/generator.rb:393
 msgid "Index"
 msgstr ""
 
-#: ../lib/rabbit/gem-finder.rb:46
-msgid "Installing gem: %s"
+msgid "no such file: %s"
 msgstr ""
 
-#: ../lib/rabbit/gem-finder.rb:49
-msgid "Installing gem in user install mode: %s"
+msgid "can't handle %s because the following command can't be run successfully: %s"
 msgstr ""
 
-#: ../lib/rabbit/graffiti/config-dialog.rb:48
-msgid "Line width:"
+msgid "tried gs commands: %s"
 msgstr ""
 
-#: ../lib/rabbit/html/generator.rb:50
-msgid "Creating a image for the %dth page"
+msgid "tried dia commands: %s"
 msgstr ""
 
-#: ../lib/rabbit/html/generator.rb:63
-msgid "can't generate RSS"
+msgid "tried gimp commands: %s"
 msgstr ""
 
-#: ../lib/rabbit/html/generator.rb:391
-msgid "Slide"
+msgid "Unknown property: %s"
 msgstr ""
 
-#: ../lib/rabbit/html/generator.rb:400
-#: ../lib/rabbit/theme/pdf/property.rb:2
-msgid "PDF"
+msgid "can't allocate color: %s"
 msgstr ""
 
-#: ../lib/rabbit/image/pdf.rb:53
-msgid "invalid PDF page number: <%s>"
+msgid "not exist: %s"
 msgstr ""
 
-#: ../lib/rabbit/image/pdf.rb:58
-msgid "%s page doesn't exist in PDF"
+msgid "not a file: %s"
 msgstr ""
 
-#: ../lib/rabbit/info-window.rb:98
-msgid "%s: Information window"
+msgid "can not be read: %s"
 msgstr ""
 
-#: ../lib/rabbit/info-window.rb:224
-msgid "unlimited"
+msgid "immutable source type: %s"
 msgstr ""
 
-#: ../lib/rabbit/logger/base.rb:35
-msgid "DEBUG"
+msgid "not available interface: %s"
 msgstr ""
 
-#: ../lib/rabbit/logger/base.rb:36
-msgid "INFO"
+msgid "can't find HTML template: %s"
 msgstr ""
 
-#: ../lib/rabbit/logger/base.rb:37
-msgid "WARNING"
+msgid "can't find theme RD template: %s"
 msgstr ""
 
-#: ../lib/rabbit/logger/base.rb:38
-msgid "ERROR"
+msgid "invalid motion: %s"
 msgstr ""
 
-#: ../lib/rabbit/logger/base.rb:39
-msgid "FATAL"
+msgid "invalid value of size property \"%{prop_name}\" of image \"%{filename}\": %{value}"
 msgstr ""
 
-#: ../lib/rabbit/logger/base.rb:40
-msgid "UNKNOWN"
+msgid "unknown cursor type: %s"
 msgstr ""
 
-#: ../lib/rabbit/logger/gui.rb:72
-msgid "Rabbit Error Dialog"
+msgid "print isn't supported"
 msgstr ""
 
-#: ../lib/rabbit/logger/stderr.rb:16
-msgid "can't convert to current locale from UTF-8: %s"
+msgid "Installing gem: %s"
 msgstr ""
 
-#: ../lib/rabbit/menu.rb:61
-msgid "Jump to the %dth slide"
+msgid "Installing gem in user install mode: %s"
 msgstr ""
 
-#: ../lib/rabbit/parser.rb:14
-msgid "unsupported format. (supported: %s)"
+msgid "Enter password on RubyGems.org [%{user}]: "
 msgstr ""
 
-#: ../lib/rabbit/parser/ext/aafigure.rb:24
-msgid "tried aafigure command: %s"
+msgid "Line width:"
 msgstr ""
 
-#: ../lib/rabbit/parser/ext/blockdiag.rb:28
-msgid "tried blockdiag command: %s"
+msgid "Creating a image for the %dth page"
 msgstr ""
 
-#: ../lib/rabbit/parser/ext/emacs.rb:94
-msgid "emacs: unsupported element name: %s"
+msgid "can't generate RSS"
 msgstr ""
 
-#: ../lib/rabbit/parser/ext/enscript.rb:30
-msgid "enscript: unsupported language: %s"
+msgid "Slide"
 msgstr ""
 
-#: ../lib/rabbit/parser/ext/enscript.rb:112
-msgid "enscript: unsupported element name: %s"
+msgid "PDF"
 msgstr ""
 
-#: ../lib/rabbit/parser/ext/tex.rb:53
-msgid "tried mimeTeX commands: %s"
+msgid "invalid PDF page number: <%s>"
 msgstr ""
 
-#: ../lib/rabbit/parser/markdown/converter.rb:132
-msgid "multiple ![alt]{image} in a paragraph isn't supported."
+msgid "%s page doesn't exist in PDF"
 msgstr ""
 
-#: ../lib/rabbit/parser/markdown/converter.rb:225
-msgid "multiple ![]('XXX.png'){:align='right'} isn't supported."
+msgid "%s: Information window"
 msgstr ""
 
-#: ../lib/rabbit/parser/rd/ext/block-verbatim.rb:48
-msgid "multiple 'align = right' isn't supported."
+msgid "unlimited"
 msgstr ""
 
-#: ../lib/rabbit/parser/rd/ext/block-verbatim.rb:141
-msgid "RTtool isn't available"
+msgid "DEBUG"
 msgstr ""
 
-#: ../lib/rabbit/parser/rd/visitor.rb:49
-msgid "[BUG] [%s] %s extension isn't available."
+msgid "INFO"
 msgstr ""
 
-#: ../lib/rabbit/parser/wiki/output.rb:88
-msgid "horizontal rule is unsupported"
+msgid "WARNING"
 msgstr ""
 
-#: ../lib/rabbit/parser/wiki/output.rb:338
-msgid "unsupported list type: %s"
+msgid "ERROR"
 msgstr ""
 
-#: ../lib/rabbit/parser/wiki/output.rb:437
-msgid "multiple {{image, 'XXX.png', :align => :right}} isn't supported."
+msgid "FATAL"
 msgstr ""
 
-#: ../lib/rabbit/path-manipulatable.rb:28
-msgid "Creating directory: %s"
+msgid "UNKNOWN"
 msgstr ""
 
-#: ../lib/rabbit/path-manipulatable.rb:33
-msgid "Creating file:      %s"
+msgid "Rabbit Error Dialog"
 msgstr ""
 
-#: ../lib/rabbit/rabbit.rb:60
-msgid "no such file: %s"
+msgid "can't convert to current locale from UTF-8: %s"
 msgstr ""
 
-#: ../lib/rabbit/rabbit.rb:70
-msgid "can't handle %s because the following command can't be run successfully: %s"
+msgid "Jump to the %dth slide"
 msgstr ""
 
-#: ../lib/rabbit/rabbit.rb:80
-msgid "tried gs commands: %s"
+msgid "unsupported format. (supported: %s)"
 msgstr ""
 
-#: ../lib/rabbit/rabbit.rb:88
-msgid "tried dia commands: %s"
+msgid "tried aafigure command: %s"
 msgstr ""
 
-#: ../lib/rabbit/rabbit.rb:96
-msgid "tried gimp commands: %s"
+msgid "tried blockdiag command: %s"
 msgstr ""
 
-#: ../lib/rabbit/rabbit.rb:124
-msgid "Unknown property: %s"
+msgid "emacs: unsupported element name: %s"
 msgstr ""
 
-#: ../lib/rabbit/rabbit.rb:132
-msgid "can't allocate color: %s"
+msgid "enscript: unsupported language: %s"
 msgstr ""
 
-#: ../lib/rabbit/rabbit.rb:143
-msgid "not exist: %s"
+msgid "enscript: unsupported element name: %s"
 msgstr ""
 
-#: ../lib/rabbit/rabbit.rb:151
-msgid "not a file: %s"
+msgid "tried mimeTeX commands: %s"
 msgstr ""
 
-#: ../lib/rabbit/rabbit.rb:159
-msgid "can not be read: %s"
+msgid "multiple ![alt]{image} in a paragraph isn't supported."
 msgstr ""
 
-#: ../lib/rabbit/rabbit.rb:167
-msgid "immutable source type: %s"
+msgid "horizontal rule isn't supported."
 msgstr ""
 
-#: ../lib/rabbit/rabbit.rb:186
-msgid "not available interface: %s"
+msgid "multiple ![]('XXX.png'){:align='right'} isn't supported."
 msgstr ""
 
-#: ../lib/rabbit/rabbit.rb:194
-msgid "can't find HTML template: %s"
+msgid "tag name is missing."
 msgstr ""
 
-#: ../lib/rabbit/rabbit.rb:202
-msgid "can't find theme RD template: %s"
+msgid "HTML isn't supported."
 msgstr ""
 
-#: ../lib/rabbit/rabbit.rb:210
-msgid "invalid motion: %s"
+msgid "multiple 'align = right' isn't supported."
 msgstr ""
 
-#: ../lib/rabbit/rabbit.rb:225
-msgid "invalid value of size property \"%{prop_name}\" of image \"%{filename}\": %{value}"
+msgid "RTtool isn't available"
 msgstr ""
 
-#: ../lib/rabbit/rabbit.rb:246
-msgid "unknown cursor type: %s"
+msgid "[BUG] [%s] %s extension isn't available."
 msgstr ""
 
-#: ../lib/rabbit/rabbit.rb:252
-msgid "print isn't supported"
+msgid "horizontal rule is unsupported"
+msgstr ""
+
+msgid "unsupported list type: %s"
+msgstr ""
+
+msgid "inline {{image(...)}} isn't supported."
+msgstr ""
+
+msgid "multiple {{image(..., :align => :right)}} isn't supported."
+msgstr ""
+
+msgid "Creating directory: %s"
+msgstr ""
+
+msgid "Creating file:      %s"
 msgstr ""
 
-#: ../lib/rabbit/readme-parser.rb:35
 msgid "No README found"
 msgstr ""
 
-#: ../lib/rabbit/renderer/base.rb:385
 msgid "%s does not support: %s"
 msgstr ""
 
-#: ../lib/rabbit/renderer/print/cairo.rb:130
 msgid "can't find printer for %s"
 msgstr ""
 
-#: ../lib/rabbit/slide-configuration.rb:50
-#: ../lib/rabbit/theme-configuration.rb:48
 msgid "Failed to read slide configuration: %s: %s"
 msgstr ""
 
-#: ../lib/rabbit/slide-configuration.rb:60
-#: ../lib/rabbit/theme-configuration.rb:58
 msgid "Failed to write slide configuration: %s: %s"
 msgstr ""
 
-#: ../lib/rabbit/slideshare.rb:61
 msgid "Feailed to upload: %s"
 msgstr ""
 
-#: ../lib/rabbit/slideshare.rb:68
 msgid "Feailed to edit title: %s"
 msgstr ""
 
-#: ../lib/rabbit/slideshare.rb:76
 msgid "Feailed to get slide URL: %s"
 msgstr ""
 
-#: ../lib/rabbit/slideshare.rb:141
-msgid "Enter password on SlideShare"
+msgid "Enter password on SlideShare [%{user}]: "
 msgstr ""
 
-#: ../lib/rabbit/source/argf.rb:10
 msgid "none (get from STDIN) or [FILE_NAMES]"
 msgstr ""
 
-#: ../lib/rabbit/source/file.rb:9
 msgid "[FILENAME]"
 msgstr ""
 
-#: ../lib/rabbit/source/hiki.rb:13
 msgid "[HIKI_CGI_URI] and [PAGE_NAME]"
 msgstr ""
 
-#: ../lib/rabbit/source/memory.rb:9
 msgid "[FILENAME_OR_NOT]"
 msgstr ""
 
-#: ../lib/rabbit/source/slide-share.rb:14
 msgid "[USER] and [TITLE]"
 msgstr ""
 
-#: ../lib/rabbit/source/uri.rb:25
 msgid "URI"
 msgstr ""
 
-#: ../lib/rabbit/stock.rb:17 ../lib/rabbit/theme/rabbit/property.rb:2
 msgid "Rabbit"
 msgstr ""
 
-#: ../lib/rabbit/task/slide.rb:92
 msgid "To run rabbit, create '%{options_path}'!"
 msgstr ""
 
-#: ../lib/rabbit/task/slide.rb:96
 msgid "Show slide"
 msgstr ""
 
-#: ../lib/rabbit/task/slide.rb:151
-msgid "Publish the slide to all available targets"
+msgid "Create gem: %{gem_path}"
 msgstr ""
 
-#: ../lib/rabbit/task/slide.rb:195
-msgid "Uploaded successfully!"
+msgid "Write %{item} in %{where}: %{content}"
 msgstr ""
 
-#: ../lib/rabbit/task/slide.rb:196
-msgid "See %s"
+msgid "Generate PDF: %{pdf_path}"
 msgstr ""
 
-#: ../lib/rabbit/task/slide.rb:207
-#: ../lib/rabbit/task/slide.rb:175 ../lib/rabbit/task/slide.rb:183
-msgid "Publish the slide to %s"
+msgid "Publish the slide to all available targets"
 msgstr ""
 
-#: ../lib/rabbit/task/theme.rb:93
-msgid "Show theme benchmark slide with this theme"
+msgid "Publish the slide to %s"
 msgstr ""
 
-#: ../lib/rabbit/task/theme.rb:137
-msgid "Generate all PDFs"
+msgid "Uploaded successfully!"
 msgstr ""
 
-#: ../lib/rabbit/task/theme.rb:165
-msgid "Publish the theme to all available targets"
+msgid "See %s"
 msgstr ""
 
-#: ../lib/rabbit/task/theme.rb:171
-msgid "Publish the theme to %s"
+msgid "Show theme benchmark slide with this theme"
 msgstr ""
 
-#: ../lib/rabbit/task/theme.rb:105 ../lib/rabbit/task/slide.rb:108
-msgid "Create gem: %{gem_path}"
+msgid "Generate all PDFs"
 msgstr ""
 
-#: ../lib/rabbit/task/theme.rb:117 ../lib/rabbit/task/slide.rb:120
-msgid "Write %{item} in %{where}: %{content}"
+msgid "Publish the theme to all available targets"
 msgstr ""
 
-#: ../lib/rabbit/task/theme.rb:157 ../lib/rabbit/task/slide.rb:146
-msgid "Generate PDF: %{pdf_path}"
+msgid "Publish the theme to %s"
 msgstr ""
 
-#: ../lib/rabbit/theme/applier.rb:604
-#: ../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 ""
 
-#: ../lib/rabbit/theme/auto-slide/property.rb:1
-#: ../lib/rabbit/theme/slide-background/property.rb:1
 msgid "Backward compatibility"
 msgstr ""
 
-#: ../lib/rabbit/theme/auto-slide/property.rb:2
 msgid "Auto Slide"
 msgstr ""
 
-#: ../lib/rabbit/theme/auto-slide/property.rb:3
 msgid "Backward compatibility theme for ((<slide-show>))"
 msgstr ""
 
-#: ../lib/rabbit/theme/auto-slide/property.rb:4
 msgid "See ((<slide-show>))"
 msgstr ""
 
-#: ../lib/rabbit/theme/base/property.rb:1
-#: ../lib/rabbit/theme/color-circle-block-quote/property.rb:1
-#: ../lib/rabbit/theme/color-circle-common/property.rb:1
-#: ../lib/rabbit/theme/color-circle-description/property.rb:1
-#: ../lib/rabbit/theme/color-circle-foot-text/property.rb:1
-#: ../lib/rabbit/theme/color-circle-item-mark/property.rb:1
-#: ../lib/rabbit/theme/color-circle-method-list/property.rb:1
-#: ../lib/rabbit/theme/color-circle-preformatted/property.rb:1
-#: ../lib/rabbit/theme/color-circle-slide/property.rb:1
-#: ../lib/rabbit/theme/color-circle-text/property.rb:1
-#: ../lib/rabbit/theme/color-circle-title-slide/property.rb:1
-#: ../lib/rabbit/theme/color-circle-title-text/property.rb:1
-#: ../lib/rabbit/theme/color-circle/property.rb:1
-#: ../lib/rabbit/theme/cozmixng-powered-by/property.rb:1
-#: ../lib/rabbit/theme/default-block-quote/property.rb:1
-#: ../lib/rabbit/theme/default-comment/property.rb:1
-#: ../lib/rabbit/theme/default-description/property.rb:1
-#: ../lib/rabbit/theme/default-foot-text/property.rb:1
-#: ../lib/rabbit/theme/default-icon/property.rb:1
-#: ../lib/rabbit/theme/default-item-mark-setup/property.rb:1
-#: ../lib/rabbit/theme/default-item-mark/property.rb:1
-#: ../lib/rabbit/theme/default-method-list/property.rb:1
-#: ../lib/rabbit/theme/default-preformatted/property.rb:1
-#: ../lib/rabbit/theme/default-slide/property.rb:1
-#: ../lib/rabbit/theme/default-text/property.rb:1
-#: ../lib/rabbit/theme/default-title-slide/property.rb:1
-#: ../lib/rabbit/theme/default-title-text/property.rb:1
-#: ../lib/rabbit/theme/edge-info-toolkit/property.rb:1
-#: ../lib/rabbit/theme/emphasize-keyword/property.rb:1
-#: ../lib/rabbit/theme/footer-logo/property.rb:1
-#: ../lib/rabbit/theme/headline-logo/property.rb:1
-#: ../lib/rabbit/theme/icon/property.rb:1
-#: ../lib/rabbit/theme/image-slide-number/property.rb:1
-#: ../lib/rabbit/theme/image/property.rb:1
-#: ../lib/rabbit/theme/lightning-talk-toolkit/property.rb:1
-#: ../lib/rabbit/theme/per-slide-background-color/property.rb:1
-#: ../lib/rabbit/theme/per-slide-background-image/property.rb:1
-#: ../lib/rabbit/theme/powered-by/property.rb:1
-#: ../lib/rabbit/theme/rabbit-block-quote/property.rb:1
-#: ../lib/rabbit/theme/rabbit-headline-logo/property.rb:1
-#: ../lib/rabbit/theme/rabbit-icon/property.rb:1
-#: ../lib/rabbit/theme/rabbit-item-mark/property.rb:1
-#: ../lib/rabbit/theme/rabbit-powered-by/property.rb:1
-#: ../lib/rabbit/theme/rabbit-title-logo/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2-description/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2-foot-text/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2-headline/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2-icon/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2-item-mark/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2-preformatted/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2-slide/property.rb:1
-#: ../lib/rabbit/theme/simple-item-mark/property.rb:1
-#: ../lib/rabbit/theme/slide-background-image/property.rb:1
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:1
-#: ../lib/rabbit/theme/slide-header-info/property.rb:1
-#: ../lib/rabbit/theme/slide-logo/property.rb:1
-#: ../lib/rabbit/theme/slide-number/property.rb:1
-#: ../lib/rabbit/theme/syntax-highlighting/property.rb:1
-#: ../lib/rabbit/theme/table/property.rb:1
-#: ../lib/rabbit/theme/tag/property.rb:1
-#: ../lib/rabbit/theme/title-background-color/property.rb:1
-#: ../lib/rabbit/theme/title-background-image/property.rb:1
-#: ../lib/rabbit/theme/title-logo/property.rb:1
-#: ../lib/rabbit/theme/title-on-image-toolkit/property.rb:1
-#: ../lib/rabbit/theme/title-shadow/property.rb:1
-#: ../lib/rabbit/theme/title-slide-background-image/property.rb:1
 msgid "Toolkit"
 msgstr ""
 
-#: ../lib/rabbit/theme/base/property.rb:2
 msgid "Base"
 msgstr ""
 
-#: ../lib/rabbit/theme/base/property.rb:3
 msgid "Define default variables"
 msgstr ""
 
-#: ../lib/rabbit/theme/base/property.rb:4
 msgid "This theme is always included at the first."
 msgstr ""
 
-#: ../lib/rabbit/theme/blue-bar/property.rb:2
 msgid "Blue Bar"
 msgstr ""
 
-#: ../lib/rabbit/theme/blue-bar/property.rb:3
 msgid "Blue bar theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/blue-circle/property.rb:2
 msgid "Blue Circle"
 msgstr ""
 
-#: ../lib/rabbit/theme/blue-circle/property.rb:3
 msgid "Blue Circle theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/centering-rabbit/property.rb:2
 msgid "Centering Rabbit"
 msgstr ""
 
-#: ../lib/rabbit/theme/centering-rabbit/property.rb:3
 msgid "Rabbit theme with text centering."
 msgstr ""
 
-#: ../lib/rabbit/theme/clear-blue/property.rb:2
 msgid "Clear Blue"
 msgstr ""
 
-#: ../lib/rabbit/theme/clear-blue/property.rb:3
 msgid "Clear blue theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/clock/property.rb:1
-#: ../lib/rabbit/theme/image-timer/property.rb:1
-#: ../lib/rabbit/theme/slide-show/property.rb:1
-#: ../lib/rabbit/theme/timer/property.rb:1
 msgid "Time"
 msgstr ""
 
-#: ../lib/rabbit/theme/clock/property.rb:2
 msgid "TextClock"
 msgstr ""
 
-#: ../lib/rabbit/theme/clock/property.rb:3
 msgid "Clock toolkit, a text version"
 msgstr ""
 
-#: ../lib/rabbit/theme/clock/property.rb:4
 msgid "Displays current time with text."
 msgstr ""
 
-#: ../lib/rabbit/theme/clock/property.rb:13
 msgid "Properties for the clock, such as font family."
 msgstr ""
 
-#: ../lib/rabbit/theme/clock/property.rb:17
-#: ../lib/rabbit/theme/image-slide-number/property.rb:60
-#: ../lib/rabbit/theme/show-frame/property.rb:12
-#: ../lib/rabbit/theme/slide-number/property.rb:17
-#: ../lib/rabbit/theme/title-logo/property.rb:19
-msgid "Whether uninstalling this toolkit or not. This option is useful for cases you do not want to make the toolkit work for certain slides."
+msgid ""
+"Whether uninstalling this toolkit or not. This option is useful for cases you "
+"do not want to make the toolkit work for certain slides."
 msgstr ""
 
-#: ../lib/rabbit/theme/clutter-comment/property.rb:2
 msgid "Clutter Comment"
 msgstr ""
 
-#: ../lib/rabbit/theme/clutter-comment/property.rb:3
 msgid "Show comment as a rolling Clutter actor."
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-block-quote/property.rb:2
 msgid "Color Circle block quote"
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-block-quote/property.rb:3
 msgid "Toolkit to display itemization in quotation"
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-block-quote/property.rb:4
 msgid "Support itemization in quotation."
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-common/property.rb:2
 msgid "Color Circle common"
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-common/property.rb:3
 msgid "Provide common methods for Color Circle toolkit."
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-description/property.rb:2
 msgid "Color Circle Description"
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-description/property.rb:3
 msgid "Toolkit to set ((<color-circle>)) theme's description-list style up."
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-foot-text/property.rb:2
 msgid "Color Circle Foot Text"
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-foot-text/property.rb:3
 msgid "Toolkit to set ((<color-circle>)) theme's foot text style up."
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-item-mark/property.rb:2
 msgid "Color Circle Item Mark"
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-item-mark/property.rb:3
 msgid "Toolkit to set ((<color-circle>)) theme's item marks style up."
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-method-list/property.rb:2
 msgid "Color Circle Method List"
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-method-list/property.rb:3
 msgid "Toolkit to set ((<color-circle>)) theme's method-list style up."
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-preformatted/property.rb:2
 msgid "Color Circle Preformatted"
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-preformatted/property.rb:3
 msgid "Toolkit to set ((<color-circle>)) theme's preformatted text style up."
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-slide/property.rb:2
 msgid "Color Circle Slide"
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-slide/property.rb:3
 msgid "Toolkit to set ((<color-circle>)) theme's slide style up."
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-text/property.rb:2
 msgid "Color Circle Text"
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-text/property.rb:3
 msgid "Toolkit to set ((<color-circle>)) theme's text style up."
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-title-slide/property.rb:2
 msgid "Color Circle Title Slide"
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-title-slide/property.rb:3
 msgid "Toolkit to set ((<color-circle>)) theme's title slide style up."
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-title-text/property.rb:2
 msgid "Color Circle Title text"
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-title-text/property.rb:3
 msgid "Toolkit to set ((<color-circle>)) theme's title text style up."
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle/color-circle.rb:16
 msgid "required variables aren't set: %s"
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle/property.rb:2
 msgid "Color Circle"
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle/property.rb:3
 msgid "Toolkit to make a theme that has colored circles"
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle/property.rb:4
 msgid "There are many colored circles in slides."
 msgstr ""
 
-#: ../lib/rabbit/theme/cozmixng-powered-by/property.rb:2
 msgid "COZMIXNGPoweredBy"
 msgstr ""
 
-#: ../lib/rabbit/theme/cozmixng-powered-by/property.rb:3
 msgid "Powered-by-COZMIXNG ad toolkit"
 msgstr ""
 
-#: ../lib/rabbit/theme/cozmixng-powered-by/property.rb:4
-msgid "Displays a text and images showing the presentation slides are powered by COZMIXNG and Rabbit at the foot of the title slide and of the last slide."
+msgid ""
+"Displays a text and images showing the presentation slides are powered by COZM"
+"IXNG and Rabbit at the foot of the title slide and of the last slide."
 msgstr ""
 
-#: ../lib/rabbit/theme/cozmixng/property.rb:2
 msgid "COZMIXNG"
 msgstr ""
 
-#: ../lib/rabbit/theme/cozmixng/property.rb:3
 msgid "COZMIXNG theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/dark-gradation/property.rb:2
 msgid "Dark Gradation"
 msgstr ""
 
-#: ../lib/rabbit/theme/dark-gradation/property.rb:3
 msgid "Dark Gradation background theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/day-white/property.rb:2
 msgid "Day White"
 msgstr ""
 
-#: ../lib/rabbit/theme/day-white/property.rb:3
 msgid "Day White theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/debian/property.rb:2
 msgid "Debian Theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/debian/property.rb:3
 msgid "Debian GNU/Linux Theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/default-block-quote/default-block-quote.rb:112
 msgid "[cited from `%s']"
 msgstr ""
 
-#: ../lib/rabbit/theme/default-block-quote/property.rb:2
 msgid "Default Block Quote"
 msgstr ""
 
-#: ../lib/rabbit/theme/default-block-quote/property.rb:3
 msgid "Displays block quote text with frame."
 msgstr ""
 
-#: ../lib/rabbit/theme/default-comment/property.rb:2
 msgid "DefaultComment"
 msgstr ""
 
-#: ../lib/rabbit/theme/default-comment/property.rb:3
 msgid "Toolkit to set up default comment theme."
 msgstr ""
 
-#: ../lib/rabbit/theme/default-comment/property.rb:4
 msgid "Sets up default comment theme."
 msgstr ""
 
-#: ../lib/rabbit/theme/default-description/property.rb:2
 msgid "DefaultDescription"
 msgstr ""
 
-#: ../lib/rabbit/theme/default-description/property.rb:3
 msgid "Toolkit to display description-list items with orange underlines."
 msgstr ""
 
-#: ../lib/rabbit/theme/default-description/property.rb:5
 msgid "Displays description-list items with orange underlines."
 msgstr ""
 
-#: ../lib/rabbit/theme/default-foot-text/property.rb:2
 msgid "Default Foot Text"
 msgstr ""
 
-#: ../lib/rabbit/theme/default-foot-text/property.rb:3
 msgid "Displays foot text at the footer of slide."
 msgstr ""
 
-#: ../lib/rabbit/theme/default-icon/property.rb:2
 msgid "DefaultIcon"
 msgstr ""
 
-#: ../lib/rabbit/theme/default-icon/property.rb:3
 msgid "Toolkit to use pink circle and polygon as icons"
 msgstr ""
 
-#: ../lib/rabbit/theme/default-icon/property.rb:4
 msgid "Uses pink circle and polygon as icons."
 msgstr ""
 
-#: ../lib/rabbit/theme/default-item-mark-setup/property.rb:2
+msgid ""
+"unknown item mark type: %s\n"
+"Rectangle type is used as fallback"
+msgstr ""
+
+msgid ""
+"unknown enumeration item mark type: %s\n"
+"Numeric type is used as fallback"
+msgstr ""
+
 msgid "Default Item Mark Setup"
 msgstr ""
 
-#: ../lib/rabbit/theme/default-item-mark-setup/property.rb:3
 msgid "Provides methods to set item mark style up."
 msgstr ""
 
-#: ../lib/rabbit/theme/default-item-mark/property.rb:2
 msgid "DefaultItemMark"
 msgstr ""
 
-#: ../lib/rabbit/theme/default-item-mark/property.rb:3
 msgid "Toolkit to display squares as list item marks"
 msgstr ""
 
-#: ../lib/rabbit/theme/default-item-mark/property.rb:4
 msgid "Displays squares at the head of list items."
 msgstr ""
 
-#: ../lib/rabbit/theme/default-method-list/property.rb:2
 msgid "Default Method List"
 msgstr ""
 
-#: ../lib/rabbit/theme/default-method-list/property.rb:3
 msgid "Displays method description with indent."
 msgstr ""
 
-#: ../lib/rabbit/theme/default-preformatted/property.rb:2
 msgid "Default Preformatted"
 msgstr ""
 
-#: ../lib/rabbit/theme/default-preformatted/property.rb:3
 msgid "Displays preformatted text with frame."
 msgstr ""
 
-#: ../lib/rabbit/theme/default-slide/property.rb:2
 msgid "Default Slide"
 msgstr ""
 
-#: ../lib/rabbit/theme/default-slide/property.rb:3
 msgid "Displays headline with line."
 msgstr ""
 
-#: ../lib/rabbit/theme/default-text/property.rb:2
 msgid "Default Text"
 msgstr ""
 
-#: ../lib/rabbit/theme/default-text/property.rb:3
 msgid "Sets default text style up."
 msgstr ""
 
-#: ../lib/rabbit/theme/default-title-slide/property.rb:2
 msgid "DefaultTitleSlide"
 msgstr ""
 
-#: ../lib/rabbit/theme/default-title-slide/property.rb:3
 msgid "Toolkit to locate objects in the title slide in a simple way"
 msgstr ""
 
-#: ../lib/rabbit/theme/default-title-slide/property.rb:4
-msgid "Locates objects in the title slide simply by centering them and by making configuration for margins around them a little."
+msgid ""
+"Locates objects in the title slide simply by centering them and by making conf"
+"iguration for margins around them a little."
 msgstr ""
 
-#: ../lib/rabbit/theme/default-title-text/property.rb:2
 msgid "Default Title Text"
 msgstr ""
 
-#: ../lib/rabbit/theme/default-title-text/property.rb:3
 msgid "Sets default title text style up."
 msgstr ""
 
-#: ../lib/rabbit/theme/default/property.rb:2
 msgid "Default"
 msgstr ""
 
-#: ../lib/rabbit/theme/default/property.rb:3
 msgid "default theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/document.erb:3
 msgid "Name"
 msgstr ""
 
-#: ../lib/rabbit/theme/document.erb:6
 msgid "Category"
 msgstr ""
 
-#: ../lib/rabbit/theme/document.erb:10
 msgid "Abstract"
 msgstr ""
 
-#: ../lib/rabbit/theme/document.erb:15
 msgid "Description"
 msgstr ""
 
-#: ../lib/rabbit/theme/document.erb:21
 msgid "Dependency themes"
 msgstr ""
 
-#: ../lib/rabbit/theme/document.erb:28
 msgid "Parameters"
 msgstr ""
 
-#: ../lib/rabbit/theme/document.erb:31
 msgid "Default: "
 msgstr ""
 
-#: ../lib/rabbit/theme/edge-info-toolkit/property.rb:2
 msgid "Edge Info Toolkit"
 msgstr ""
 
-#: ../lib/rabbit/theme/edge-info-toolkit/property.rb:3
 msgid "Displays information with line at the edge of slide."
 msgstr ""
 
-#: ../lib/rabbit/theme/emphasize-keyword/property.rb:2
 msgid "Emphasize Keyword"
 msgstr ""
 
-#: ../lib/rabbit/theme/emphasize-keyword/property.rb:3
-msgid "Provides emphasize_keyword method that markups specified keyword as emphasis text."
+msgid ""
+"Provides emphasize_keyword method that markups specified keyword as emphasis t"
+"ext."
 msgstr ""
 
-#: ../lib/rabbit/theme/enishi-green/property.rb:2
 msgid "Enishi Green"
 msgstr ""
 
-#: ../lib/rabbit/theme/enishi-green/property.rb:3
 msgid "EnishTech green based theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/entry.rb:79
 msgid "Etc"
 msgstr ""
 
-#: ../lib/rabbit/theme/footer-comment/property.rb:2
 msgid "Footer Comment"
 msgstr ""
 
-#: ../lib/rabbit/theme/footer-comment/property.rb:3
 msgid "Show comment on the footer."
 msgstr ""
 
-#: ../lib/rabbit/theme/footer-logo/property.rb:2
 msgid "Footer Logo"
 msgstr ""
 
-#: ../lib/rabbit/theme/footer-logo/property.rb:3
 msgid "Toolkit to display an image as logo at the footer"
 msgstr ""
 
-#: ../lib/rabbit/theme/footer-logo/property.rb:4
 msgid "Displays an image as a logo at the footer of slides."
 msgstr ""
 
-#: ../lib/rabbit/theme/footer-logo/property.rb:7
-#: ../lib/rabbit/theme/headline-logo/property.rb:7
-#: ../lib/rabbit/theme/slide-background-image/property.rb:7
-#: ../lib/rabbit/theme/slide-logo/property.rb:7
-#: ../lib/rabbit/theme/title-background-color/property.rb:7
-#: ../lib/rabbit/theme/title-background-image/property.rb:8
-#: ../lib/rabbit/theme/title-logo/property.rb:7
-#: ../lib/rabbit/theme/title-slide-background-image/property.rb:7
 msgid "(Must be specified.)"
 msgstr ""
 
-#: ../lib/rabbit/theme/footer-logo/property.rb:8
-#: ../lib/rabbit/theme/headline-logo/property.rb:8
-#: ../lib/rabbit/theme/icon/property.rb:22
-#: ../lib/rabbit/theme/slide-background-image/property.rb:8
-#: ../lib/rabbit/theme/slide-logo/property.rb:8
-#: ../lib/rabbit/theme/title-background-image/property.rb:9
-#: ../lib/rabbit/theme/title-logo/property.rb:8
-#: ../lib/rabbit/theme/title-slide-background-image/property.rb:8
 msgid "Image file name."
 msgstr ""
 
-#: ../lib/rabbit/theme/footer-logo/property.rb:12
 msgid "Whether keep ratio of an image or not."
 msgstr ""
 
-#: ../lib/rabbit/theme/footer-logo/property.rb:16
 msgid "Right margin of an image."
 msgstr ""
 
-#: ../lib/rabbit/theme/footer-logo/property.rb:20
 msgid "Bottom margin of an image."
 msgstr ""
 
-#: ../lib/rabbit/theme/footer-logo/property.rb:24
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:41
-#: ../lib/rabbit/theme/slide-header-info/property.rb:41
-#: ../lib/rabbit/theme/slide-logo/property.rb:24
 msgid "Whether uninstall this theme or not."
 msgstr ""
 
-#: ../lib/rabbit/theme/green-circle/property.rb:2
 msgid "Green Circle"
 msgstr ""
 
-#: ../lib/rabbit/theme/green-circle/property.rb:3
 msgid "Green Circle theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/headline-logo/property.rb:2
 msgid "HeadlineLogo"
 msgstr ""
 
-#: ../lib/rabbit/theme/headline-logo/property.rb:3
 msgid "Toolkit to display an image as a logo at the headlines"
 msgstr ""
 
-#: ../lib/rabbit/theme/headline-logo/property.rb:4
 msgid "Displays an image as a logo at the headlines of slides."
 msgstr ""
 
-#: ../lib/rabbit/theme/icon/property.rb:2
 msgid "Icon"
 msgstr ""
 
-#: ../lib/rabbit/theme/icon/property.rb:3
 msgid "Toolkit to specify an image or images as icons"
 msgstr ""
 
-#: ../lib/rabbit/theme/icon/property.rb:4
-msgid "Specifies an image or images as icons of the window, which will be used by some window managers and desktop environments, for example when the window is minimized (or 'iconified'), in the window frame, or when windows are switched. The specified image or images are automatically scaled to the icon sizes case by case. When several images are specified and they have different sizes, an image with the most similar size to that of icon among them is chosen and scaled in order to impro [...]
+msgid ""
+"Specifies an image or images as icons of the window, which will be used by som"
+"e window managers and desktop environments, for example when the window is min"
+"imized (or 'iconified'), in the window frame, or when windows are switched. Th"
+"e specified image or images are automatically scaled to the icon sizes case by"
+" case. When several images are specified and they have different sizes, an ima"
+"ge with the most similar size to that of icon among them is chosen and scaled "
+"in order to improve the quality of image finally displayed."
 msgstr ""
 
-#: ../lib/rabbit/theme/icon/property.rb:18
-#: ../lib/rabbit/theme/powered-by/property.rb:18
 msgid "List of image file names."
 msgstr ""
 
-#: ../lib/rabbit/theme/image-slide-number/property.rb:2
 msgid "ImageSlideNumber"
 msgstr ""
 
-#: ../lib/rabbit/theme/image-slide-number/property.rb:3
 msgid "Toolkit to display slide numbers, an image version"
 msgstr ""
 
-#: ../lib/rabbit/theme/image-slide-number/property.rb:4
 msgid ""
-"Displays the progress of presentation with position of an image. This is useful both for speakers and for listeners to know elapsed slide numbers and slide numbers left. By default, an image of a hare, which is a family of rabbit, jumps along the bottom of slides between two flags.\n"
+"Displays the progress of presentation with position of an image. This is usefu"
+"l both for speakers and for listeners to know elapsed slide numbers and slide "
+"numbers left. By default, an image of a hare, which is a family of rabbit, jum"
+"ps along the bottom of slides between two flags.\n"
 "\n"
-"Using together with another theme, ((<image-timer>)), you can make a hare and a tortoise race like the fable of the hare and the tortoise. When doing so, however, note that you should make your presentation not so slowly that the hare will lose to the tortoise."
+"Using together with another theme, ((<image-timer>)), you can make a hare and "
+"a tortoise race like the fable of the hare and the tortoise. When doing so, ho"
+"wever, note that you should make your presentation not so slowly that the hare"
+" will lose to the tortoise."
 msgstr ""
 
-#: ../lib/rabbit/theme/image-slide-number/property.rb:22
-msgid "File name of an image that moves. An image of a hare in the ((<rabbit-images>)) theme is used by default."
+msgid ""
+"File name of an image that moves. An image of a hare in the ((<rabbit-images>)"
+") theme is used by default."
 msgstr ""
 
-#: ../lib/rabbit/theme/image-slide-number/property.rb:28
-msgid "Whether drawing start and goal flags with text or not. When (({true})), flags are drawn with text with a form of (({@image_slide_number_flag_type})) and on which slide numbers are also drawn with color ((|@image_slide_number_text_color|)). Otherwise, image files specified with ((|@image_slide_number_start_image|)) and ((|@image_slide_number_goal_image|)) are used as flags."
+msgid ""
+"Whether drawing start and goal flags with text or not. When (({true})), flags "
+"are drawn with text with a form of (({@image_slide_number_flag_type})) and on "
+"which slide numbers are also drawn with color ((|@image_slide_number_text_colo"
+"r|)). Otherwise, image files specified with ((|@image_slide_number_start_image"
+"|)) and ((|@image_slide_number_goal_image|)) are used as flags."
 msgstr ""
 
-#: ../lib/rabbit/theme/image-slide-number/property.rb:41
 msgid "Color of numbers displayed on the start and goal flags."
 msgstr ""
 
-#: ../lib/rabbit/theme/image-slide-number/property.rb:46
-msgid "Form of the start and goal flags. Avaiable forms are (({'triangle'})) and (({'rectangle'}))."
+msgid ""
+"Form of the start and goal flags. Avaiable forms are (({'triangle'})) and (({'"
+"rectangle'}))."
 msgstr ""
 
-#: ../lib/rabbit/theme/image-slide-number/property.rb:52
 msgid "File name of an image used as the start flag."
 msgstr ""
 
-#: ../lib/rabbit/theme/image-slide-number/property.rb:56
 msgid "File name of an image used as the goal flag."
 msgstr ""
 
-#: ../lib/rabbit/theme/image-timer/property.rb:2
 msgid "ImageTimer"
 msgstr ""
 
-#: ../lib/rabbit/theme/image-timer/property.rb:3
 msgid "Timer toolkit, an image version"
 msgstr ""
 
-#: ../lib/rabbit/theme/image-timer/property.rb:4
 msgid ""
-"Displays the progress of time with position of an image. This is useful both for speakers and for listeners to know elapsed time and time left. By default, a tortoise image walks along the bottom of slides slowly step by step.\n"
+"Displays the progress of time with position of an image. This is useful both f"
+"or speakers and for listeners to know elapsed time and time left. By default, "
+"a tortoise image walks along the bottom of slides slowly step by step.\n"
 "\n"
-"Using together with another theme, ((<image-slide-number>)), you can make a hare and a tortoise race like the fable of the hare and the tortoise. When doing so, however, note that you should make your presentation not so slowly that the hare will lose to the tortoise."
+"Using together with another theme, ((<image-slide-number>)), you can make a ha"
+"re and a tortoise race like the fable of the hare and the tortoise. When doing"
+" so, however, note that you should make your presentation not so slowly that t"
+"he hare will lose to the tortoise."
 msgstr ""
 
-#: ../lib/rabbit/theme/image-timer/property.rb:21
 msgid "Limit time by second."
 msgstr ""
 
-#: ../lib/rabbit/theme/image-timer/property.rb:25
 msgid "Whether updating image position automatically or not."
 msgstr ""
 
-#: ../lib/rabbit/theme/image-timer/property.rb:30
 msgid "Whether scrolling automatically or not."
 msgstr ""
 
-#: ../lib/rabbit/theme/image-timer/property.rb:34
 msgid "Direction of automatic scrolling."
 msgstr ""
 
-#: ../lib/rabbit/theme/image-timer/property.rb:38
-msgid "File name of an image that moves. A tortoise image in the ((<rabbit-images>)) theme is used by default."
+msgid ""
+"File name of an image that moves. A tortoise image in the ((<rabbit-images>)) "
+"theme is used by default."
 msgstr ""
 
-#: ../lib/rabbit/theme/image-timer/property.rb:44
 msgid "Time interval between automatic update."
 msgstr ""
 
-#: ../lib/rabbit/theme/image-viewer/property.rb:2
 msgid "Image viewer"
 msgstr ""
 
-#: ../lib/rabbit/theme/image-viewer/property.rb:3
 msgid "Theme for image viewer mode"
 msgstr ""
 
-#: ../lib/rabbit/theme/image/property.rb:3
 msgid "image rendering"
 msgstr ""
 
-#: ../lib/rabbit/theme/lightning-clear-blue/property.rb:2
 msgid "Lightning Clear Blue"
 msgstr ""
 
-#: ../lib/rabbit/theme/lightning-clear-blue/property.rb:3
 msgid "Clear blue theme with Lightning Talk theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/lightning-monochrome/property.rb:2
 msgid "LightningTalk-Monochrome"
 msgstr ""
 
-#: ../lib/rabbit/theme/lightning-monochrome/property.rb:3
 msgid "Lightning Talk theme monochrome version"
 msgstr ""
 
-#: ../lib/rabbit/theme/lightning-rabbit/property.rb:2
 msgid "LightningRabbit"
 msgstr ""
 
-#: ../lib/rabbit/theme/lightning-rabbit/property.rb:3
 msgid "Rabbit theme with Lightning Talk theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/lightning-simple/property.rb:2
 msgid "LightningTalk-Simple"
 msgstr ""
 
-#: ../lib/rabbit/theme/lightning-simple/property.rb:3
 msgid "Lightning Talk theme simple version"
 msgstr ""
 
-#: ../lib/rabbit/theme/lightning-talk-toolkit/property.rb:2
 msgid "LightningTalk-Toolkit"
 msgstr ""
 
-#: ../lib/rabbit/theme/lightning-talk-toolkit/property.rb:3
 msgid "Displays slides for lightning talk"
 msgstr ""
 
-#: ../lib/rabbit/theme/lightning-talk/property.rb:2
 msgid "LightningTalk"
 msgstr ""
 
-#: ../lib/rabbit/theme/lightning-talk/property.rb:3
 msgid "Lightning Talk theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/mirror-effect/property.rb:1
-#: ../lib/rabbit/theme/rotate-zoom-effect/property.rb:1
-#: ../lib/rabbit/theme/scroll-effect/property.rb:1
 msgid "Effect"
 msgstr ""
 
-#: ../lib/rabbit/theme/mirror-effect/property.rb:2
 msgid "Mirror Effect"
 msgstr ""
 
-#: ../lib/rabbit/theme/mirror-effect/property.rb:3
 msgid "Provide mirror_effect method that flips content."
 msgstr ""
 
-#: ../lib/rabbit/theme/nari/property.rb:2
 msgid "Nari"
 msgstr ""
 
-#: ../lib/rabbit/theme/nari/property.rb:3
 msgid "Nari's theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/newline-in-slides/property.rb:1
-#: ../lib/rabbit/theme/newline-in-title/property.rb:1
 msgid "Convenience"
 msgstr ""
 
-#: ../lib/rabbit/theme/newline-in-slides/property.rb:2
 msgid "Newline in Slides"
 msgstr ""
 
-#: ../lib/rabbit/theme/newline-in-slides/property.rb:3
-#: ../lib/rabbit/theme/newline-in-title/property.rb:3
 msgid ""
 "Convenience '\n"
 "' newline notation."
 msgstr ""
 
-#: ../lib/rabbit/theme/newline-in-slides/property.rb:4
 msgid ""
 "Enable '\n"
 "' notation to insert newline in all slides."
 msgstr ""
 
-#: ../lib/rabbit/theme/newline-in-title/property.rb:2
 msgid "Newline in Title"
 msgstr ""
 
-#: ../lib/rabbit/theme/newline-in-title/property.rb:4
 msgid ""
 "Enable '\n"
 "' notation to insert newline in title."
 msgstr ""
 
-#: ../lib/rabbit/theme/night-black/property.rb:2
 msgid "Night Black"
 msgstr ""
 
-#: ../lib/rabbit/theme/night-black/property.rb:3
 msgid "Night Black theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/pdf/property.rb:3
 msgid "Theme for PDF"
 msgstr ""
 
-#: ../lib/rabbit/theme/per-slide-background-color/property.rb:2
 msgid "PerSlideBackgroundColor"
 msgstr ""
 
-#: ../lib/rabbit/theme/per-slide-background-color/property.rb:3
 msgid "Toolkit to set background color of each slide"
 msgstr ""
 
-#: ../lib/rabbit/theme/per-slide-background-color/property.rb:4
 msgid ""
 "Set background color of each slide.\n"
 "\n"
@@ -2358,15 +1669,12 @@ msgid ""
 "     black\n"
 msgstr ""
 
-#: ../lib/rabbit/theme/per-slide-background-image/property.rb:2
 msgid "PerSlideBackgroundImage"
 msgstr ""
 
-#: ../lib/rabbit/theme/per-slide-background-image/property.rb:3
 msgid "Toolkit to display an image as a background of each slide"
 msgstr ""
 
-#: ../lib/rabbit/theme/per-slide-background-image/property.rb:4
 msgid ""
 "Displays an image as a background of each slide.\n"
 "\n"
@@ -2381,514 +1689,402 @@ msgid ""
 "     my-picture.png\n"
 msgstr ""
 
-#: ../lib/rabbit/theme/powered-by/property.rb:2
 msgid "PoweredBy"
 msgstr ""
 
-#: ../lib/rabbit/theme/powered-by/property.rb:3
 msgid "Powered-by ad toolkit"
 msgstr ""
 
-#: ../lib/rabbit/theme/powered-by/property.rb:4
-msgid "Displays programs the presentation slides are powered by (or displays some other ads) at the foot of the title slide and of the last slide. Images and/or a text are available as ads."
+msgid ""
+"Displays programs the presentation slides are powered by (or displays some oth"
+"er ads) at the foot of the title slide and of the last slide. Images and/or a "
+"text are available as ads."
 msgstr ""
 
-#: ../lib/rabbit/theme/powered-by/property.rb:14
 msgid "Properties of the ad text, such as font family."
 msgstr ""
 
-#: ../lib/rabbit/theme/powered-by/property.rb:22
 msgid "Ad text."
 msgstr ""
 
-#: ../lib/rabbit/theme/rabbit-block-quote/property.rb:2
 msgid "Rabbit Block Quote"
 msgstr ""
 
-#: ../lib/rabbit/theme/rabbit-block-quote/property.rb:3
 msgid "Displays quotation block with quote mark in frame."
 msgstr ""
 
-#: ../lib/rabbit/theme/rabbit-headline-logo/property.rb:2
 msgid "RabbitHeadlineLogo"
 msgstr ""
 
-#: ../lib/rabbit/theme/rabbit-headline-logo/property.rb:3
 msgid "Toolkit to display Lavie as a logo at the headlines"
 msgstr ""
 
-#: ../lib/rabbit/theme/rabbit-headline-logo/property.rb:4
 msgid "Displays Lavie as a logo at the headlines of slides."
 msgstr ""
 
-#: ../lib/rabbit/theme/rabbit-icon/property.rb:2
 msgid "RabbitIcon"
 msgstr ""
 
-#: ../lib/rabbit/theme/rabbit-icon/property.rb:3
 msgid "Toolkit to use Lavie as icons"
 msgstr ""
 
-#: ../lib/rabbit/theme/rabbit-icon/property.rb:4
 msgid "Uses Lavie as icons."
 msgstr ""
 
-#: ../lib/rabbit/theme/rabbit-item-mark/property.rb:2
 msgid "RabbitItemMark"
 msgstr ""
 
-#: ../lib/rabbit/theme/rabbit-item-mark/property.rb:3
 msgid "Toolkit to display colorful balls as list item marks"
 msgstr ""
 
-#: ../lib/rabbit/theme/rabbit-item-mark/property.rb:4
 msgid "Displays colorful balls at the head of list items."
 msgstr ""
 
-#: ../lib/rabbit/theme/rabbit-powered-by/property.rb:2
 msgid "RabbitPoweredBy"
 msgstr ""
 
-#: ../lib/rabbit/theme/rabbit-powered-by/property.rb:3
 msgid "Powered-by-Rabbit ad toolkit"
 msgstr ""
 
-#: ../lib/rabbit/theme/rabbit-powered-by/property.rb:4
-msgid "Displays a text and an image showing the presentation slides are powered by Rabbit and COZMIXNG at the foot of the title slide and of the last slide."
+msgid ""
+"Displays a text and an image showing the presentation slides are powered by Ra"
+"bbit and COZMIXNG at the foot of the title slide and of the last slide."
 msgstr ""
 
-#: ../lib/rabbit/theme/rabbit-title-logo/property.rb:2
 msgid "RabbitTitleLogo"
 msgstr ""
 
-#: ../lib/rabbit/theme/rabbit-title-logo/property.rb:3
 msgid "Toolkit to display Lavie as a logo in the title slide"
 msgstr ""
 
-#: ../lib/rabbit/theme/rabbit-title-logo/property.rb:4
 msgid "Displays Lavie as a logo in the title slide."
 msgstr ""
 
-#: ../lib/rabbit/theme/rabbit/property.rb:3
 msgid "Rabbit theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/ranguba/property.rb:2
 msgid "Ranguba"
 msgstr ""
 
-#: ../lib/rabbit/theme/ranguba/property.rb:3
 msgid "Ranguba theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/red-frame/property.rb:2
 msgid "RedFrame"
 msgstr ""
 
-#: ../lib/rabbit/theme/red-frame/property.rb:3
 msgid "Red frame theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/rotate-zoom-effect/property.rb:2
 msgid "Rotate Zoom Effect"
 msgstr ""
 
-#: ../lib/rabbit/theme/rotate-zoom-effect/property.rb:3
 msgid "Provide rotate_zoom_effect method that rotates and zooms content."
 msgstr ""
 
-#: ../lib/rabbit/theme/ruby-gnome2-description/property.rb:2
 msgid "RubyGNOME2Description"
 msgstr ""
 
-#: ../lib/rabbit/theme/ruby-gnome2-description/property.rb:3
-msgid "Toolkit to display description-list items like ones in the website of the Ruby-GNOME2 Project"
+msgid ""
+"Toolkit to display description-list items like ones in the website of the Ruby"
+"-GNOME2 Project"
 msgstr ""
 
-#: ../lib/rabbit/theme/ruby-gnome2-description/property.rb:5
-msgid "Displays description-list items like ones in the website of the Ruby-GNOME2 Project; i.e. displays their text colored blue."
+msgid ""
+"Displays description-list items like ones in the website of the Ruby-GNOME2 Pr"
+"oject; i.e. displays their text colored blue."
 msgstr ""
 
-#: ../lib/rabbit/theme/ruby-gnome2-foot-text/property.rb:2
 msgid "Ruby-GNOME2 Foot Text"
 msgstr ""
 
-#: ../lib/rabbit/theme/ruby-gnome2-foot-text/property.rb:3
 msgid "Displays foot text at the footer of slide with Ruby-GNOME2 style."
 msgstr ""
 
-#: ../lib/rabbit/theme/ruby-gnome2-headline/property.rb:2
 msgid "RubyGNOME2Headline"
 msgstr ""
 
-#: ../lib/rabbit/theme/ruby-gnome2-headline/property.rb:3
-msgid "Toolkit to display headlines like those in the website of the Ruby-GNOME2 Project"
+msgid ""
+"Toolkit to display headlines like those in the website of the Ruby-GNOME2 Proj"
+"ect"
 msgstr ""
 
-#: ../lib/rabbit/theme/ruby-gnome2-headline/property.rb:5
-msgid "Displays headlines like ones in the website of the Ruby-GNOME2 Project; i.e. displays their text colored white and placed in the dark red boxes with pink frames."
+msgid ""
+"Displays headlines like ones in the website of the Ruby-GNOME2 Project; i.e. d"
+"isplays their text colored white and placed in the dark red boxes with pink fr"
+"ames."
 msgstr ""
 
-#: ../lib/rabbit/theme/ruby-gnome2-icon/property.rb:2
 msgid "RubyGNOME2Icon"
 msgstr ""
 
-#: ../lib/rabbit/theme/ruby-gnome2-icon/property.rb:3
 msgid "Toolkit to use a pink circle as icons"
 msgstr ""
 
-#: ../lib/rabbit/theme/ruby-gnome2-icon/property.rb:4
 msgid "Uses a pink circle as icons."
 msgstr ""
 
-#: ../lib/rabbit/theme/ruby-gnome2-item-mark/property.rb:2
 msgid "RubyGNOME2ItemMark"
 msgstr ""
 
-#: ../lib/rabbit/theme/ruby-gnome2-item-mark/property.rb:3
-msgid "Toolkit to display list items like ones in the website of the Ruby-GNOME2 Project"
+msgid ""
+"Toolkit to display list items like ones in the website of the Ruby-GNOME2 Proj"
+"ect"
 msgstr ""
 
-#: ../lib/rabbit/theme/ruby-gnome2-item-mark/property.rb:5
-msgid "Displays list items like ones in the website of the Ruby-GNOME2 Project; i.e. displays text of the first-level items colored blue and underlined, the second- and third-level items marked with black squares and circles."
+msgid ""
+"Displays list items like ones in the website of the Ruby-GNOME2 Project; i.e. "
+"displays text of the first-level items colored blue and underlined, the second"
+"- and third-level items marked with black squares and circles."
 msgstr ""
 
-#: ../lib/rabbit/theme/ruby-gnome2-preformatted/property.rb:2
 msgid "Ruby-GNOME2 Preformatted"
 msgstr ""
 
-#: ../lib/rabbit/theme/ruby-gnome2-preformatted/property.rb:3
 msgid "Displays preformatted text with Ruby-GNOME2 style."
 msgstr ""
 
-#: ../lib/rabbit/theme/ruby-gnome2-slide/property.rb:2
 msgid "Ruby-GNOME2 Slide"
 msgstr ""
 
-#: ../lib/rabbit/theme/ruby-gnome2-slide/property.rb:3
 msgid "Displays slides with Ruby-GNOME2 style."
 msgstr ""
 
-#: ../lib/rabbit/theme/ruby-gnome2/property.rb:2
 msgid "Ruby-GNOME2"
 msgstr ""
 
-#: ../lib/rabbit/theme/ruby-gnome2/property.rb:3
 msgid "Ruby-GNOME2 theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/rubykaigi2011/property.rb:2
 msgid "RubyKaigi2011"
 msgstr ""
 
-#: ../lib/rabbit/theme/rubykaigi2011/property.rb:3
 msgid "RubyKaigi2011 theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/scroll-effect/property.rb:2
 msgid "Scroll Effect"
 msgstr ""
 
-#: ../lib/rabbit/theme/scroll-effect/property.rb:3
 msgid "Provide scroll_effect method that scrolls content."
 msgstr ""
 
-#: ../lib/rabbit/theme/show-frame/property.rb:2
 msgid "ShowFrame"
 msgstr ""
 
-#: ../lib/rabbit/theme/show-frame/property.rb:3
 msgid "Debug toolkit to show element frames"
 msgstr ""
 
-#: ../lib/rabbit/theme/show-frame/property.rb:4
 msgid "Show element frames useful for debug."
 msgstr ""
 
-#: ../lib/rabbit/theme/show-frame/property.rb:8
 msgid "Frame color."
 msgstr ""
 
-#: ../lib/rabbit/theme/simple-item-mark/property.rb:2
 msgid "SimpleItemMark"
 msgstr ""
 
-#: ../lib/rabbit/theme/simple-item-mark/property.rb:3
 msgid "Toolkit to display simple black circles as list item marks"
 msgstr ""
 
-#: ../lib/rabbit/theme/simple-item-mark/property.rb:4
 msgid "Displays simple black circles at the head of list items."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-background-image/property.rb:2
 msgid "SlideBackgroundImage"
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-background-image/property.rb:3
 msgid "Toolkit to display an image as a background of slides"
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-background-image/property.rb:4
 msgid "Displays an image as a background of slides."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-background/property.rb:2
 msgid "SlideBackground"
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-background/property.rb:3
 msgid "Backward compatibility theme for ((<slide-background-image>))"
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-background/property.rb:4
 msgid "See ((<slide-background-image>))"
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:2
-#: ../lib/rabbit/theme/slide-header-info/property.rb:2
 msgid "Slide Footer Info"
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:3
 msgid "Toolkit to display information at the footer"
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:4
 msgid "Displays information with a line at the footer of slides."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:8
-#: ../lib/rabbit/theme/slide-header-info/property.rb:8
 msgid "Line color."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:12
-#: ../lib/rabbit/theme/slide-header-info/property.rb:12
 msgid "Line width."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:15
-#: ../lib/rabbit/theme/slide-header-info/property.rb:15
 msgid "white <-> black gradation"
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:16
-msgid "Line fill pattern. @slide_footer_info_line_color is ignored if this parameter is specified."
+msgid ""
+"Line fill pattern. @slide_footer_info_line_color is ignored if this parameter "
+"is specified."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:21
-#: ../lib/rabbit/theme/slide-header-info/property.rb:21
 msgid "Text size."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:25
-#: ../lib/rabbit/theme/slide-header-info/property.rb:25
 msgid "x-axis margin."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:29
-#: ../lib/rabbit/theme/slide-header-info/property.rb:29
 msgid "Text color."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:33
-#: ../lib/rabbit/theme/slide-header-info/property.rb:33
 msgid "Whether show a text over line or not."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:37
-#: ../lib/rabbit/theme/slide-header-info/property.rb:37
 msgid "Base y-axis position to stroke line."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-header-info/property.rb:3
 msgid "Toolkit to display information at the header"
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-header-info/property.rb:4
 msgid "Displays information with a line at the header of slides."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-header-info/property.rb:16
-msgid "Line fill pattern. @slide_header_info_line_color is ignored if this parameter is specified."
+msgid ""
+"Line fill pattern. @slide_header_info_line_color is ignored if this parameter "
+"is specified."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-logo/property.rb:2
 msgid "Slide Logo"
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-logo/property.rb:3
 msgid "Toolkit to display an image as logo at the top"
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-logo/property.rb:4
 msgid "Displays an image as a logo at the top of all slides."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-logo/property.rb:12
 msgid "Image position. :right or :left."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-logo/property.rb:16
 msgid "Image width."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-logo/property.rb:20
 msgid "Image height."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-logo/slide-logo.rb:4
-#: ../lib/rabbit/theme/title-logo/title-logo.rb:4
 msgid "must specify %s!!!"
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-number/property.rb:2
 msgid "TextSlideNumber"
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-number/property.rb:3
 msgid "Toolkit to display slide numbers, a text version"
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-number/property.rb:4
 msgid "Displays slide numbers with text at the bottom of the slides."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-number/property.rb:12
 msgid "Properties of the slide numbers, such as font family."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-show/property.rb:2
 msgid "Slide Show"
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-show/property.rb:3
 msgid "Toolkit to do slide show"
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-show/property.rb:4
 msgid "Move to the next slide automatically."
 msgstr ""
 
-#: ../lib/rabbit/theme/stream-comment/property.rb:2
 msgid "Stream Comment"
 msgstr ""
 
-#: ../lib/rabbit/theme/stream-comment/property.rb:3
 msgid "Stream comments on canvas."
 msgstr ""
 
-#: ../lib/rabbit/theme/syntax-highlighting/property.rb:2
 msgid "Syntax Highlighting"
 msgstr ""
 
-#: ../lib/rabbit/theme/syntax-highlighting/property.rb:3
 msgid "Toolkit for syntax highlighting"
 msgstr ""
 
-#: ../lib/rabbit/theme/syntax-highlighting/property.rb:4
 msgid "Applies syntax highlighting style."
 msgstr ""
 
-#: ../lib/rabbit/theme/table/property.rb:2
 msgid "Table"
 msgstr ""
 
-#: ../lib/rabbit/theme/table/property.rb:3
 msgid "table rendering"
 msgstr ""
 
-#: ../lib/rabbit/theme/tag/property.rb:2
 msgid "Tag"
 msgstr ""
 
-#: ../lib/rabbit/theme/tag/property.rb:3
 msgid "Toolkit to apply custom tag"
 msgstr ""
 
-#: ../lib/rabbit/theme/tag/property.rb:4
 msgid "Applies custom tag style."
 msgstr ""
 
-#: ../lib/rabbit/theme/timer/property.rb:2
 msgid "TextTimer"
 msgstr ""
 
-#: ../lib/rabbit/theme/timer/property.rb:3
 msgid "text version timer"
 msgstr ""
 
-#: ../lib/rabbit/theme/title-background-color/property.rb:2
 msgid "TitleBackgroundColor"
 msgstr ""
 
-#: ../lib/rabbit/theme/title-background-color/property.rb:3
 msgid "Toolkit to color a background of the title slide"
 msgstr ""
 
-#: ../lib/rabbit/theme/title-background-color/property.rb:4
 msgid "Color a background of the title slide."
 msgstr ""
 
-#: ../lib/rabbit/theme/title-background-color/property.rb:8
 msgid "Background color."
 msgstr ""
 
-#: ../lib/rabbit/theme/title-background-image/property.rb:2
 msgid "TitleBackgroundImage"
 msgstr ""
 
-#: ../lib/rabbit/theme/title-background-image/property.rb:3
-#: ../lib/rabbit/theme/title-slide-background-image/property.rb:3
 msgid "Toolkit to display an image as a background of the title slide"
 msgstr ""
 
-#: ../lib/rabbit/theme/title-background-image/property.rb:5
-#: ../lib/rabbit/theme/title-slide-background-image/property.rb:4
 msgid "Displays an image as a background of the title slide."
 msgstr ""
 
-#: ../lib/rabbit/theme/title-logo/property.rb:2
 msgid "TitleLogo"
 msgstr ""
 
-#: ../lib/rabbit/theme/title-logo/property.rb:3
 msgid "Toolkit to display an image as a logo in the title slide"
 msgstr ""
 
-#: ../lib/rabbit/theme/title-logo/property.rb:4
 msgid "Displays an image as a logo in the title slide."
 msgstr ""
 
-#: ../lib/rabbit/theme/title-logo/property.rb:12
-msgid "Position of the logo. The logo will be set at the upper-right corner when '(({:right}))', and at the upper-left corner when '(({:left}))'."
+msgid ""
+"Position of the logo. The logo will be set at the upper-right corner when '(({"
+":right}))', and at the upper-left corner when '(({:left}))'."
 msgstr ""
 
-#: ../lib/rabbit/theme/title-on-image-toolkit/property.rb:2
 msgid "Title on Image Toolkit"
 msgstr ""
 
-#: ../lib/rabbit/theme/title-on-image-toolkit/property.rb:3
 msgid "Displays title on image"
 msgstr ""
 
-#: ../lib/rabbit/theme/title-shadow/property.rb:2
 msgid "TitleShadow"
 msgstr ""
 
-#: ../lib/rabbit/theme/title-shadow/property.rb:3
 msgid "Toolkit to display shadows behind the title"
 msgstr ""
 
-#: ../lib/rabbit/theme/title-shadow/property.rb:4
 msgid "Displays shadows behind the title string in the title slide."
 msgstr ""
 
-#: ../lib/rabbit/theme/title-shadow/property.rb:9
 msgid "Color of shadow."
 msgstr ""
 
-#: ../lib/rabbit/theme/title-slide-background-image/property.rb:2
 msgid "TitleSlideBackgroundImage"
 msgstr ""
diff --git a/po/fr/rabbit.po b/po/fr/rabbit.edit.po
similarity index 73%
copy from po/fr/rabbit.po
copy to po/fr/rabbit.edit.po
index 4073799..c723bb2 100644
--- a/po/fr/rabbit.po
+++ b/po/fr/rabbit.edit.po
@@ -6,7 +6,6 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Rabbit 0.5.4\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-06-01 13:03+0900\n"
 "PO-Revision-Date: 2012-09-10 21:20+0900\n"
 "Last-Translator: Vincent Isambart <vincent.isambart at gmail.com>\n"
 "Language-Team: Vincent Isambart <vincent.isambart at gmail.com>\n"
@@ -16,20 +15,6 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 
-#: 
-#: ../lib/rabbit/theme/default-item-mark-setup/default-item-mark-setup.rb:81
-msgid ""
-"unknown enumeration item mark type: %s\n"
-"Numeric type is used as fallback"
-msgstr ""
-
-#: 
-#: ../lib/rabbit/theme/default-item-mark-setup/default-item-mark-setup.rb:31
-msgid ""
-"unknown item mark type: %s\n"
-"Rectangle type is used as fallback"
-msgstr ""
-
 #: ../bin/rabbit-command:18
 msgid "Specify Rabbit's dRuby URI as [URI]."
 msgstr ""
@@ -102,15 +87,7 @@ msgstr ""
 msgid "Quit"
 msgstr ""
 
-#: ../data/rabbit/image/clear-blue-images/property.rb:1
-#: ../data/rabbit/image/cozmixng-images/property.rb:1
-#: ../data/rabbit/image/dark-gradation-images/property.rb:1
-#: ../data/rabbit/image/debian-images/property.rb:1
-#: ../data/rabbit/image/nari-images/property.rb:1
-#: ../data/rabbit/image/rabbit-images/property.rb:1
-#: ../data/rabbit/image/ruby-images/property.rb:1
-#: ../data/rabbit/image/rubykaigi2011-images/property.rb:1
-#: ../lib/rabbit/theme/image/property.rb:2
+#: ../data/rabbit/image/clear-blue-images/property.rb:1 ../data/rabbit/image/cozmixng-images/property.rb:1 ../data/rabbit/image/dark-gradation-images/property.rb:1 ../data/rabbit/image/debian-images/property.rb:1 ../data/rabbit/image/nari-images/property.rb:1 ../data/rabbit/image/rabbit-images/property.rb:1 ../data/rabbit/image/ruby-images/property.rb:1 ../data/rabbit/image/rubykaigi2011-images/property.rb:1 ../lib/rabbit/theme/image/property.rb:2
 msgid "Image"
 msgstr ""
 
@@ -242,6 +219,10 @@ msgstr ""
 msgid "Save as image"
 msgstr ""
 
+#: ../lib/rabbit/action/basic.rb:83 ../lib/rabbit/command/rabbit.rb:318
+msgid "Print"
+msgstr ""
+
 #: ../lib/rabbit/action/basic.rb:91
 msgid "Iconify"
 msgstr ""
@@ -338,16 +319,19 @@ msgstr ""
 msgid "Log Level"
 msgstr ""
 
-#: ../lib/rabbit/action/radio.rb:37
-#: ../lib/rabbit/command/rabbit-slide.rb:353
-#: ../lib/rabbit/command/rabbit-slide.rb:369
-#: ../lib/rabbit/command/rabbit-theme.rb:211
-#: ../lib/rabbit/command/rabbit-theme.rb:227
+#: ../lib/rabbit/action/radio.rb:27 ../lib/rabbit/action/toggle.rb:12
+msgid "Whiteout"
+msgstr ""
+
+#: ../lib/rabbit/action/radio.rb:32 ../lib/rabbit/action/toggle.rb:23
+msgid "Blackout"
+msgstr ""
+
+#: ../lib/rabbit/action/radio.rb:37 ../lib/rabbit/command/rabbit-slide.rb:354 ../lib/rabbit/command/rabbit-slide.rb:370 ../lib/rabbit/command/rabbit-theme.rb:211 ../lib/rabbit/command/rabbit-theme.rb:227
 msgid "Show"
 msgstr ""
 
-#: ../lib/rabbit/action/radio.rb:48
-#: ../lib/rabbit/theme/show-frame/property.rb:1
+#: ../lib/rabbit/action/radio.rb:48 ../lib/rabbit/theme/show-frame/property.rb:1
 msgid "Debug"
 msgstr ""
 
@@ -371,14 +355,6 @@ msgstr ""
 msgid "Unknown"
 msgstr ""
 
-#: ../lib/rabbit/action/radio.rb:27 ../lib/rabbit/action/toggle.rb:12
-msgid "Whiteout"
-msgstr ""
-
-#: ../lib/rabbit/action/radio.rb:32 ../lib/rabbit/action/toggle.rb:23
-msgid "Blackout"
-msgstr ""
-
 #: ../lib/rabbit/action/toggle.rb:30
 msgid "Index mode"
 msgstr ""
@@ -411,16 +387,15 @@ msgstr ""
 msgid "Failed to write author configuration: %s: %s"
 msgstr ""
 
-#: ../lib/rabbit/canvas.rb:607
+#: ../lib/rabbit/canvas.rb:604
 msgid "Unknown action: %s"
 msgstr ""
 
-#: ../lib/rabbit/canvas.rb:675
+#: ../lib/rabbit/canvas.rb:672
 msgid "Processing..."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:50
-#: ../lib/rabbit/command/rabbit-theme.rb:48
+#: ../lib/rabbit/command/rabbit-slide.rb:50 ../lib/rabbit/command/rabbit-theme.rb:48
 msgid "See --help for example"
 msgstr ""
 
@@ -458,28 +433,11 @@ msgstr ""
 msgid "Slide ID"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:100
-#: ../lib/rabbit/command/rabbit-slide.rb:107
-#: ../lib/rabbit/command/rabbit-slide.rb:119
-#: ../lib/rabbit/command/rabbit-slide.rb:133
-#: ../lib/rabbit/command/rabbit-slide.rb:141
-#: ../lib/rabbit/command/rabbit-slide.rb:148
-#: ../lib/rabbit/command/rabbit-slide.rb:155
-#: ../lib/rabbit/command/rabbit-slide.rb:164
-#: ../lib/rabbit/command/rabbit-slide.rb:177
-#: ../lib/rabbit/command/rabbit-slide.rb:191
-#: ../lib/rabbit/command/rabbit-slide.rb:205
-#: ../lib/rabbit/command/rabbit-slide.rb:219
-#: ../lib/rabbit/command/rabbit-theme.rb:83
-#: ../lib/rabbit/command/rabbit-theme.rb:92
-#: ../lib/rabbit/command/rabbit-theme.rb:105
-#: ../lib/rabbit/command/rabbit-theme.rb:119
+#: ../lib/rabbit/command/rabbit-slide.rb:100 ../lib/rabbit/command/rabbit-slide.rb:107 ../lib/rabbit/command/rabbit-slide.rb:119 ../lib/rabbit/command/rabbit-slide.rb:133 ../lib/rabbit/command/rabbit-slide.rb:141 ../lib/rabbit/command/rabbit-slide.rb:148 ../lib/rabbit/command/rabbit-slide.rb:155 ../lib/rabbit/command/rabbit-slide.rb:164 ../lib/rabbit/command/rabbit-slide.rb:177 ../lib/rabbit/command/rabbit-slide.rb:191 ../lib/rabbit/command/rabbit-slide.rb:205 ../lib/rabbit/command/rabbi [...]
 msgid "(e.g.: %s)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:101
-#: ../lib/rabbit/command/rabbit-slide.rb:108
-#: ../lib/rabbit/command/rabbit-theme.rb:84
+#: ../lib/rabbit/command/rabbit-slide.rb:101 ../lib/rabbit/command/rabbit-slide.rb:108 ../lib/rabbit/command/rabbit-theme.rb:84
 msgid "(must)"
 msgstr ""
 
@@ -495,31 +453,11 @@ msgstr ""
 msgid "(available markup languages: %s)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:123
-#: ../lib/rabbit/command/rabbit-slide.rb:167
-#: ../lib/rabbit/command/rabbit-slide.rb:180
-#: ../lib/rabbit/command/rabbit-slide.rb:194
-#: ../lib/rabbit/command/rabbit-slide.rb:208
-#: ../lib/rabbit/command/rabbit-slide.rb:222
-#: ../lib/rabbit/command/rabbit-theme.rb:95
-#: ../lib/rabbit/command/rabbit-theme.rb:108
-#: ../lib/rabbit/command/rabbit-theme.rb:122
+#: ../lib/rabbit/command/rabbit-slide.rb:123 ../lib/rabbit/command/rabbit-slide.rb:167 ../lib/rabbit/command/rabbit-slide.rb:180 ../lib/rabbit/command/rabbit-slide.rb:194 ../lib/rabbit/command/rabbit-slide.rb:208 ../lib/rabbit/command/rabbit-slide.rb:222 ../lib/rabbit/command/rabbit-theme.rb:95 ../lib/rabbit/command/rabbit-theme.rb:108 ../lib/rabbit/command/rabbit-theme.rb:122
 msgid "(default: %s)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:125
-#: ../lib/rabbit/command/rabbit-slide.rb:134
-#: ../lib/rabbit/command/rabbit-slide.rb:142
-#: ../lib/rabbit/command/rabbit-slide.rb:149
-#: ../lib/rabbit/command/rabbit-slide.rb:156
-#: ../lib/rabbit/command/rabbit-slide.rb:169
-#: ../lib/rabbit/command/rabbit-slide.rb:182
-#: ../lib/rabbit/command/rabbit-slide.rb:196
-#: ../lib/rabbit/command/rabbit-slide.rb:210
-#: ../lib/rabbit/command/rabbit-slide.rb:224
-#: ../lib/rabbit/command/rabbit-theme.rb:97
-#: ../lib/rabbit/command/rabbit-theme.rb:110
-#: ../lib/rabbit/command/rabbit-theme.rb:124
+#: ../lib/rabbit/command/rabbit-slide.rb:125 ../lib/rabbit/command/rabbit-slide.rb:134 ../lib/rabbit/command/rabbit-slide.rb:142 ../lib/rabbit/command/rabbit-slide.rb:149 ../lib/rabbit/command/rabbit-slide.rb:156 ../lib/rabbit/command/rabbit-slide.rb:169 ../lib/rabbit/command/rabbit-slide.rb:182 ../lib/rabbit/command/rabbit-slide.rb:196 ../lib/rabbit/command/rabbit-slide.rb:210 ../lib/rabbit/command/rabbit-slide.rb:224 ../lib/rabbit/command/rabbit-theme.rb:97 ../lib/rabbit/command/rabbit [...]
 msgid "(optional)"
 msgstr ""
 
@@ -543,107 +481,91 @@ msgstr ""
 msgid "Presentation date with the new slide"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:160
-#: ../lib/rabbit/command/rabbit-theme.rb:88
+#: ../lib/rabbit/command/rabbit-slide.rb:160 ../lib/rabbit/command/rabbit-theme.rb:88
 msgid "Your information"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:163
-#: ../lib/rabbit/command/rabbit-theme.rb:91
+#: ../lib/rabbit/command/rabbit-slide.rb:163 ../lib/rabbit/command/rabbit-theme.rb:91
 msgid "Author name of the new slide"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:176
-#: ../lib/rabbit/command/rabbit-theme.rb:104
+#: ../lib/rabbit/command/rabbit-slide.rb:176 ../lib/rabbit/command/rabbit-theme.rb:104
 msgid "Author e-mail of the new slide"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:189
-#: ../lib/rabbit/command/rabbit-slide.rb:203
-#: ../lib/rabbit/command/rabbit-slide.rb:217
-#: ../lib/rabbit/command/rabbit-theme.rb:117
+#: ../lib/rabbit/command/rabbit-slide.rb:189 ../lib/rabbit/command/rabbit-slide.rb:203 ../lib/rabbit/command/rabbit-slide.rb:217 ../lib/rabbit/command/rabbit-theme.rb:117
 msgid "Account for %s"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:190
-#: ../lib/rabbit/command/rabbit-slide.rb:204
-#: ../lib/rabbit/command/rabbit-slide.rb:218
-#: ../lib/rabbit/command/rabbit-theme.rb:118
+#: ../lib/rabbit/command/rabbit-slide.rb:190 ../lib/rabbit/command/rabbit-slide.rb:204 ../lib/rabbit/command/rabbit-slide.rb:218 ../lib/rabbit/command/rabbit-theme.rb:118
 msgid "It is used to publish your slide to %s"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:252
-#: ../lib/rabbit/command/rabbit-theme.rb:143
+#: ../lib/rabbit/command/rabbit-slide.rb:252 ../lib/rabbit/command/rabbit-theme.rb:143
 msgid "too many commands: %s"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:256
-#: ../lib/rabbit/command/rabbit-theme.rb:148
+#: ../lib/rabbit/command/rabbit-slide.rb:256 ../lib/rabbit/command/rabbit-theme.rb:148
 msgid "invalid command: <%s>: available commands: %s"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:264
-#: ../lib/rabbit/command/rabbit-slide.rb:270
-#: ../lib/rabbit/command/rabbit-theme.rb:156
+#: ../lib/rabbit/command/rabbit-slide.rb:264 ../lib/rabbit/command/rabbit-slide.rb:270 ../lib/rabbit/command/rabbit-theme.rb:156
 msgid "%s is missing"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:345
+#: ../lib/rabbit/command/rabbit-slide.rb:346
 msgid "TODO: SLIDE TITLE"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:348
+#: ../lib/rabbit/command/rabbit-slide.rb:349
 msgid "TODO: SLIDE DESCRIPTION"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:351
-#: ../lib/rabbit/command/rabbit-theme.rb:209
+#: ../lib/rabbit/command/rabbit-slide.rb:352 ../lib/rabbit/command/rabbit-theme.rb:209
 msgid "For author"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:357
-#: ../lib/rabbit/command/rabbit-theme.rb:215
+#: ../lib/rabbit/command/rabbit-slide.rb:358 ../lib/rabbit/command/rabbit-theme.rb:215
 msgid "Publish"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:362
+#: ../lib/rabbit/command/rabbit-slide.rb:363
 msgid "For viewers"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:364
-#: ../lib/rabbit/command/rabbit-theme.rb:222
+#: ../lib/rabbit/command/rabbit-slide.rb:365 ../lib/rabbit/command/rabbit-theme.rb:222
 msgid "Install"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:435
+#: ../lib/rabbit/command/rabbit-slide.rb:444
 msgid "TITLE"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:437
+#: ../lib/rabbit/command/rabbit-slide.rb:446
 msgid "FIRST SLIDE"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:439
+#: ../lib/rabbit/command/rabbit-slide.rb:448
 msgid "SECOND SLIDE"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:451
+#: ../lib/rabbit/command/rabbit-slide.rb:460
 msgid "SUBTITLE"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:452
+#: ../lib/rabbit/command/rabbit-slide.rb:461
 msgid "AUTHOR"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:453
+#: ../lib/rabbit/command/rabbit-slide.rb:462
 msgid "INSTITUTION"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:454
+#: ../lib/rabbit/command/rabbit-slide.rb:463
 msgid "EVENT NAME"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:475
+#: ../lib/rabbit/command/rabbit-slide.rb:484
 msgid "ITEM %d"
 msgstr ""
 
@@ -677,462 +599,405 @@ msgstr ""
 msgid "For users"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-theme.rb:229
-#: ../lib/rabbit/task/theme.rb:95
+#: ../lib/rabbit/command/rabbit-theme.rb:229 ../lib/rabbit/task/theme.rb:96
 msgid "rabbit-theme-benchmark-en.gem"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:143
-#: ../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/theme/green-circle/property.rb:1
-#: ../lib/rabbit/theme/image-viewer/property.rb:1
-#: ../lib/rabbit/theme/lightning-clear-blue/property.rb:1
-#: ../lib/rabbit/theme/lightning-monochrome/property.rb:1
-#: ../lib/rabbit/theme/lightning-rabbit/property.rb:1
-#: ../lib/rabbit/theme/lightning-simple/property.rb:1
-#: ../lib/rabbit/theme/lightning-talk/property.rb:1
-#: ../lib/rabbit/theme/nari/property.rb:1
-#: ../lib/rabbit/theme/night-black/property.rb:1
-#: ../lib/rabbit/theme/pdf/property.rb:1
-#: ../lib/rabbit/theme/rabbit/property.rb:1
-#: ../lib/rabbit/theme/ranguba/property.rb:1
-#: ../lib/rabbit/theme/red-frame/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2/property.rb:1
-#: ../lib/rabbit/theme/rubykaigi2011/property.rb:1
+#: ../lib/rabbit/command/rabbit.rb:147 ../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:146
+#: ../lib/rabbit/command/rabbit.rb:150
 msgid "Add [PATH] to load path."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:151
+#: ../lib/rabbit/command/rabbit.rb:155
 msgid "Use [THEME] as theme."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:158
+#: ../lib/rabbit/command/rabbit.rb:162
 msgid "Use [THEME] for comment."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:164
+#: ../lib/rabbit/command/rabbit.rb:168
 msgid "Use [TIME] as allotted time."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:170
-#: ../lib/rabbit/html/generator.rb:404
+#: ../lib/rabbit/command/rabbit.rb:174 ../lib/rabbit/html/generator.rb:404
 msgid "Source"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:177
+#: ../lib/rabbit/command/rabbit.rb:181
 msgid ""
 "When select %s\n"
 "specify %s\n"
 "as [SOURCE_INFOS]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:184
+#: ../lib/rabbit/command/rabbit.rb:188
 msgid "Specify source type as [TYPE]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:186
+#: ../lib/rabbit/command/rabbit.rb:189 ../lib/rabbit/console.rb:165 ../lib/rabbit/console.rb:182
+msgid "Select from [%s]."
+msgstr ""
+
+#: ../lib/rabbit/command/rabbit.rb:190
 msgid "Note: case insensitive."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:200
+#: ../lib/rabbit/command/rabbit.rb:204
 msgid "Specify source encoding as [ENCODING]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:201
-#: ../lib/rabbit/command/rabbit.rb:207
-#: ../lib/rabbit/command/rabbit.rb:368
-#: ../lib/rabbit/command/rabbit.rb:375
-#: ../lib/rabbit/command/rabbit.rb:382
-#: ../lib/rabbit/command/rabbit.rb:389
-#: ../lib/rabbit/command/rabbit.rb:414
-#: ../lib/rabbit/command/rabbit.rb:421
-#: ../lib/rabbit/command/rabbit.rb:428
-#: ../lib/rabbit/command/rabbit.rb:435
-#: ../lib/rabbit/command/rabbit.rb:556 ../lib/rabbit/console.rb:150
+#: ../lib/rabbit/command/rabbit.rb:205 ../lib/rabbit/command/rabbit.rb:211 ../lib/rabbit/command/rabbit.rb:378 ../lib/rabbit/command/rabbit.rb:385 ../lib/rabbit/command/rabbit.rb:392 ../lib/rabbit/command/rabbit.rb:399 ../lib/rabbit/command/rabbit.rb:424 ../lib/rabbit/command/rabbit.rb:431 ../lib/rabbit/command/rabbit.rb:438 ../lib/rabbit/command/rabbit.rb:445 ../lib/rabbit/command/rabbit.rb:558 ../lib/rabbit/console.rb:150
 msgid "(auto)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:206
+#: ../lib/rabbit/command/rabbit.rb:210
 msgid "Specify base URI or path of source as [BASE]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:212
+#: ../lib/rabbit/command/rabbit.rb:216
 msgid "Initial state"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:215
+#: ../lib/rabbit/command/rabbit.rb:219
 msgid "Toggle full screen mode."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:221
+#: ../lib/rabbit/command/rabbit.rb:225
 msgid "Toggle index mode."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:227
+#: ../lib/rabbit/command/rabbit.rb:231
+msgid "Show the Nth slide. (zero-based)"
+msgstr ""
+
+#: ../lib/rabbit/command/rabbit.rb:237
 msgid "Size"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:230
+#: ../lib/rabbit/command/rabbit.rb:240
 msgid "Set window geometry [GEOMETRY]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:231
+#: ../lib/rabbit/command/rabbit.rb:241
 msgid "Format: WIDTHxHEIGHT+X+Y"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:238
+#: ../lib/rabbit/command/rabbit.rb:248
 msgid "Set window width to [WIDTH]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:245
+#: ../lib/rabbit/command/rabbit.rb:255
 msgid "Set window height to [HEIGHT]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:250
+#: ../lib/rabbit/command/rabbit.rb:260
 msgid ""
 "Set window width and height to\n"
 "[WIDTH] and [HEIGHT]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:263
+#: ../lib/rabbit/command/rabbit.rb:273
 msgid "Save"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:266
+#: ../lib/rabbit/command/rabbit.rb:276
 msgid "Save as image and exit."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:271
+#: ../lib/rabbit/command/rabbit.rb:281
 msgid "Specify saved image type as [TYPE]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:278
+#: ../lib/rabbit/command/rabbit.rb:288
 msgid "Specify saved image base name as [BASE_NAME]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:279
-#: ../lib/rabbit/command/rabbit.rb:317
+#: ../lib/rabbit/command/rabbit.rb:289 ../lib/rabbit/command/rabbit.rb:327
 msgid "Title of slide"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:284
+#: ../lib/rabbit/command/rabbit.rb:294
 msgid "Output HTML for viewing saved images."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:290
+#: ../lib/rabbit/command/rabbit.rb:300
 msgid "Output index HTML for navigating slides."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:296
+#: ../lib/rabbit/command/rabbit.rb:306
 msgid "Specify base URI of RSS as [URI]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:297
+#: ../lib/rabbit/command/rabbit.rb:307
 msgid "RSS is generated only when HTML is output."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:303
+#: ../lib/rabbit/command/rabbit.rb:313
 msgid "Specify source filenam as [FILENAME]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:311
+#: ../lib/rabbit/command/rabbit.rb:321
 msgid "Print and exit."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:316
+#: ../lib/rabbit/command/rabbit.rb:326
 msgid "Specify printed out filename as [FILENAME]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:323
+#: ../lib/rabbit/command/rabbit.rb:333
 msgid "Set slides per page."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:329
+#: ../lib/rabbit/command/rabbit.rb:339
 msgid "Draw scaled image."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:330
+#: ../lib/rabbit/command/rabbit.rb:340
 msgid "Better look for displaying but lesser look for printing."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:335
+#: ../lib/rabbit/command/rabbit.rb:345
 msgid "Paper"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:339
+#: ../lib/rabbit/command/rabbit.rb:349
 msgid "Set paper width to [WIDTH] Pt."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:340
+#: ../lib/rabbit/command/rabbit.rb:350
 msgid "(landscape A4 width)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:346
+#: ../lib/rabbit/command/rabbit.rb:356
 msgid "Set paper height to [HEIGHT] Pt."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:347
+#: ../lib/rabbit/command/rabbit.rb:357
 msgid "(landscape A4 height)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:351
+#: ../lib/rabbit/command/rabbit.rb:361
 msgid ""
 "Set paper width and height to\n"
 "[WIDTH] Pt and [HEIGHT] Pt."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:353
+#: ../lib/rabbit/command/rabbit.rb:363
 msgid "(landscape A4 size)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:363
+#: ../lib/rabbit/command/rabbit.rb:373
 msgid "Margin"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:367
+#: ../lib/rabbit/command/rabbit.rb:377
 msgid "Set left margin for slides per page mode print."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:374
+#: ../lib/rabbit/command/rabbit.rb:384
 msgid "Set right margin for slides per page mode print."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:381
+#: ../lib/rabbit/command/rabbit.rb:391
 msgid "Set top margin for slides per page mode print."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:388
+#: ../lib/rabbit/command/rabbit.rb:398
 msgid "Set bottom margin for slides per page mode print."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:393
+#: ../lib/rabbit/command/rabbit.rb:403
 msgid "[ALL]"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:394
+#: ../lib/rabbit/command/rabbit.rb:404
 msgid "[TOP_BOTTOM],[LEFT_RIGHT]"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:395
+#: ../lib/rabbit/command/rabbit.rb:405
 msgid "[TOP],[LEFT_RIGHT],[BOTTOM]"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:396
+#: ../lib/rabbit/command/rabbit.rb:406
 msgid "[TOP],[RIGHT],[BOTTOM],[LEFT]"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:399
+#: ../lib/rabbit/command/rabbit.rb:409
 msgid "Set margin for slides per page mode print."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:413
+#: ../lib/rabbit/command/rabbit.rb:423
 msgid "Set left page margin."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:420
+#: ../lib/rabbit/command/rabbit.rb:430
 msgid "Set right page margin."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:427
+#: ../lib/rabbit/command/rabbit.rb:437
 msgid "Set top page margin."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:434
+#: ../lib/rabbit/command/rabbit.rb:444
 msgid "Set bottom page margin."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:441
+#: ../lib/rabbit/command/rabbit.rb:451
 msgid "Set page margin."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:453
+#: ../lib/rabbit/command/rabbit.rb:463
 msgid "dRuby"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:456
+#: ../lib/rabbit/command/rabbit.rb:466
 msgid "Specify whether to use dRuby."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:462
+#: ../lib/rabbit/command/rabbit.rb:472
 msgid "Specify dRuby URI."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:468
+#: ../lib/rabbit/command/rabbit.rb:478
 msgid "Specify whether to output dRuby URI."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:473
+#: ../lib/rabbit/command/rabbit.rb:483
 msgid "SOAP"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:476
+#: ../lib/rabbit/command/rabbit.rb:486
 msgid "Specify whether to use SOAP."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:482
+#: ../lib/rabbit/command/rabbit.rb:492
 msgid "Specify SOAP host as [HOST]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:489
+#: ../lib/rabbit/command/rabbit.rb:499
 msgid "Specify SOAP port as [PORT]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:494
+#: ../lib/rabbit/command/rabbit.rb:504
 msgid "XML-RPC"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:497
+#: ../lib/rabbit/command/rabbit.rb:507
 msgid "Specify whether to use XML-RPC."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:503
+#: ../lib/rabbit/command/rabbit.rb:513
 msgid "Specify XML-RPC host as [HOST]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:510
+#: ../lib/rabbit/command/rabbit.rb:520
 msgid "Specify XML-RPC port as [PORT]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:515
-msgid "Server"
-msgstr ""
-
-#: ../lib/rabbit/command/rabbit.rb:518
-msgid "Specify whether to run as server."
-msgstr ""
-
-#: ../lib/rabbit/command/rabbit.rb:523
+#: ../lib/rabbit/command/rabbit.rb:525
 msgid "Public level"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:530
+#: ../lib/rabbit/command/rabbit.rb:532
 msgid "Specify public level."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:531
+#: ../lib/rabbit/command/rabbit.rb:533
 msgid "Select from the following:"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:540
-#: ../lib/rabbit/command/rabbit.rb:565
-#: ../lib/rabbit/command/rabbit.rb:572
+#: ../lib/rabbit/command/rabbit.rb:542 ../lib/rabbit/command/rabbit.rb:567 ../lib/rabbit/command/rabbit.rb:574
 msgid "(%s)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:545
-#: ../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:547 ../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:548
-#: ../lib/rabbit/command/rabbit.rb:554
+#: ../lib/rabbit/command/rabbit.rb:550 ../lib/rabbit/command/rabbit.rb:556
 msgid "Deprecated. Just ignored."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:549
+#: ../lib/rabbit/command/rabbit.rb:551
 msgid "Specify initial comment source."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:550
+#: ../lib/rabbit/command/rabbit.rb:552
 msgid "(default source)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:555
+#: ../lib/rabbit/command/rabbit.rb:557
 msgid "Specify comment source encoding."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:559
+#: ../lib/rabbit/command/rabbit.rb:561
 msgid "Migemo"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:564
+#: ../lib/rabbit/command/rabbit.rb:566
 msgid "Specify search paths for Migemo static dictionary."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:571
+#: ../lib/rabbit/command/rabbit.rb:573
 msgid "Specify static dictionary name for Migemo."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:576
+#: ../lib/rabbit/command/rabbit.rb:578
 msgid "3D"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:579
+#: ../lib/rabbit/command/rabbit.rb:581
 msgid "Specify whether to use OpenGL if available."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:584
+#: ../lib/rabbit/command/rabbit.rb:586
 msgid "Display"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:587
+#: ../lib/rabbit/command/rabbit.rb:589
 msgid "Specify whether to keep above window."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:592
+#: ../lib/rabbit/command/rabbit.rb:594
 msgid "Others"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:595
+#: ../lib/rabbit/command/rabbit.rb:597
+msgid "Check slide source syntax and exit."
+msgstr ""
+
+#: ../lib/rabbit/command/rabbit.rb:602
 msgid "Show a native window ID of the Rabbit window if available."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:596
+#: ../lib/rabbit/command/rabbit.rb:603
 msgid "e.g. The ID is the ID of X resource on X window system."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:637
+#: ../lib/rabbit/command/rabbit.rb:644
 msgid "Choose a Rabbit source file"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:753
+#: ../lib/rabbit/command/rabbit.rb:762
 msgid "dRuby URI <%s> is in use."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:772
+#: ../lib/rabbit/command/rabbit.rb:781
 msgid "port <%s> for SOAP is in use."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:793
+#: ../lib/rabbit/command/rabbit.rb:802
 msgid "port <%s> for XML-RPC is in use."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:854
+#: ../lib/rabbit/command/rabbit.rb:863
 msgid "Window ID: %d"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:900
-msgid "going to shutdown..."
-msgstr ""
-
-#: ../lib/rabbit/command/rabbit.rb:902
-msgid "DRb.thread done."
-msgstr ""
-
-#: ../lib/rabbit/command/rabbit.rb:185 ../lib/rabbit/console.rb:165
-#: ../lib/rabbit/console.rb:182
-msgid "Select from [%s]."
-msgstr ""
-
-#: ../lib/rabbit/command/rabbit.rb:308 ../lib/rabbit/action/basic.rb:83
-msgid "Print"
-msgstr ""
-
 #: ../lib/rabbit/console.rb:114
 msgid "Usage: %s [options]"
 msgstr ""
@@ -1169,11 +1034,82 @@ msgstr ""
 msgid "Show version."
 msgstr ""
 
-#: ../lib/rabbit/element/index-slide.rb:103
-#: ../lib/rabbit/html/generator.rb:393
+#: ../lib/rabbit/element/index-slide.rb:103 ../lib/rabbit/html/generator.rb:393
 msgid "Index"
 msgstr ""
 
+#: ../lib/rabbit/error.rb:30
+msgid "no such file: %s"
+msgstr ""
+
+#: ../lib/rabbit/error.rb:40
+msgid "can't handle %s because the following command can't be run successfully: %s"
+msgstr ""
+
+#: ../lib/rabbit/error.rb:50
+msgid "tried gs commands: %s"
+msgstr ""
+
+#: ../lib/rabbit/error.rb:58
+msgid "tried dia commands: %s"
+msgstr ""
+
+#: ../lib/rabbit/error.rb:66
+msgid "tried gimp commands: %s"
+msgstr ""
+
+#: ../lib/rabbit/error.rb:94
+msgid "Unknown property: %s"
+msgstr ""
+
+#: ../lib/rabbit/error.rb:102
+msgid "can't allocate color: %s"
+msgstr ""
+
+#: ../lib/rabbit/error.rb:113
+msgid "not exist: %s"
+msgstr ""
+
+#: ../lib/rabbit/error.rb:121
+msgid "not a file: %s"
+msgstr ""
+
+#: ../lib/rabbit/error.rb:129
+msgid "can not be read: %s"
+msgstr ""
+
+#: ../lib/rabbit/error.rb:137
+msgid "immutable source type: %s"
+msgstr ""
+
+#: ../lib/rabbit/error.rb:156
+msgid "not available interface: %s"
+msgstr ""
+
+#: ../lib/rabbit/error.rb:164
+msgid "can't find HTML template: %s"
+msgstr ""
+
+#: ../lib/rabbit/error.rb:172
+msgid "can't find theme RD template: %s"
+msgstr ""
+
+#: ../lib/rabbit/error.rb:180
+msgid "invalid motion: %s"
+msgstr ""
+
+#: ../lib/rabbit/error.rb:195
+msgid "invalid value of size property \"%{prop_name}\" of image \"%{filename}\": %{value}"
+msgstr ""
+
+#: ../lib/rabbit/error.rb:216
+msgid "unknown cursor type: %s"
+msgstr ""
+
+#: ../lib/rabbit/error.rb:222
+msgid "print isn't supported"
+msgstr ""
+
 #: ../lib/rabbit/gem-finder.rb:46
 msgid "Installing gem: %s"
 msgstr ""
@@ -1182,7 +1118,11 @@ msgstr ""
 msgid "Installing gem in user install mode: %s"
 msgstr ""
 
-#: ../lib/rabbit/graffiti/config-dialog.rb:48
+#: ../lib/rabbit/gem-pusher.rb:57
+msgid "Enter password on RubyGems.org [%{user}]: "
+msgstr ""
+
+#: ../lib/rabbit/graffiti/config-dialog.rb:50
 msgid "Line width:"
 msgstr ""
 
@@ -1198,24 +1138,23 @@ msgstr ""
 msgid "Slide"
 msgstr ""
 
-#: ../lib/rabbit/html/generator.rb:400
-#: ../lib/rabbit/theme/pdf/property.rb:2
+#: ../lib/rabbit/html/generator.rb:400 ../lib/rabbit/theme/pdf/property.rb:2
 msgid "PDF"
 msgstr ""
 
-#: ../lib/rabbit/image/pdf.rb:53
+#: ../lib/rabbit/image/pdf.rb:48
 msgid "invalid PDF page number: <%s>"
 msgstr ""
 
-#: ../lib/rabbit/image/pdf.rb:58
+#: ../lib/rabbit/image/pdf.rb:53
 msgid "%s page doesn't exist in PDF"
 msgstr ""
 
-#: ../lib/rabbit/info-window.rb:98
+#: ../lib/rabbit/info-window.rb:105
 msgid "%s: Information window"
 msgstr ""
 
-#: ../lib/rabbit/info-window.rb:224
+#: ../lib/rabbit/info-window.rb:282
 msgid "unlimited"
 msgstr ""
 
@@ -1243,15 +1182,15 @@ msgstr ""
 msgid "UNKNOWN"
 msgstr ""
 
-#: ../lib/rabbit/logger/gui.rb:72
+#: ../lib/rabbit/logger/gui.rb:69
 msgid "Rabbit Error Dialog"
 msgstr ""
 
-#: ../lib/rabbit/logger/stderr.rb:16
+#: ../lib/rabbit/logger/stderr.rb:15
 msgid "can't convert to current locale from UTF-8: %s"
 msgstr ""
 
-#: ../lib/rabbit/menu.rb:61
+#: ../lib/rabbit/menu.rb:77
 msgid "Jump to the %dth slide"
 msgstr ""
 
@@ -1259,11 +1198,11 @@ msgstr ""
 msgid "unsupported format. (supported: %s)"
 msgstr ""
 
-#: ../lib/rabbit/parser/ext/aafigure.rb:24
+#: ../lib/rabbit/parser/ext/aafigure.rb:26
 msgid "tried aafigure command: %s"
 msgstr ""
 
-#: ../lib/rabbit/parser/ext/blockdiag.rb:28
+#: ../lib/rabbit/parser/ext/blockdiag.rb:30
 msgid "tried blockdiag command: %s"
 msgstr ""
 
@@ -1283,19 +1222,31 @@ msgstr ""
 msgid "tried mimeTeX commands: %s"
 msgstr ""
 
-#: ../lib/rabbit/parser/markdown/converter.rb:132
+#: ../lib/rabbit/parser/markdown/converter.rb:170 ../test/parser/test-markdown.rb:340
 msgid "multiple ![alt]{image} in a paragraph isn't supported."
 msgstr ""
 
-#: ../lib/rabbit/parser/markdown/converter.rb:225
+#: ../lib/rabbit/parser/markdown/converter.rb:294 ../test/parser/test-markdown.rb:354
+msgid "horizontal rule isn't supported."
+msgstr ""
+
+#: ../lib/rabbit/parser/markdown/converter.rb:356
 msgid "multiple ![]('XXX.png'){:align='right'} isn't supported."
 msgstr ""
 
-#: ../lib/rabbit/parser/rd/ext/block-verbatim.rb:48
+#: ../lib/rabbit/parser/markdown/converter.rb:412 ../test/parser/test-markdown.rb:367
+msgid "tag name is missing."
+msgstr ""
+
+#: ../lib/rabbit/parser/markdown/converter.rb:426
+msgid "HTML isn't supported."
+msgstr ""
+
+#: ../lib/rabbit/parser/rd/ext/block-verbatim.rb:61
 msgid "multiple 'align = right' isn't supported."
 msgstr ""
 
-#: ../lib/rabbit/parser/rd/ext/block-verbatim.rb:141
+#: ../lib/rabbit/parser/rd/ext/block-verbatim.rb:154
 msgid "RTtool isn't available"
 msgstr ""
 
@@ -1303,16 +1254,20 @@ msgstr ""
 msgid "[BUG] [%s] %s extension isn't available."
 msgstr ""
 
-#: ../lib/rabbit/parser/wiki/output.rb:88
+#: ../lib/rabbit/parser/wiki/output.rb:105
 msgid "horizontal rule is unsupported"
 msgstr ""
 
-#: ../lib/rabbit/parser/wiki/output.rb:338
+#: ../lib/rabbit/parser/wiki/output.rb:355
 msgid "unsupported list type: %s"
 msgstr ""
 
-#: ../lib/rabbit/parser/wiki/output.rb:437
-msgid "multiple {{image, 'XXX.png', :align => :right}} isn't supported."
+#: ../lib/rabbit/parser/wiki/output.rb:388 ../test/parser/test-wiki.rb:46
+msgid "inline {{image(...)}} isn't supported."
+msgstr ""
+
+#: ../lib/rabbit/parser/wiki/output.rb:464 ../test/parser/test-wiki.rb:66
+msgid "multiple {{image(..., :align => :right)}} isn't supported."
 msgstr ""
 
 #: ../lib/rabbit/path-manipulatable.rb:28
@@ -1323,114 +1278,40 @@ msgstr ""
 msgid "Creating file:      %s"
 msgstr ""
 
-#: ../lib/rabbit/rabbit.rb:60
-msgid "no such file: %s"
-msgstr ""
-
-#: ../lib/rabbit/rabbit.rb:70
-msgid "can't handle %s because the following command can't be run successfully: %s"
-msgstr ""
-
-#: ../lib/rabbit/rabbit.rb:80
-msgid "tried gs commands: %s"
-msgstr ""
-
-#: ../lib/rabbit/rabbit.rb:88
-msgid "tried dia commands: %s"
-msgstr ""
-
-#: ../lib/rabbit/rabbit.rb:96
-msgid "tried gimp commands: %s"
-msgstr ""
-
-#: ../lib/rabbit/rabbit.rb:124
-msgid "Unknown property: %s"
-msgstr ""
-
-#: ../lib/rabbit/rabbit.rb:132
-msgid "can't allocate color: %s"
-msgstr ""
-
-#: ../lib/rabbit/rabbit.rb:143
-msgid "not exist: %s"
-msgstr ""
-
-#: ../lib/rabbit/rabbit.rb:151
-msgid "not a file: %s"
-msgstr ""
-
-#: ../lib/rabbit/rabbit.rb:159
-msgid "can not be read: %s"
-msgstr ""
-
-#: ../lib/rabbit/rabbit.rb:167
-msgid "immutable source type: %s"
-msgstr ""
-
-#: ../lib/rabbit/rabbit.rb:186
-msgid "not available interface: %s"
-msgstr ""
-
-#: ../lib/rabbit/rabbit.rb:194
-msgid "can't find HTML template: %s"
-msgstr ""
-
-#: ../lib/rabbit/rabbit.rb:202
-msgid "can't find theme RD template: %s"
-msgstr ""
-
-#: ../lib/rabbit/rabbit.rb:210
-msgid "invalid motion: %s"
-msgstr ""
-
-#: ../lib/rabbit/rabbit.rb:225
-msgid "invalid value of size property \"%{prop_name}\" of image \"%{filename}\": %{value}"
-msgstr ""
-
-#: ../lib/rabbit/rabbit.rb:246
-msgid "unknown cursor type: %s"
-msgstr ""
-
-#: ../lib/rabbit/rabbit.rb:252
-msgid "print isn't supported"
-msgstr ""
-
 #: ../lib/rabbit/readme-parser.rb:35
 msgid "No README found"
 msgstr ""
 
-#: ../lib/rabbit/renderer/base.rb:385
+#: ../lib/rabbit/renderer/base.rb:377
 msgid "%s does not support: %s"
 msgstr ""
 
-#: ../lib/rabbit/renderer/print/cairo.rb:130
+#: ../lib/rabbit/renderer/print/cairo.rb:114
 msgid "can't find printer for %s"
 msgstr ""
 
-#: ../lib/rabbit/slide-configuration.rb:50
-#: ../lib/rabbit/theme-configuration.rb:48
+#: ../lib/rabbit/slide-configuration.rb:54 ../lib/rabbit/theme-configuration.rb:48
 msgid "Failed to read slide configuration: %s: %s"
 msgstr ""
 
-#: ../lib/rabbit/slide-configuration.rb:60
-#: ../lib/rabbit/theme-configuration.rb:58
+#: ../lib/rabbit/slide-configuration.rb:64 ../lib/rabbit/theme-configuration.rb:58
 msgid "Failed to write slide configuration: %s: %s"
 msgstr ""
 
-#: ../lib/rabbit/slideshare.rb:61
+#: ../lib/rabbit/slideshare.rb:62
 msgid "Feailed to upload: %s"
 msgstr ""
 
-#: ../lib/rabbit/slideshare.rb:68
+#: ../lib/rabbit/slideshare.rb:69
 msgid "Feailed to edit title: %s"
 msgstr ""
 
-#: ../lib/rabbit/slideshare.rb:76
+#: ../lib/rabbit/slideshare.rb:77
 msgid "Feailed to get slide URL: %s"
 msgstr ""
 
-#: ../lib/rabbit/slideshare.rb:141
-msgid "Enter password on SlideShare"
+#: ../lib/rabbit/slideshare.rb:146
+msgid "Enter password on SlideShare [%{user}]: "
 msgstr ""
 
 #: ../lib/rabbit/source/argf.rb:10
@@ -1453,7 +1334,7 @@ msgstr ""
 msgid "[USER] and [TITLE]"
 msgstr ""
 
-#: ../lib/rabbit/source/uri.rb:25
+#: ../lib/rabbit/source/uri.rb:27
 msgid "URI"
 msgstr ""
 
@@ -1461,67 +1342,63 @@ msgstr ""
 msgid "Rabbit"
 msgstr ""
 
-#: ../lib/rabbit/task/slide.rb:92
+#: ../lib/rabbit/task/slide.rb:94
 msgid "To run rabbit, create '%{options_path}'!"
 msgstr ""
 
-#: ../lib/rabbit/task/slide.rb:96
+#: ../lib/rabbit/task/slide.rb:98
 msgid "Show slide"
 msgstr ""
 
-#: ../lib/rabbit/task/slide.rb:151
-msgid "Publish the slide to all available targets"
+#: ../lib/rabbit/task/slide.rb:110 ../lib/rabbit/task/theme.rb:106
+msgid "Create gem: %{gem_path}"
 msgstr ""
 
-#: ../lib/rabbit/task/slide.rb:195
-msgid "Uploaded successfully!"
+#: ../lib/rabbit/task/slide.rb:122 ../lib/rabbit/task/theme.rb:118
+msgid "Write %{item} in %{where}: %{content}"
 msgstr ""
 
-#: ../lib/rabbit/task/slide.rb:196
-msgid "See %s"
+#: ../lib/rabbit/task/slide.rb:148 ../lib/rabbit/task/theme.rb:158
+msgid "Generate PDF: %{pdf_path}"
 msgstr ""
 
-#: ../lib/rabbit/task/slide.rb:207
-#: ../lib/rabbit/task/slide.rb:175 ../lib/rabbit/task/slide.rb:183
-msgid "Publish the slide to %s"
+#: ../lib/rabbit/task/slide.rb:153
+msgid "Publish the slide to all available targets"
 msgstr ""
 
-#: ../lib/rabbit/task/theme.rb:93
-msgid "Show theme benchmark slide with this theme"
+#: ../lib/rabbit/task/slide.rb:177 ../lib/rabbit/task/slide.rb:186 ../lib/rabbit/task/slide.rb:210
+msgid "Publish the slide to %s"
 msgstr ""
 
-#: ../lib/rabbit/task/theme.rb:137
-msgid "Generate all PDFs"
+#: ../lib/rabbit/task/slide.rb:198
+msgid "Uploaded successfully!"
 msgstr ""
 
-#: ../lib/rabbit/task/theme.rb:165
-msgid "Publish the theme to all available targets"
+#: ../lib/rabbit/task/slide.rb:199
+msgid "See %s"
 msgstr ""
 
-#: ../lib/rabbit/task/theme.rb:171
-msgid "Publish the theme to %s"
+#: ../lib/rabbit/task/theme.rb:94
+msgid "Show theme benchmark slide with this theme"
 msgstr ""
 
-#: ../lib/rabbit/task/theme.rb:105 ../lib/rabbit/task/slide.rb:108
-msgid "Create gem: %{gem_path}"
+#: ../lib/rabbit/task/theme.rb:138
+msgid "Generate all PDFs"
 msgstr ""
 
-#: ../lib/rabbit/task/theme.rb:117 ../lib/rabbit/task/slide.rb:120
-msgid "Write %{item} in %{where}: %{content}"
+#: ../lib/rabbit/task/theme.rb:166
+msgid "Publish the theme to all available targets"
 msgstr ""
 
-#: ../lib/rabbit/task/theme.rb:157 ../lib/rabbit/task/slide.rb:146
-msgid "Generate PDF: %{pdf_path}"
+#: ../lib/rabbit/task/theme.rb:173
+msgid "Publish the theme to %s"
 msgstr ""
 
-#: ../lib/rabbit/theme/applier.rb:604
-#: ../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 ""
 
-#: ../lib/rabbit/theme/auto-slide/property.rb:1
-#: ../lib/rabbit/theme/slide-background/property.rb:1
+#: ../lib/rabbit/theme/auto-slide/property.rb:1 ../lib/rabbit/theme/slide-background/property.rb:1
 msgid "Backward compatibility"
 msgstr ""
 
@@ -1537,72 +1414,7 @@ msgstr ""
 msgid "See ((<slide-show>))"
 msgstr ""
 
-#: ../lib/rabbit/theme/base/property.rb:1
-#: ../lib/rabbit/theme/color-circle-block-quote/property.rb:1
-#: ../lib/rabbit/theme/color-circle-common/property.rb:1
-#: ../lib/rabbit/theme/color-circle-description/property.rb:1
-#: ../lib/rabbit/theme/color-circle-foot-text/property.rb:1
-#: ../lib/rabbit/theme/color-circle-item-mark/property.rb:1
-#: ../lib/rabbit/theme/color-circle-method-list/property.rb:1
-#: ../lib/rabbit/theme/color-circle-preformatted/property.rb:1
-#: ../lib/rabbit/theme/color-circle-slide/property.rb:1
-#: ../lib/rabbit/theme/color-circle-text/property.rb:1
-#: ../lib/rabbit/theme/color-circle-title-slide/property.rb:1
-#: ../lib/rabbit/theme/color-circle-title-text/property.rb:1
-#: ../lib/rabbit/theme/color-circle/property.rb:1
-#: ../lib/rabbit/theme/cozmixng-powered-by/property.rb:1
-#: ../lib/rabbit/theme/default-block-quote/property.rb:1
-#: ../lib/rabbit/theme/default-comment/property.rb:1
-#: ../lib/rabbit/theme/default-description/property.rb:1
-#: ../lib/rabbit/theme/default-foot-text/property.rb:1
-#: ../lib/rabbit/theme/default-icon/property.rb:1
-#: ../lib/rabbit/theme/default-item-mark-setup/property.rb:1
-#: ../lib/rabbit/theme/default-item-mark/property.rb:1
-#: ../lib/rabbit/theme/default-method-list/property.rb:1
-#: ../lib/rabbit/theme/default-preformatted/property.rb:1
-#: ../lib/rabbit/theme/default-slide/property.rb:1
-#: ../lib/rabbit/theme/default-text/property.rb:1
-#: ../lib/rabbit/theme/default-title-slide/property.rb:1
-#: ../lib/rabbit/theme/default-title-text/property.rb:1
-#: ../lib/rabbit/theme/edge-info-toolkit/property.rb:1
-#: ../lib/rabbit/theme/emphasize-keyword/property.rb:1
-#: ../lib/rabbit/theme/footer-logo/property.rb:1
-#: ../lib/rabbit/theme/headline-logo/property.rb:1
-#: ../lib/rabbit/theme/icon/property.rb:1
-#: ../lib/rabbit/theme/image-slide-number/property.rb:1
-#: ../lib/rabbit/theme/image/property.rb:1
-#: ../lib/rabbit/theme/lightning-talk-toolkit/property.rb:1
-#: ../lib/rabbit/theme/per-slide-background-color/property.rb:1
-#: ../lib/rabbit/theme/per-slide-background-image/property.rb:1
-#: ../lib/rabbit/theme/powered-by/property.rb:1
-#: ../lib/rabbit/theme/rabbit-block-quote/property.rb:1
-#: ../lib/rabbit/theme/rabbit-headline-logo/property.rb:1
-#: ../lib/rabbit/theme/rabbit-icon/property.rb:1
-#: ../lib/rabbit/theme/rabbit-item-mark/property.rb:1
-#: ../lib/rabbit/theme/rabbit-powered-by/property.rb:1
-#: ../lib/rabbit/theme/rabbit-title-logo/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2-description/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2-foot-text/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2-headline/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2-icon/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2-item-mark/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2-preformatted/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2-slide/property.rb:1
-#: ../lib/rabbit/theme/simple-item-mark/property.rb:1
-#: ../lib/rabbit/theme/slide-background-image/property.rb:1
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:1
-#: ../lib/rabbit/theme/slide-header-info/property.rb:1
-#: ../lib/rabbit/theme/slide-logo/property.rb:1
-#: ../lib/rabbit/theme/slide-number/property.rb:1
-#: ../lib/rabbit/theme/syntax-highlighting/property.rb:1
-#: ../lib/rabbit/theme/table/property.rb:1
-#: ../lib/rabbit/theme/tag/property.rb:1
-#: ../lib/rabbit/theme/title-background-color/property.rb:1
-#: ../lib/rabbit/theme/title-background-image/property.rb:1
-#: ../lib/rabbit/theme/title-logo/property.rb:1
-#: ../lib/rabbit/theme/title-on-image-toolkit/property.rb:1
-#: ../lib/rabbit/theme/title-shadow/property.rb:1
-#: ../lib/rabbit/theme/title-slide-background-image/property.rb:1
+#: ../lib/rabbit/theme/base/property.rb:1 ../lib/rabbit/theme/color-circle-block-quote/property.rb:1 ../lib/rabbit/theme/color-circle-common/property.rb:1 ../lib/rabbit/theme/color-circle-description/property.rb:1 ../lib/rabbit/theme/color-circle-foot-text/property.rb:1 ../lib/rabbit/theme/color-circle-item-mark/property.rb:1 ../lib/rabbit/theme/color-circle-method-list/property.rb:1 ../lib/rabbit/theme/color-circle-preformatted/property.rb:1 ../lib/rabbit/theme/color-circle-slide/proper [...]
 msgid "Toolkit"
 msgstr ""
 
@@ -1650,10 +1462,7 @@ msgstr ""
 msgid "Clear blue theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/clock/property.rb:1
-#: ../lib/rabbit/theme/image-timer/property.rb:1
-#: ../lib/rabbit/theme/slide-show/property.rb:1
-#: ../lib/rabbit/theme/timer/property.rb:1
+#: ../lib/rabbit/theme/clock/property.rb:1 ../lib/rabbit/theme/image-timer/property.rb:1 ../lib/rabbit/theme/slide-show/property.rb:1 ../lib/rabbit/theme/timer/property.rb:1
 msgid "Time"
 msgstr ""
 
@@ -1673,11 +1482,7 @@ msgstr ""
 msgid "Properties for the clock, such as font family."
 msgstr ""
 
-#: ../lib/rabbit/theme/clock/property.rb:17
-#: ../lib/rabbit/theme/image-slide-number/property.rb:60
-#: ../lib/rabbit/theme/show-frame/property.rb:12
-#: ../lib/rabbit/theme/slide-number/property.rb:17
-#: ../lib/rabbit/theme/title-logo/property.rb:19
+#: ../lib/rabbit/theme/clock/property.rb:17 ../lib/rabbit/theme/image-slide-number/property.rb:60 ../lib/rabbit/theme/show-frame/property.rb:12 ../lib/rabbit/theme/slide-number/property.rb:17 ../lib/rabbit/theme/title-logo/property.rb:19
 msgid "Whether uninstalling this toolkit or not. This option is useful for cases you do not want to make the toolkit work for certain slides."
 msgstr ""
 
@@ -1897,6 +1702,18 @@ msgstr ""
 msgid "Uses pink circle and polygon as icons."
 msgstr ""
 
+#: ../lib/rabbit/theme/default-item-mark-setup/default-item-mark-setup.rb:31
+msgid ""
+"unknown item mark type: %s\n"
+"Rectangle type is used as fallback"
+msgstr ""
+
+#: ../lib/rabbit/theme/default-item-mark-setup/default-item-mark-setup.rb:81
+msgid ""
+"unknown enumeration item mark type: %s\n"
+"Numeric type is used as fallback"
+msgstr ""
+
 #: ../lib/rabbit/theme/default-item-mark-setup/property.rb:2
 msgid "Default Item Mark Setup"
 msgstr ""
@@ -2053,25 +1870,11 @@ msgstr ""
 msgid "Displays an image as a logo at the footer of slides."
 msgstr ""
 
-#: ../lib/rabbit/theme/footer-logo/property.rb:7
-#: ../lib/rabbit/theme/headline-logo/property.rb:7
-#: ../lib/rabbit/theme/slide-background-image/property.rb:7
-#: ../lib/rabbit/theme/slide-logo/property.rb:7
-#: ../lib/rabbit/theme/title-background-color/property.rb:7
-#: ../lib/rabbit/theme/title-background-image/property.rb:8
-#: ../lib/rabbit/theme/title-logo/property.rb:7
-#: ../lib/rabbit/theme/title-slide-background-image/property.rb:7
+#: ../lib/rabbit/theme/footer-logo/property.rb:7 ../lib/rabbit/theme/headline-logo/property.rb:7 ../lib/rabbit/theme/slide-background-image/property.rb:7 ../lib/rabbit/theme/slide-logo/property.rb:7 ../lib/rabbit/theme/title-background-color/property.rb:7 ../lib/rabbit/theme/title-background-image/property.rb:8 ../lib/rabbit/theme/title-logo/property.rb:7 ../lib/rabbit/theme/title-slide-background-image/property.rb:7
 msgid "(Must be specified.)"
 msgstr ""
 
-#: ../lib/rabbit/theme/footer-logo/property.rb:8
-#: ../lib/rabbit/theme/headline-logo/property.rb:8
-#: ../lib/rabbit/theme/icon/property.rb:22
-#: ../lib/rabbit/theme/slide-background-image/property.rb:8
-#: ../lib/rabbit/theme/slide-logo/property.rb:8
-#: ../lib/rabbit/theme/title-background-image/property.rb:9
-#: ../lib/rabbit/theme/title-logo/property.rb:8
-#: ../lib/rabbit/theme/title-slide-background-image/property.rb:8
+#: ../lib/rabbit/theme/footer-logo/property.rb:8 ../lib/rabbit/theme/headline-logo/property.rb:8 ../lib/rabbit/theme/icon/property.rb:22 ../lib/rabbit/theme/slide-background-image/property.rb:8 ../lib/rabbit/theme/slide-logo/property.rb:8 ../lib/rabbit/theme/title-background-image/property.rb:9 ../lib/rabbit/theme/title-logo/property.rb:8 ../lib/rabbit/theme/title-slide-background-image/property.rb:8
 msgid "Image file name."
 msgstr ""
 
@@ -2087,10 +1890,7 @@ msgstr ""
 msgid "Bottom margin of an image."
 msgstr ""
 
-#: ../lib/rabbit/theme/footer-logo/property.rb:24
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:41
-#: ../lib/rabbit/theme/slide-header-info/property.rb:41
-#: ../lib/rabbit/theme/slide-logo/property.rb:24
+#: ../lib/rabbit/theme/footer-logo/property.rb:24 ../lib/rabbit/theme/slide-footer-info/property.rb:41 ../lib/rabbit/theme/slide-header-info/property.rb:41 ../lib/rabbit/theme/slide-logo/property.rb:24
 msgid "Whether uninstall this theme or not."
 msgstr ""
 
@@ -2126,8 +1926,7 @@ msgstr ""
 msgid "Specifies an image or images as icons of the window, which will be used by some window managers and desktop environments, for example when the window is minimized (or 'iconified'), in the window frame, or when windows are switched. The specified image or images are automatically scaled to the icon sizes case by case. When several images are specified and they have different sizes, an image with the most similar size to that of icon among them is chosen and scaled in order to impro [...]
 msgstr ""
 
-#: ../lib/rabbit/theme/icon/property.rb:18
-#: ../lib/rabbit/theme/powered-by/property.rb:18
+#: ../lib/rabbit/theme/icon/property.rb:18 ../lib/rabbit/theme/powered-by/property.rb:18
 msgid "List of image file names."
 msgstr ""
 
@@ -2269,9 +2068,7 @@ msgstr ""
 msgid "Lightning Talk theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/mirror-effect/property.rb:1
-#: ../lib/rabbit/theme/rotate-zoom-effect/property.rb:1
-#: ../lib/rabbit/theme/scroll-effect/property.rb:1
+#: ../lib/rabbit/theme/mirror-effect/property.rb:1 ../lib/rabbit/theme/rotate-zoom-effect/property.rb:1 ../lib/rabbit/theme/scroll-effect/property.rb:1
 msgid "Effect"
 msgstr ""
 
@@ -2291,8 +2088,7 @@ msgstr ""
 msgid "Nari's theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/newline-in-slides/property.rb:1
-#: ../lib/rabbit/theme/newline-in-title/property.rb:1
+#: ../lib/rabbit/theme/newline-in-slides/property.rb:1 ../lib/rabbit/theme/newline-in-title/property.rb:1
 msgid "Convenience"
 msgstr ""
 
@@ -2300,8 +2096,7 @@ msgstr ""
 msgid "Newline in Slides"
 msgstr ""
 
-#: ../lib/rabbit/theme/newline-in-slides/property.rb:3
-#: ../lib/rabbit/theme/newline-in-title/property.rb:3
+#: ../lib/rabbit/theme/newline-in-slides/property.rb:3 ../lib/rabbit/theme/newline-in-title/property.rb:3
 msgid ""
 "Convenience '\n"
 "' newline notation."
@@ -2645,8 +2440,7 @@ msgstr ""
 msgid "See ((<slide-background-image>))"
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:2
-#: ../lib/rabbit/theme/slide-header-info/property.rb:2
+#: ../lib/rabbit/theme/slide-footer-info/property.rb:2 ../lib/rabbit/theme/slide-header-info/property.rb:2
 msgid "Slide Footer Info"
 msgstr ""
 
@@ -2658,18 +2452,15 @@ msgstr ""
 msgid "Displays information with a line at the footer of slides."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:8
-#: ../lib/rabbit/theme/slide-header-info/property.rb:8
+#: ../lib/rabbit/theme/slide-footer-info/property.rb:8 ../lib/rabbit/theme/slide-header-info/property.rb:8
 msgid "Line color."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:12
-#: ../lib/rabbit/theme/slide-header-info/property.rb:12
+#: ../lib/rabbit/theme/slide-footer-info/property.rb:12 ../lib/rabbit/theme/slide-header-info/property.rb:12
 msgid "Line width."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:15
-#: ../lib/rabbit/theme/slide-header-info/property.rb:15
+#: ../lib/rabbit/theme/slide-footer-info/property.rb:15 ../lib/rabbit/theme/slide-header-info/property.rb:15
 msgid "white <-> black gradation"
 msgstr ""
 
@@ -2677,28 +2468,23 @@ msgstr ""
 msgid "Line fill pattern. @slide_footer_info_line_color is ignored if this parameter is specified."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:21
-#: ../lib/rabbit/theme/slide-header-info/property.rb:21
+#: ../lib/rabbit/theme/slide-footer-info/property.rb:21 ../lib/rabbit/theme/slide-header-info/property.rb:21
 msgid "Text size."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:25
-#: ../lib/rabbit/theme/slide-header-info/property.rb:25
+#: ../lib/rabbit/theme/slide-footer-info/property.rb:25 ../lib/rabbit/theme/slide-header-info/property.rb:25
 msgid "x-axis margin."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:29
-#: ../lib/rabbit/theme/slide-header-info/property.rb:29
+#: ../lib/rabbit/theme/slide-footer-info/property.rb:29 ../lib/rabbit/theme/slide-header-info/property.rb:29
 msgid "Text color."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:33
-#: ../lib/rabbit/theme/slide-header-info/property.rb:33
+#: ../lib/rabbit/theme/slide-footer-info/property.rb:33 ../lib/rabbit/theme/slide-header-info/property.rb:33
 msgid "Whether show a text over line or not."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:37
-#: ../lib/rabbit/theme/slide-header-info/property.rb:37
+#: ../lib/rabbit/theme/slide-footer-info/property.rb:37 ../lib/rabbit/theme/slide-header-info/property.rb:37
 msgid "Base y-axis position to stroke line."
 msgstr ""
 
@@ -2738,8 +2524,7 @@ msgstr ""
 msgid "Image height."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-logo/slide-logo.rb:4
-#: ../lib/rabbit/theme/title-logo/title-logo.rb:4
+#: ../lib/rabbit/theme/slide-logo/slide-logo.rb:4 ../lib/rabbit/theme/title-logo/title-logo.rb:4
 msgid "must specify %s!!!"
 msgstr ""
 
@@ -2839,13 +2624,11 @@ msgstr ""
 msgid "TitleBackgroundImage"
 msgstr ""
 
-#: ../lib/rabbit/theme/title-background-image/property.rb:3
-#: ../lib/rabbit/theme/title-slide-background-image/property.rb:3
+#: ../lib/rabbit/theme/title-background-image/property.rb:3 ../lib/rabbit/theme/title-slide-background-image/property.rb:3
 msgid "Toolkit to display an image as a background of the title slide"
 msgstr ""
 
-#: ../lib/rabbit/theme/title-background-image/property.rb:5
-#: ../lib/rabbit/theme/title-slide-background-image/property.rb:4
+#: ../lib/rabbit/theme/title-background-image/property.rb:5 ../lib/rabbit/theme/title-slide-background-image/property.rb:4
 msgid "Displays an image as a background of the title slide."
 msgstr ""
 
diff --git a/po/fr/rabbit.po b/po/fr/rabbit.po
index 4073799..4d053f7 100644
--- a/po/fr/rabbit.po
+++ b/po/fr/rabbit.po
@@ -6,7 +6,6 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Rabbit 0.5.4\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-06-01 13:03+0900\n"
 "PO-Revision-Date: 2012-09-10 21:20+0900\n"
 "Last-Translator: Vincent Isambart <vincent.isambart at gmail.com>\n"
 "Language-Team: Vincent Isambart <vincent.isambart at gmail.com>\n"
@@ -16,415 +15,294 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 
-#: 
-#: ../lib/rabbit/theme/default-item-mark-setup/default-item-mark-setup.rb:81
-msgid ""
-"unknown enumeration item mark type: %s\n"
-"Numeric type is used as fallback"
-msgstr ""
-
-#: 
-#: ../lib/rabbit/theme/default-item-mark-setup/default-item-mark-setup.rb:31
-msgid ""
-"unknown item mark type: %s\n"
-"Rectangle type is used as fallback"
-msgstr ""
-
-#: ../bin/rabbit-command:18
 msgid "Specify Rabbit's dRuby URI as [URI]."
 msgstr ""
 
-#: ../bin/rabbit-command:23
 msgid "Move commands"
 msgstr ""
 
-#: ../bin/rabbit-command:25
 msgid "Move to previous"
 msgstr ""
 
-#: ../bin/rabbit-command:29
 msgid "Move to next"
 msgstr ""
 
-#: ../bin/rabbit-command:33
 msgid "Move to the previous slide"
 msgstr ""
 
-#: ../bin/rabbit-command:37
 msgid "Move to the next slide"
 msgstr ""
 
-#: ../bin/rabbit-command:41
 msgid "Move to the first slide"
 msgstr ""
 
-#: ../bin/rabbit-command:45
 msgid "Move to the last slide"
 msgstr ""
 
-#: ../bin/rabbit-command:49
 msgid "Move to the Nth slide"
 msgstr ""
 
-#: ../bin/rabbit-command:53
 msgid "Get commands"
 msgstr ""
 
-#: ../bin/rabbit-command:55
 msgid "Show source"
 msgstr ""
 
-#: ../bin/rabbit-command:59
 msgid "Show the current slide source as RD"
 msgstr ""
 
-#: ../bin/rabbit-command:63
 msgid "Control commands"
 msgstr ""
 
-#: ../bin/rabbit-command:65
 msgid "Toggle fullscreen"
 msgstr ""
 
-#: ../bin/rabbit-command:69
 msgid "Toggle index mode"
 msgstr ""
 
-#: ../bin/rabbit-command:73
 msgid "Toggle whiteout"
 msgstr ""
 
-#: ../bin/rabbit-command:77
 msgid "Toggle blackout"
 msgstr ""
 
-#: ../bin/rabbit-command:81
 msgid "Quit"
 msgstr ""
 
-#: ../data/rabbit/image/clear-blue-images/property.rb:1
-#: ../data/rabbit/image/cozmixng-images/property.rb:1
-#: ../data/rabbit/image/dark-gradation-images/property.rb:1
-#: ../data/rabbit/image/debian-images/property.rb:1
-#: ../data/rabbit/image/nari-images/property.rb:1
-#: ../data/rabbit/image/rabbit-images/property.rb:1
-#: ../data/rabbit/image/ruby-images/property.rb:1
-#: ../data/rabbit/image/rubykaigi2011-images/property.rb:1
-#: ../lib/rabbit/theme/image/property.rb:2
 msgid "Image"
 msgstr ""
 
-#: ../data/rabbit/image/clear-blue-images/property.rb:2
 msgid "Clear Blue Image"
 msgstr ""
 
-#: ../data/rabbit/image/clear-blue-images/property.rb:3
 msgid "Images related to ((<clear-blue>)) theme"
 msgstr ""
 
-#: ../data/rabbit/image/clear-blue-images/property.rb:4
 msgid "Provides images related to ((<clear-blue>)) theme."
 msgstr ""
 
-#: ../data/rabbit/image/cozmixng-images/property.rb:2
 msgid "COZMIXNGImage"
 msgstr ""
 
-#: ../data/rabbit/image/cozmixng-images/property.rb:3
 msgid "Images related to COZMIXNG"
 msgstr ""
 
-#: ../data/rabbit/image/cozmixng-images/property.rb:4
 msgid "Provides images related to COZMIXNG."
 msgstr ""
 
-#: ../data/rabbit/image/dark-gradation-images/property.rb:2
 msgid "Dark Gradation background Image"
 msgstr ""
 
-#: ../data/rabbit/image/dark-gradation-images/property.rb:3
 msgid "Images related to dark gradation"
 msgstr ""
 
-#: ../data/rabbit/image/dark-gradation-images/property.rb:4
 msgid "Provides images related to Dark Gradation theme"
 msgstr ""
 
-#: ../data/rabbit/image/debian-images/property.rb:2
 msgid "DebianImage"
 msgstr ""
 
-#: ../data/rabbit/image/debian-images/property.rb:3
 msgid "Images related to Debian"
 msgstr ""
 
-#: ../data/rabbit/image/debian-images/property.rb:4
 msgid "Provides images related to Debian"
 msgstr ""
 
-#: ../data/rabbit/image/nari-images/property.rb:2
 msgid "Nari Image"
 msgstr ""
 
-#: ../data/rabbit/image/nari-images/property.rb:3
 msgid "Images related to ((<nari>)) theme"
 msgstr ""
 
-#: ../data/rabbit/image/nari-images/property.rb:4
 msgid "Provides images related to ((<nari>)) theme."
 msgstr ""
 
-#: ../data/rabbit/image/rabbit-images/property.rb:2
 msgid "RabbitImage"
 msgstr ""
 
-#: ../data/rabbit/image/rabbit-images/property.rb:3
 msgid "Images related to Rabbit"
 msgstr ""
 
-#: ../data/rabbit/image/rabbit-images/property.rb:4
 msgid "Provides images related to Rabbit."
 msgstr ""
 
-#: ../data/rabbit/image/ruby-images/property.rb:2
 msgid "RubyImage"
 msgstr ""
 
-#: ../data/rabbit/image/ruby-images/property.rb:3
 msgid "Images related to Ruby"
 msgstr ""
 
-#: ../data/rabbit/image/ruby-images/property.rb:4
 msgid "Provides images related to Ruby."
 msgstr ""
 
-#: ../data/rabbit/image/rubykaigi2011-images/property.rb:2
 msgid "RubyKaigi2011Image"
 msgstr ""
 
-#: ../data/rabbit/image/rubykaigi2011-images/property.rb:3
 msgid "Images related to RubyKaigi2011"
 msgstr ""
 
-#: ../data/rabbit/image/rubykaigi2011-images/property.rb:4
 msgid "Provides images related to RubyKaigi2011."
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:8
 msgid "Next"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:16
 msgid "Previous"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:24
 msgid "Next slide"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:32
 msgid "Previous slide"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:40
 msgid "First slide"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:48
 msgid "Last slide"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:58
 msgid "Jump to"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:75
 msgid "Save as image"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:91
+msgid "Print"
+msgstr ""
+
 msgid "Iconify"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:102
 msgid "Change theme"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:112
 msgid "Merge theme"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:121
 msgid "Reload theme"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:129
 msgid "Redraw"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:137
 msgid "Clear slide"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:150
 msgid "_Quit"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:151
 msgid "_Quit with confirmation"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:158
 msgid "Now processing... Do you really quit?"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:175
 msgid "Cache all slides"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:182
 msgid "Graffiti"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:190
 msgid "Clear graffiti"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:198
 msgid "Undo graffiti"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:206
 msgid "Change graffiti color"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:224
 msgid "Reset adjustment"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:232
 msgid "Reset timer"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:240
 msgid "Expand hole"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:247
 msgid "Narrow hole"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:255
 msgid "Search slide forward"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:263
 msgid "Search slide backward"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:271
 msgid "Search slide forward next"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:279
 msgid "Search slide backward next"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:287
 msgid "Stop slide search"
 msgstr ""
 
-#: ../lib/rabbit/action/basic.rb:301
 msgid "Log Level"
 msgstr ""
 
-#: ../lib/rabbit/action/radio.rb:37
-#: ../lib/rabbit/command/rabbit-slide.rb:353
-#: ../lib/rabbit/command/rabbit-slide.rb:369
-#: ../lib/rabbit/command/rabbit-theme.rb:211
-#: ../lib/rabbit/command/rabbit-theme.rb:227
+msgid "Whiteout"
+msgstr ""
+
+msgid "Blackout"
+msgstr ""
+
 msgid "Show"
 msgstr ""
 
-#: ../lib/rabbit/action/radio.rb:48
-#: ../lib/rabbit/theme/show-frame/property.rb:1
 msgid "Debug"
 msgstr ""
 
-#: ../lib/rabbit/action/radio.rb:53
 msgid "Info"
 msgstr ""
 
-#: ../lib/rabbit/action/radio.rb:58
 msgid "Warning"
 msgstr ""
 
-#: ../lib/rabbit/action/radio.rb:63
 msgid "Error"
 msgstr ""
 
-#: ../lib/rabbit/action/radio.rb:68
 msgid "Fatal"
 msgstr ""
 
-#: ../lib/rabbit/action/radio.rb:73
 msgid "Unknown"
 msgstr ""
 
-#: ../lib/rabbit/action/radio.rb:27 ../lib/rabbit/action/toggle.rb:12
-msgid "Whiteout"
-msgstr ""
-
-#: ../lib/rabbit/action/radio.rb:32 ../lib/rabbit/action/toggle.rb:23
-msgid "Blackout"
-msgstr ""
-
-#: ../lib/rabbit/action/toggle.rb:30
 msgid "Index mode"
 msgstr ""
 
-#: ../lib/rabbit/action/toggle.rb:38
 msgid "Full screen"
 msgstr ""
 
-#: ../lib/rabbit/action/toggle.rb:50
 msgid "Graffiti mode"
 msgstr ""
 
-#: ../lib/rabbit/action/toggle.rb:58
 msgid "Information window"
 msgstr ""
 
-#: ../lib/rabbit/action/toggle.rb:65
 msgid "Spotlight"
 msgstr ""
 
-#: ../lib/rabbit/action/toggle.rb:72
 msgid "Magnifier"
 msgstr ""
 
-#: ../lib/rabbit/author-configuration.rb:42
 msgid "Failed to read author configuration: %s: %s"
 msgstr ""
 
-#: ../lib/rabbit/author-configuration.rb:52
 msgid "Failed to write author configuration: %s: %s"
 msgstr ""
 
-#: ../lib/rabbit/canvas.rb:607
 msgid "Unknown action: %s"
 msgstr ""
 
-#: ../lib/rabbit/canvas.rb:675
 msgid "Processing..."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:50
-#: ../lib/rabbit/command/rabbit-theme.rb:48
 msgid "See --help for example"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:76
 msgid ""
 "Usage: %s COMMAND [OPTIONS]\n"
 " e.g.: %s new \\\n"
@@ -438,216 +316,123 @@ msgid ""
 "          --speaker-deck-user kou"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:91
 msgid "COMMAND"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:92
 msgid "  new:    create a new slide"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:93
 msgid "  change: change an existing slide"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:96
 msgid "Slide information"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:99
 msgid "Slide ID"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:100
-#: ../lib/rabbit/command/rabbit-slide.rb:107
-#: ../lib/rabbit/command/rabbit-slide.rb:119
-#: ../lib/rabbit/command/rabbit-slide.rb:133
-#: ../lib/rabbit/command/rabbit-slide.rb:141
-#: ../lib/rabbit/command/rabbit-slide.rb:148
-#: ../lib/rabbit/command/rabbit-slide.rb:155
-#: ../lib/rabbit/command/rabbit-slide.rb:164
-#: ../lib/rabbit/command/rabbit-slide.rb:177
-#: ../lib/rabbit/command/rabbit-slide.rb:191
-#: ../lib/rabbit/command/rabbit-slide.rb:205
-#: ../lib/rabbit/command/rabbit-slide.rb:219
-#: ../lib/rabbit/command/rabbit-theme.rb:83
-#: ../lib/rabbit/command/rabbit-theme.rb:92
-#: ../lib/rabbit/command/rabbit-theme.rb:105
-#: ../lib/rabbit/command/rabbit-theme.rb:119
 msgid "(e.g.: %s)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:101
-#: ../lib/rabbit/command/rabbit-slide.rb:108
-#: ../lib/rabbit/command/rabbit-theme.rb:84
 msgid "(must)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:106
 msgid "Base name for the slide source file and generated PDF file"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:118
 msgid "Markup language for the new slide"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:120
 msgid "(available markup languages: %s)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:123
-#: ../lib/rabbit/command/rabbit-slide.rb:167
-#: ../lib/rabbit/command/rabbit-slide.rb:180
-#: ../lib/rabbit/command/rabbit-slide.rb:194
-#: ../lib/rabbit/command/rabbit-slide.rb:208
-#: ../lib/rabbit/command/rabbit-slide.rb:222
-#: ../lib/rabbit/command/rabbit-theme.rb:95
-#: ../lib/rabbit/command/rabbit-theme.rb:108
-#: ../lib/rabbit/command/rabbit-theme.rb:122
 msgid "(default: %s)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:125
-#: ../lib/rabbit/command/rabbit-slide.rb:134
-#: ../lib/rabbit/command/rabbit-slide.rb:142
-#: ../lib/rabbit/command/rabbit-slide.rb:149
-#: ../lib/rabbit/command/rabbit-slide.rb:156
-#: ../lib/rabbit/command/rabbit-slide.rb:169
-#: ../lib/rabbit/command/rabbit-slide.rb:182
-#: ../lib/rabbit/command/rabbit-slide.rb:196
-#: ../lib/rabbit/command/rabbit-slide.rb:210
-#: ../lib/rabbit/command/rabbit-slide.rb:224
-#: ../lib/rabbit/command/rabbit-theme.rb:97
-#: ../lib/rabbit/command/rabbit-theme.rb:110
-#: ../lib/rabbit/command/rabbit-theme.rb:124
 msgid "(optional)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:132
 msgid "Title of the new slide"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:133
 msgid "--title=\"Rabbit Introduction\""
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:140
 msgid "Tags of the new slide"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:147
 msgid "Allotted time in presentaion"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:154
 msgid "Presentation date with the new slide"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:160
-#: ../lib/rabbit/command/rabbit-theme.rb:88
 msgid "Your information"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:163
-#: ../lib/rabbit/command/rabbit-theme.rb:91
 msgid "Author name of the new slide"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:176
-#: ../lib/rabbit/command/rabbit-theme.rb:104
 msgid "Author e-mail of the new slide"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:189
-#: ../lib/rabbit/command/rabbit-slide.rb:203
-#: ../lib/rabbit/command/rabbit-slide.rb:217
-#: ../lib/rabbit/command/rabbit-theme.rb:117
 msgid "Account for %s"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:190
-#: ../lib/rabbit/command/rabbit-slide.rb:204
-#: ../lib/rabbit/command/rabbit-slide.rb:218
-#: ../lib/rabbit/command/rabbit-theme.rb:118
 msgid "It is used to publish your slide to %s"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:252
-#: ../lib/rabbit/command/rabbit-theme.rb:143
 msgid "too many commands: %s"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:256
-#: ../lib/rabbit/command/rabbit-theme.rb:148
 msgid "invalid command: <%s>: available commands: %s"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:264
-#: ../lib/rabbit/command/rabbit-slide.rb:270
-#: ../lib/rabbit/command/rabbit-theme.rb:156
 msgid "%s is missing"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:345
 msgid "TODO: SLIDE TITLE"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:348
 msgid "TODO: SLIDE DESCRIPTION"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:351
-#: ../lib/rabbit/command/rabbit-theme.rb:209
 msgid "For author"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:357
-#: ../lib/rabbit/command/rabbit-theme.rb:215
 msgid "Publish"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:362
 msgid "For viewers"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:364
-#: ../lib/rabbit/command/rabbit-theme.rb:222
 msgid "Install"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:435
 msgid "TITLE"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:437
 msgid "FIRST SLIDE"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:439
 msgid "SECOND SLIDE"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:451
 msgid "SUBTITLE"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:452
 msgid "AUTHOR"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:453
 msgid "INSTITUTION"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:454
 msgid "EVENT NAME"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:475
 msgid "ITEM %d"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-theme.rb:67
 msgid ""
 "Usage: %s new [options]\n"
 " e.g.: %s new \\\n"
@@ -657,1693 +442,1218 @@ msgid ""
 "          --rubygems-user kou"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-theme.rb:79
 msgid "Theme information"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-theme.rb:82
 msgid "Theme ID"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-theme.rb:204
 msgid "TODO: THEME TITLE"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-theme.rb:206
 msgid "TODO: THEME DESCRIPTION"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-theme.rb:220
 msgid "For users"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-theme.rb:229
-#: ../lib/rabbit/task/theme.rb:95
 msgid "rabbit-theme-benchmark-en.gem"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:143
-#: ../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/theme/green-circle/property.rb:1
-#: ../lib/rabbit/theme/image-viewer/property.rb:1
-#: ../lib/rabbit/theme/lightning-clear-blue/property.rb:1
-#: ../lib/rabbit/theme/lightning-monochrome/property.rb:1
-#: ../lib/rabbit/theme/lightning-rabbit/property.rb:1
-#: ../lib/rabbit/theme/lightning-simple/property.rb:1
-#: ../lib/rabbit/theme/lightning-talk/property.rb:1
-#: ../lib/rabbit/theme/nari/property.rb:1
-#: ../lib/rabbit/theme/night-black/property.rb:1
-#: ../lib/rabbit/theme/pdf/property.rb:1
-#: ../lib/rabbit/theme/rabbit/property.rb:1
-#: ../lib/rabbit/theme/ranguba/property.rb:1
-#: ../lib/rabbit/theme/red-frame/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2/property.rb:1
-#: ../lib/rabbit/theme/rubykaigi2011/property.rb:1
 msgid "Theme"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:146
 msgid "Add [PATH] to load path."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:151
 msgid "Use [THEME] as theme."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:158
 msgid "Use [THEME] for comment."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:164
 msgid "Use [TIME] as allotted time."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:170
-#: ../lib/rabbit/html/generator.rb:404
 msgid "Source"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:177
 msgid ""
 "When select %s\n"
 "specify %s\n"
 "as [SOURCE_INFOS]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:184
 msgid "Specify source type as [TYPE]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:186
+msgid "Select from [%s]."
+msgstr ""
+
 msgid "Note: case insensitive."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:200
 msgid "Specify source encoding as [ENCODING]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:201
-#: ../lib/rabbit/command/rabbit.rb:207
-#: ../lib/rabbit/command/rabbit.rb:368
-#: ../lib/rabbit/command/rabbit.rb:375
-#: ../lib/rabbit/command/rabbit.rb:382
-#: ../lib/rabbit/command/rabbit.rb:389
-#: ../lib/rabbit/command/rabbit.rb:414
-#: ../lib/rabbit/command/rabbit.rb:421
-#: ../lib/rabbit/command/rabbit.rb:428
-#: ../lib/rabbit/command/rabbit.rb:435
-#: ../lib/rabbit/command/rabbit.rb:556 ../lib/rabbit/console.rb:150
 msgid "(auto)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:206
 msgid "Specify base URI or path of source as [BASE]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:212
 msgid "Initial state"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:215
 msgid "Toggle full screen mode."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:221
 msgid "Toggle index mode."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:227
+msgid "Show the Nth slide. (zero-based)"
+msgstr ""
+
 msgid "Size"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:230
 msgid "Set window geometry [GEOMETRY]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:231
 msgid "Format: WIDTHxHEIGHT+X+Y"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:238
 msgid "Set window width to [WIDTH]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:245
 msgid "Set window height to [HEIGHT]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:250
 msgid ""
 "Set window width and height to\n"
 "[WIDTH] and [HEIGHT]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:263
 msgid "Save"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:266
 msgid "Save as image and exit."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:271
 msgid "Specify saved image type as [TYPE]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:278
 msgid "Specify saved image base name as [BASE_NAME]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:279
-#: ../lib/rabbit/command/rabbit.rb:317
 msgid "Title of slide"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:284
 msgid "Output HTML for viewing saved images."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:290
 msgid "Output index HTML for navigating slides."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:296
 msgid "Specify base URI of RSS as [URI]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:297
 msgid "RSS is generated only when HTML is output."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:303
 msgid "Specify source filenam as [FILENAME]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:311
 msgid "Print and exit."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:316
 msgid "Specify printed out filename as [FILENAME]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:323
 msgid "Set slides per page."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:329
 msgid "Draw scaled image."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:330
 msgid "Better look for displaying but lesser look for printing."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:335
 msgid "Paper"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:339
 msgid "Set paper width to [WIDTH] Pt."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:340
 msgid "(landscape A4 width)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:346
 msgid "Set paper height to [HEIGHT] Pt."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:347
 msgid "(landscape A4 height)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:351
 msgid ""
 "Set paper width and height to\n"
 "[WIDTH] Pt and [HEIGHT] Pt."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:353
 msgid "(landscape A4 size)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:363
 msgid "Margin"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:367
 msgid "Set left margin for slides per page mode print."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:374
 msgid "Set right margin for slides per page mode print."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:381
 msgid "Set top margin for slides per page mode print."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:388
 msgid "Set bottom margin for slides per page mode print."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:393
 msgid "[ALL]"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:394
 msgid "[TOP_BOTTOM],[LEFT_RIGHT]"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:395
 msgid "[TOP],[LEFT_RIGHT],[BOTTOM]"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:396
 msgid "[TOP],[RIGHT],[BOTTOM],[LEFT]"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:399
 msgid "Set margin for slides per page mode print."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:413
 msgid "Set left page margin."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:420
 msgid "Set right page margin."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:427
 msgid "Set top page margin."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:434
 msgid "Set bottom page margin."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:441
 msgid "Set page margin."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:453
 msgid "dRuby"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:456
 msgid "Specify whether to use dRuby."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:462
 msgid "Specify dRuby URI."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:468
 msgid "Specify whether to output dRuby URI."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:473
 msgid "SOAP"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:476
 msgid "Specify whether to use SOAP."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:482
 msgid "Specify SOAP host as [HOST]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:489
 msgid "Specify SOAP port as [PORT]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:494
 msgid "XML-RPC"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:497
 msgid "Specify whether to use XML-RPC."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:503
 msgid "Specify XML-RPC host as [HOST]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:510
 msgid "Specify XML-RPC port as [PORT]."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:515
-msgid "Server"
-msgstr ""
-
-#: ../lib/rabbit/command/rabbit.rb:518
-msgid "Specify whether to run as server."
-msgstr ""
-
-#: ../lib/rabbit/command/rabbit.rb:523
 msgid "Public level"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:530
 msgid "Specify public level."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:531
 msgid "Select from the following:"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:540
-#: ../lib/rabbit/command/rabbit.rb:565
-#: ../lib/rabbit/command/rabbit.rb:572
 msgid "(%s)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:545
-#: ../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:548
-#: ../lib/rabbit/command/rabbit.rb:554
 msgid "Deprecated. Just ignored."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:549
 msgid "Specify initial comment source."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:550
 msgid "(default source)"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:555
 msgid "Specify comment source encoding."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:559
 msgid "Migemo"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:564
 msgid "Specify search paths for Migemo static dictionary."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:571
 msgid "Specify static dictionary name for Migemo."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:576
 msgid "3D"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:579
 msgid "Specify whether to use OpenGL if available."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:584
 msgid "Display"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:587
 msgid "Specify whether to keep above window."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:592
 msgid "Others"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:595
+msgid "Check slide source syntax and exit."
+msgstr ""
+
 msgid "Show a native window ID of the Rabbit window if available."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:596
 msgid "e.g. The ID is the ID of X resource on X window system."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:637
 msgid "Choose a Rabbit source file"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:753
 msgid "dRuby URI <%s> is in use."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:772
 msgid "port <%s> for SOAP is in use."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:793
 msgid "port <%s> for XML-RPC is in use."
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:854
 msgid "Window ID: %d"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit.rb:900
-msgid "going to shutdown..."
-msgstr ""
-
-#: ../lib/rabbit/command/rabbit.rb:902
-msgid "DRb.thread done."
-msgstr ""
-
-#: ../lib/rabbit/command/rabbit.rb:185 ../lib/rabbit/console.rb:165
-#: ../lib/rabbit/console.rb:182
-msgid "Select from [%s]."
-msgstr ""
-
-#: ../lib/rabbit/command/rabbit.rb:308 ../lib/rabbit/action/basic.rb:83
-msgid "Print"
-msgstr ""
-
-#: ../lib/rabbit/console.rb:114
 msgid "Usage: %s [options]"
 msgstr ""
 
-#: ../lib/rabbit/console.rb:129
 msgid "Common options"
 msgstr ""
 
-#: ../lib/rabbit/console.rb:139
 msgid "Load options from FILE."
 msgstr ""
 
-#: ../lib/rabbit/console.rb:140
 msgid "(none)"
 msgstr ""
 
-#: ../lib/rabbit/console.rb:149
 msgid "Specify locale dir as [DIR]."
 msgstr ""
 
-#: ../lib/rabbit/console.rb:164
 msgid "Specify logger type as [TYPE]."
 msgstr ""
 
-#: ../lib/rabbit/console.rb:181
 msgid "Specify log level as [LEVEL]."
 msgstr ""
 
-#: ../lib/rabbit/console.rb:191
 msgid "Show this message."
 msgstr ""
 
-#: ../lib/rabbit/console.rb:195
 msgid "Show version."
 msgstr ""
 
-#: ../lib/rabbit/element/index-slide.rb:103
-#: ../lib/rabbit/html/generator.rb:393
 msgid "Index"
 msgstr ""
 
-#: ../lib/rabbit/gem-finder.rb:46
-msgid "Installing gem: %s"
+msgid "no such file: %s"
 msgstr ""
 
-#: ../lib/rabbit/gem-finder.rb:49
-msgid "Installing gem in user install mode: %s"
+msgid "can't handle %s because the following command can't be run successfully: %s"
 msgstr ""
 
-#: ../lib/rabbit/graffiti/config-dialog.rb:48
-msgid "Line width:"
+msgid "tried gs commands: %s"
 msgstr ""
 
-#: ../lib/rabbit/html/generator.rb:50
-msgid "Creating a image for the %dth page"
+msgid "tried dia commands: %s"
 msgstr ""
 
-#: ../lib/rabbit/html/generator.rb:63
-msgid "can't generate RSS"
+msgid "tried gimp commands: %s"
 msgstr ""
 
-#: ../lib/rabbit/html/generator.rb:391
-msgid "Slide"
+msgid "Unknown property: %s"
 msgstr ""
 
-#: ../lib/rabbit/html/generator.rb:400
-#: ../lib/rabbit/theme/pdf/property.rb:2
-msgid "PDF"
+msgid "can't allocate color: %s"
 msgstr ""
 
-#: ../lib/rabbit/image/pdf.rb:53
-msgid "invalid PDF page number: <%s>"
+msgid "not exist: %s"
 msgstr ""
 
-#: ../lib/rabbit/image/pdf.rb:58
-msgid "%s page doesn't exist in PDF"
+msgid "not a file: %s"
 msgstr ""
 
-#: ../lib/rabbit/info-window.rb:98
-msgid "%s: Information window"
+msgid "can not be read: %s"
 msgstr ""
 
-#: ../lib/rabbit/info-window.rb:224
-msgid "unlimited"
+msgid "immutable source type: %s"
 msgstr ""
 
-#: ../lib/rabbit/logger/base.rb:35
-msgid "DEBUG"
+msgid "not available interface: %s"
 msgstr ""
 
-#: ../lib/rabbit/logger/base.rb:36
-msgid "INFO"
+msgid "can't find HTML template: %s"
 msgstr ""
 
-#: ../lib/rabbit/logger/base.rb:37
-msgid "WARNING"
+msgid "can't find theme RD template: %s"
 msgstr ""
 
-#: ../lib/rabbit/logger/base.rb:38
-msgid "ERROR"
+msgid "invalid motion: %s"
 msgstr ""
 
-#: ../lib/rabbit/logger/base.rb:39
-msgid "FATAL"
+msgid "invalid value of size property \"%{prop_name}\" of image \"%{filename}\": %{value}"
 msgstr ""
 
-#: ../lib/rabbit/logger/base.rb:40
-msgid "UNKNOWN"
+msgid "unknown cursor type: %s"
 msgstr ""
 
-#: ../lib/rabbit/logger/gui.rb:72
-msgid "Rabbit Error Dialog"
+msgid "print isn't supported"
 msgstr ""
 
-#: ../lib/rabbit/logger/stderr.rb:16
-msgid "can't convert to current locale from UTF-8: %s"
+msgid "Installing gem: %s"
 msgstr ""
 
-#: ../lib/rabbit/menu.rb:61
-msgid "Jump to the %dth slide"
+msgid "Installing gem in user install mode: %s"
 msgstr ""
 
-#: ../lib/rabbit/parser.rb:14
-msgid "unsupported format. (supported: %s)"
+msgid "Enter password on RubyGems.org [%{user}]: "
 msgstr ""
 
-#: ../lib/rabbit/parser/ext/aafigure.rb:24
-msgid "tried aafigure command: %s"
+msgid "Line width:"
 msgstr ""
 
-#: ../lib/rabbit/parser/ext/blockdiag.rb:28
-msgid "tried blockdiag command: %s"
+msgid "Creating a image for the %dth page"
 msgstr ""
 
-#: ../lib/rabbit/parser/ext/emacs.rb:94
-msgid "emacs: unsupported element name: %s"
+msgid "can't generate RSS"
 msgstr ""
 
-#: ../lib/rabbit/parser/ext/enscript.rb:30
-msgid "enscript: unsupported language: %s"
+msgid "Slide"
 msgstr ""
 
-#: ../lib/rabbit/parser/ext/enscript.rb:112
-msgid "enscript: unsupported element name: %s"
+msgid "PDF"
 msgstr ""
 
-#: ../lib/rabbit/parser/ext/tex.rb:53
-msgid "tried mimeTeX commands: %s"
+msgid "invalid PDF page number: <%s>"
 msgstr ""
 
-#: ../lib/rabbit/parser/markdown/converter.rb:132
-msgid "multiple ![alt]{image} in a paragraph isn't supported."
+msgid "%s page doesn't exist in PDF"
 msgstr ""
 
-#: ../lib/rabbit/parser/markdown/converter.rb:225
-msgid "multiple ![]('XXX.png'){:align='right'} isn't supported."
+msgid "%s: Information window"
 msgstr ""
 
-#: ../lib/rabbit/parser/rd/ext/block-verbatim.rb:48
-msgid "multiple 'align = right' isn't supported."
+msgid "unlimited"
 msgstr ""
 
-#: ../lib/rabbit/parser/rd/ext/block-verbatim.rb:141
-msgid "RTtool isn't available"
+msgid "DEBUG"
 msgstr ""
 
-#: ../lib/rabbit/parser/rd/visitor.rb:49
-msgid "[BUG] [%s] %s extension isn't available."
+msgid "INFO"
 msgstr ""
 
-#: ../lib/rabbit/parser/wiki/output.rb:88
-msgid "horizontal rule is unsupported"
+msgid "WARNING"
 msgstr ""
 
-#: ../lib/rabbit/parser/wiki/output.rb:338
-msgid "unsupported list type: %s"
+msgid "ERROR"
 msgstr ""
 
-#: ../lib/rabbit/parser/wiki/output.rb:437
-msgid "multiple {{image, 'XXX.png', :align => :right}} isn't supported."
+msgid "FATAL"
 msgstr ""
 
-#: ../lib/rabbit/path-manipulatable.rb:28
-msgid "Creating directory: %s"
+msgid "UNKNOWN"
 msgstr ""
 
-#: ../lib/rabbit/path-manipulatable.rb:33
-msgid "Creating file:      %s"
+msgid "Rabbit Error Dialog"
 msgstr ""
 
-#: ../lib/rabbit/rabbit.rb:60
-msgid "no such file: %s"
+msgid "can't convert to current locale from UTF-8: %s"
 msgstr ""
 
-#: ../lib/rabbit/rabbit.rb:70
-msgid "can't handle %s because the following command can't be run successfully: %s"
+msgid "Jump to the %dth slide"
 msgstr ""
 
-#: ../lib/rabbit/rabbit.rb:80
-msgid "tried gs commands: %s"
+msgid "unsupported format. (supported: %s)"
 msgstr ""
 
-#: ../lib/rabbit/rabbit.rb:88
-msgid "tried dia commands: %s"
+msgid "tried aafigure command: %s"
 msgstr ""
 
-#: ../lib/rabbit/rabbit.rb:96
-msgid "tried gimp commands: %s"
+msgid "tried blockdiag command: %s"
 msgstr ""
 
-#: ../lib/rabbit/rabbit.rb:124
-msgid "Unknown property: %s"
+msgid "emacs: unsupported element name: %s"
 msgstr ""
 
-#: ../lib/rabbit/rabbit.rb:132
-msgid "can't allocate color: %s"
+msgid "enscript: unsupported language: %s"
 msgstr ""
 
-#: ../lib/rabbit/rabbit.rb:143
-msgid "not exist: %s"
+msgid "enscript: unsupported element name: %s"
 msgstr ""
 
-#: ../lib/rabbit/rabbit.rb:151
-msgid "not a file: %s"
+msgid "tried mimeTeX commands: %s"
 msgstr ""
 
-#: ../lib/rabbit/rabbit.rb:159
-msgid "can not be read: %s"
+msgid "multiple ![alt]{image} in a paragraph isn't supported."
 msgstr ""
 
-#: ../lib/rabbit/rabbit.rb:167
-msgid "immutable source type: %s"
+msgid "horizontal rule isn't supported."
 msgstr ""
 
-#: ../lib/rabbit/rabbit.rb:186
-msgid "not available interface: %s"
+msgid "multiple ![]('XXX.png'){:align='right'} isn't supported."
 msgstr ""
 
-#: ../lib/rabbit/rabbit.rb:194
-msgid "can't find HTML template: %s"
+msgid "tag name is missing."
 msgstr ""
 
-#: ../lib/rabbit/rabbit.rb:202
-msgid "can't find theme RD template: %s"
+msgid "HTML isn't supported."
 msgstr ""
 
-#: ../lib/rabbit/rabbit.rb:210
-msgid "invalid motion: %s"
+msgid "multiple 'align = right' isn't supported."
 msgstr ""
 
-#: ../lib/rabbit/rabbit.rb:225
-msgid "invalid value of size property \"%{prop_name}\" of image \"%{filename}\": %{value}"
+msgid "RTtool isn't available"
 msgstr ""
 
-#: ../lib/rabbit/rabbit.rb:246
-msgid "unknown cursor type: %s"
+msgid "[BUG] [%s] %s extension isn't available."
 msgstr ""
 
-#: ../lib/rabbit/rabbit.rb:252
-msgid "print isn't supported"
+msgid "horizontal rule is unsupported"
+msgstr ""
+
+msgid "unsupported list type: %s"
+msgstr ""
+
+msgid "inline {{image(...)}} isn't supported."
+msgstr ""
+
+msgid "multiple {{image(..., :align => :right)}} isn't supported."
+msgstr ""
+
+msgid "Creating directory: %s"
+msgstr ""
+
+msgid "Creating file:      %s"
 msgstr ""
 
-#: ../lib/rabbit/readme-parser.rb:35
 msgid "No README found"
 msgstr ""
 
-#: ../lib/rabbit/renderer/base.rb:385
 msgid "%s does not support: %s"
 msgstr ""
 
-#: ../lib/rabbit/renderer/print/cairo.rb:130
 msgid "can't find printer for %s"
 msgstr ""
 
-#: ../lib/rabbit/slide-configuration.rb:50
-#: ../lib/rabbit/theme-configuration.rb:48
 msgid "Failed to read slide configuration: %s: %s"
 msgstr ""
 
-#: ../lib/rabbit/slide-configuration.rb:60
-#: ../lib/rabbit/theme-configuration.rb:58
 msgid "Failed to write slide configuration: %s: %s"
 msgstr ""
 
-#: ../lib/rabbit/slideshare.rb:61
 msgid "Feailed to upload: %s"
 msgstr ""
 
-#: ../lib/rabbit/slideshare.rb:68
 msgid "Feailed to edit title: %s"
 msgstr ""
 
-#: ../lib/rabbit/slideshare.rb:76
 msgid "Feailed to get slide URL: %s"
 msgstr ""
 
-#: ../lib/rabbit/slideshare.rb:141
-msgid "Enter password on SlideShare"
+msgid "Enter password on SlideShare [%{user}]: "
 msgstr ""
 
-#: ../lib/rabbit/source/argf.rb:10
 msgid "none (get from STDIN) or [FILE_NAMES]"
 msgstr ""
 
-#: ../lib/rabbit/source/file.rb:9
 msgid "[FILENAME]"
 msgstr ""
 
-#: ../lib/rabbit/source/hiki.rb:13
 msgid "[HIKI_CGI_URI] and [PAGE_NAME]"
 msgstr ""
 
-#: ../lib/rabbit/source/memory.rb:9
 msgid "[FILENAME_OR_NOT]"
 msgstr ""
 
-#: ../lib/rabbit/source/slide-share.rb:14
 msgid "[USER] and [TITLE]"
 msgstr ""
 
-#: ../lib/rabbit/source/uri.rb:25
 msgid "URI"
 msgstr ""
 
-#: ../lib/rabbit/stock.rb:17 ../lib/rabbit/theme/rabbit/property.rb:2
 msgid "Rabbit"
 msgstr ""
 
-#: ../lib/rabbit/task/slide.rb:92
 msgid "To run rabbit, create '%{options_path}'!"
 msgstr ""
 
-#: ../lib/rabbit/task/slide.rb:96
 msgid "Show slide"
 msgstr ""
 
-#: ../lib/rabbit/task/slide.rb:151
-msgid "Publish the slide to all available targets"
+msgid "Create gem: %{gem_path}"
 msgstr ""
 
-#: ../lib/rabbit/task/slide.rb:195
-msgid "Uploaded successfully!"
+msgid "Write %{item} in %{where}: %{content}"
 msgstr ""
 
-#: ../lib/rabbit/task/slide.rb:196
-msgid "See %s"
+msgid "Generate PDF: %{pdf_path}"
 msgstr ""
 
-#: ../lib/rabbit/task/slide.rb:207
-#: ../lib/rabbit/task/slide.rb:175 ../lib/rabbit/task/slide.rb:183
-msgid "Publish the slide to %s"
+msgid "Publish the slide to all available targets"
 msgstr ""
 
-#: ../lib/rabbit/task/theme.rb:93
-msgid "Show theme benchmark slide with this theme"
+msgid "Publish the slide to %s"
 msgstr ""
 
-#: ../lib/rabbit/task/theme.rb:137
-msgid "Generate all PDFs"
+msgid "Uploaded successfully!"
 msgstr ""
 
-#: ../lib/rabbit/task/theme.rb:165
-msgid "Publish the theme to all available targets"
+msgid "See %s"
 msgstr ""
 
-#: ../lib/rabbit/task/theme.rb:171
-msgid "Publish the theme to %s"
+msgid "Show theme benchmark slide with this theme"
 msgstr ""
 
-#: ../lib/rabbit/task/theme.rb:105 ../lib/rabbit/task/slide.rb:108
-msgid "Create gem: %{gem_path}"
+msgid "Generate all PDFs"
 msgstr ""
 
-#: ../lib/rabbit/task/theme.rb:117 ../lib/rabbit/task/slide.rb:120
-msgid "Write %{item} in %{where}: %{content}"
+msgid "Publish the theme to all available targets"
 msgstr ""
 
-#: ../lib/rabbit/task/theme.rb:157 ../lib/rabbit/task/slide.rb:146
-msgid "Generate PDF: %{pdf_path}"
+msgid "Publish the theme to %s"
 msgstr ""
 
-#: ../lib/rabbit/theme/applier.rb:604
-#: ../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 ""
 
-#: ../lib/rabbit/theme/auto-slide/property.rb:1
-#: ../lib/rabbit/theme/slide-background/property.rb:1
 msgid "Backward compatibility"
 msgstr ""
 
-#: ../lib/rabbit/theme/auto-slide/property.rb:2
 msgid "Auto Slide"
 msgstr ""
 
-#: ../lib/rabbit/theme/auto-slide/property.rb:3
 msgid "Backward compatibility theme for ((<slide-show>))"
 msgstr ""
 
-#: ../lib/rabbit/theme/auto-slide/property.rb:4
 msgid "See ((<slide-show>))"
 msgstr ""
 
-#: ../lib/rabbit/theme/base/property.rb:1
-#: ../lib/rabbit/theme/color-circle-block-quote/property.rb:1
-#: ../lib/rabbit/theme/color-circle-common/property.rb:1
-#: ../lib/rabbit/theme/color-circle-description/property.rb:1
-#: ../lib/rabbit/theme/color-circle-foot-text/property.rb:1
-#: ../lib/rabbit/theme/color-circle-item-mark/property.rb:1
-#: ../lib/rabbit/theme/color-circle-method-list/property.rb:1
-#: ../lib/rabbit/theme/color-circle-preformatted/property.rb:1
-#: ../lib/rabbit/theme/color-circle-slide/property.rb:1
-#: ../lib/rabbit/theme/color-circle-text/property.rb:1
-#: ../lib/rabbit/theme/color-circle-title-slide/property.rb:1
-#: ../lib/rabbit/theme/color-circle-title-text/property.rb:1
-#: ../lib/rabbit/theme/color-circle/property.rb:1
-#: ../lib/rabbit/theme/cozmixng-powered-by/property.rb:1
-#: ../lib/rabbit/theme/default-block-quote/property.rb:1
-#: ../lib/rabbit/theme/default-comment/property.rb:1
-#: ../lib/rabbit/theme/default-description/property.rb:1
-#: ../lib/rabbit/theme/default-foot-text/property.rb:1
-#: ../lib/rabbit/theme/default-icon/property.rb:1
-#: ../lib/rabbit/theme/default-item-mark-setup/property.rb:1
-#: ../lib/rabbit/theme/default-item-mark/property.rb:1
-#: ../lib/rabbit/theme/default-method-list/property.rb:1
-#: ../lib/rabbit/theme/default-preformatted/property.rb:1
-#: ../lib/rabbit/theme/default-slide/property.rb:1
-#: ../lib/rabbit/theme/default-text/property.rb:1
-#: ../lib/rabbit/theme/default-title-slide/property.rb:1
-#: ../lib/rabbit/theme/default-title-text/property.rb:1
-#: ../lib/rabbit/theme/edge-info-toolkit/property.rb:1
-#: ../lib/rabbit/theme/emphasize-keyword/property.rb:1
-#: ../lib/rabbit/theme/footer-logo/property.rb:1
-#: ../lib/rabbit/theme/headline-logo/property.rb:1
-#: ../lib/rabbit/theme/icon/property.rb:1
-#: ../lib/rabbit/theme/image-slide-number/property.rb:1
-#: ../lib/rabbit/theme/image/property.rb:1
-#: ../lib/rabbit/theme/lightning-talk-toolkit/property.rb:1
-#: ../lib/rabbit/theme/per-slide-background-color/property.rb:1
-#: ../lib/rabbit/theme/per-slide-background-image/property.rb:1
-#: ../lib/rabbit/theme/powered-by/property.rb:1
-#: ../lib/rabbit/theme/rabbit-block-quote/property.rb:1
-#: ../lib/rabbit/theme/rabbit-headline-logo/property.rb:1
-#: ../lib/rabbit/theme/rabbit-icon/property.rb:1
-#: ../lib/rabbit/theme/rabbit-item-mark/property.rb:1
-#: ../lib/rabbit/theme/rabbit-powered-by/property.rb:1
-#: ../lib/rabbit/theme/rabbit-title-logo/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2-description/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2-foot-text/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2-headline/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2-icon/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2-item-mark/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2-preformatted/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2-slide/property.rb:1
-#: ../lib/rabbit/theme/simple-item-mark/property.rb:1
-#: ../lib/rabbit/theme/slide-background-image/property.rb:1
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:1
-#: ../lib/rabbit/theme/slide-header-info/property.rb:1
-#: ../lib/rabbit/theme/slide-logo/property.rb:1
-#: ../lib/rabbit/theme/slide-number/property.rb:1
-#: ../lib/rabbit/theme/syntax-highlighting/property.rb:1
-#: ../lib/rabbit/theme/table/property.rb:1
-#: ../lib/rabbit/theme/tag/property.rb:1
-#: ../lib/rabbit/theme/title-background-color/property.rb:1
-#: ../lib/rabbit/theme/title-background-image/property.rb:1
-#: ../lib/rabbit/theme/title-logo/property.rb:1
-#: ../lib/rabbit/theme/title-on-image-toolkit/property.rb:1
-#: ../lib/rabbit/theme/title-shadow/property.rb:1
-#: ../lib/rabbit/theme/title-slide-background-image/property.rb:1
 msgid "Toolkit"
 msgstr ""
 
-#: ../lib/rabbit/theme/base/property.rb:2
 msgid "Base"
 msgstr ""
 
-#: ../lib/rabbit/theme/base/property.rb:3
 msgid "Define default variables"
 msgstr ""
 
-#: ../lib/rabbit/theme/base/property.rb:4
 msgid "This theme is always included at the first."
 msgstr ""
 
-#: ../lib/rabbit/theme/blue-bar/property.rb:2
 msgid "Blue Bar"
 msgstr ""
 
-#: ../lib/rabbit/theme/blue-bar/property.rb:3
 msgid "Blue bar theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/blue-circle/property.rb:2
 msgid "Blue Circle"
 msgstr ""
 
-#: ../lib/rabbit/theme/blue-circle/property.rb:3
 msgid "Blue Circle theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/centering-rabbit/property.rb:2
 msgid "Centering Rabbit"
 msgstr ""
 
-#: ../lib/rabbit/theme/centering-rabbit/property.rb:3
 msgid "Rabbit theme with text centering."
 msgstr ""
 
-#: ../lib/rabbit/theme/clear-blue/property.rb:2
 msgid "Clear Blue"
 msgstr ""
 
-#: ../lib/rabbit/theme/clear-blue/property.rb:3
 msgid "Clear blue theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/clock/property.rb:1
-#: ../lib/rabbit/theme/image-timer/property.rb:1
-#: ../lib/rabbit/theme/slide-show/property.rb:1
-#: ../lib/rabbit/theme/timer/property.rb:1
 msgid "Time"
 msgstr ""
 
-#: ../lib/rabbit/theme/clock/property.rb:2
 msgid "TextClock"
 msgstr ""
 
-#: ../lib/rabbit/theme/clock/property.rb:3
 msgid "Clock toolkit, a text version"
 msgstr ""
 
-#: ../lib/rabbit/theme/clock/property.rb:4
 msgid "Displays current time with text."
 msgstr ""
 
-#: ../lib/rabbit/theme/clock/property.rb:13
 msgid "Properties for the clock, such as font family."
 msgstr ""
 
-#: ../lib/rabbit/theme/clock/property.rb:17
-#: ../lib/rabbit/theme/image-slide-number/property.rb:60
-#: ../lib/rabbit/theme/show-frame/property.rb:12
-#: ../lib/rabbit/theme/slide-number/property.rb:17
-#: ../lib/rabbit/theme/title-logo/property.rb:19
-msgid "Whether uninstalling this toolkit or not. This option is useful for cases you do not want to make the toolkit work for certain slides."
+msgid ""
+"Whether uninstalling this toolkit or not. This option is useful for cases you "
+"do not want to make the toolkit work for certain slides."
 msgstr ""
 
-#: ../lib/rabbit/theme/clutter-comment/property.rb:2
 msgid "Clutter Comment"
 msgstr ""
 
-#: ../lib/rabbit/theme/clutter-comment/property.rb:3
 msgid "Show comment as a rolling Clutter actor."
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-block-quote/property.rb:2
 msgid "Color Circle block quote"
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-block-quote/property.rb:3
 msgid "Toolkit to display itemization in quotation"
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-block-quote/property.rb:4
 msgid "Support itemization in quotation."
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-common/property.rb:2
 msgid "Color Circle common"
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-common/property.rb:3
 msgid "Provide common methods for Color Circle toolkit."
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-description/property.rb:2
 msgid "Color Circle Description"
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-description/property.rb:3
 msgid "Toolkit to set ((<color-circle>)) theme's description-list style up."
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-foot-text/property.rb:2
 msgid "Color Circle Foot Text"
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-foot-text/property.rb:3
 msgid "Toolkit to set ((<color-circle>)) theme's foot text style up."
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-item-mark/property.rb:2
 msgid "Color Circle Item Mark"
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-item-mark/property.rb:3
 msgid "Toolkit to set ((<color-circle>)) theme's item marks style up."
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-method-list/property.rb:2
 msgid "Color Circle Method List"
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-method-list/property.rb:3
 msgid "Toolkit to set ((<color-circle>)) theme's method-list style up."
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-preformatted/property.rb:2
 msgid "Color Circle Preformatted"
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-preformatted/property.rb:3
 msgid "Toolkit to set ((<color-circle>)) theme's preformatted text style up."
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-slide/property.rb:2
 msgid "Color Circle Slide"
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-slide/property.rb:3
 msgid "Toolkit to set ((<color-circle>)) theme's slide style up."
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-text/property.rb:2
 msgid "Color Circle Text"
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-text/property.rb:3
 msgid "Toolkit to set ((<color-circle>)) theme's text style up."
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-title-slide/property.rb:2
 msgid "Color Circle Title Slide"
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-title-slide/property.rb:3
 msgid "Toolkit to set ((<color-circle>)) theme's title slide style up."
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-title-text/property.rb:2
 msgid "Color Circle Title text"
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle-title-text/property.rb:3
 msgid "Toolkit to set ((<color-circle>)) theme's title text style up."
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle/color-circle.rb:16
 msgid "required variables aren't set: %s"
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle/property.rb:2
 msgid "Color Circle"
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle/property.rb:3
 msgid "Toolkit to make a theme that has colored circles"
 msgstr ""
 
-#: ../lib/rabbit/theme/color-circle/property.rb:4
 msgid "There are many colored circles in slides."
 msgstr ""
 
-#: ../lib/rabbit/theme/cozmixng-powered-by/property.rb:2
 msgid "COZMIXNGPoweredBy"
 msgstr ""
 
-#: ../lib/rabbit/theme/cozmixng-powered-by/property.rb:3
 msgid "Powered-by-COZMIXNG ad toolkit"
 msgstr ""
 
-#: ../lib/rabbit/theme/cozmixng-powered-by/property.rb:4
-msgid "Displays a text and images showing the presentation slides are powered by COZMIXNG and Rabbit at the foot of the title slide and of the last slide."
+msgid ""
+"Displays a text and images showing the presentation slides are powered by COZM"
+"IXNG and Rabbit at the foot of the title slide and of the last slide."
 msgstr ""
 
-#: ../lib/rabbit/theme/cozmixng/property.rb:2
 msgid "COZMIXNG"
 msgstr ""
 
-#: ../lib/rabbit/theme/cozmixng/property.rb:3
 msgid "COZMIXNG theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/dark-gradation/property.rb:2
 msgid "Dark Gradation"
 msgstr ""
 
-#: ../lib/rabbit/theme/dark-gradation/property.rb:3
 msgid "Dark Gradation background theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/day-white/property.rb:2
 msgid "Day White"
 msgstr ""
 
-#: ../lib/rabbit/theme/day-white/property.rb:3
 msgid "Day White theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/debian/property.rb:2
 msgid "Debian Theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/debian/property.rb:3
 msgid "Debian GNU/Linux Theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/default-block-quote/default-block-quote.rb:112
 msgid "[cited from `%s']"
 msgstr ""
 
-#: ../lib/rabbit/theme/default-block-quote/property.rb:2
 msgid "Default Block Quote"
 msgstr ""
 
-#: ../lib/rabbit/theme/default-block-quote/property.rb:3
 msgid "Displays block quote text with frame."
 msgstr ""
 
-#: ../lib/rabbit/theme/default-comment/property.rb:2
 msgid "DefaultComment"
 msgstr ""
 
-#: ../lib/rabbit/theme/default-comment/property.rb:3
 msgid "Toolkit to set up default comment theme."
 msgstr ""
 
-#: ../lib/rabbit/theme/default-comment/property.rb:4
 msgid "Sets up default comment theme."
 msgstr ""
 
-#: ../lib/rabbit/theme/default-description/property.rb:2
 msgid "DefaultDescription"
 msgstr ""
 
-#: ../lib/rabbit/theme/default-description/property.rb:3
 msgid "Toolkit to display description-list items with orange underlines."
 msgstr ""
 
-#: ../lib/rabbit/theme/default-description/property.rb:5
 msgid "Displays description-list items with orange underlines."
 msgstr ""
 
-#: ../lib/rabbit/theme/default-foot-text/property.rb:2
 msgid "Default Foot Text"
 msgstr ""
 
-#: ../lib/rabbit/theme/default-foot-text/property.rb:3
 msgid "Displays foot text at the footer of slide."
 msgstr ""
 
-#: ../lib/rabbit/theme/default-icon/property.rb:2
 msgid "DefaultIcon"
 msgstr ""
 
-#: ../lib/rabbit/theme/default-icon/property.rb:3
 msgid "Toolkit to use pink circle and polygon as icons"
 msgstr ""
 
-#: ../lib/rabbit/theme/default-icon/property.rb:4
 msgid "Uses pink circle and polygon as icons."
 msgstr ""
 
-#: ../lib/rabbit/theme/default-item-mark-setup/property.rb:2
+msgid ""
+"unknown item mark type: %s\n"
+"Rectangle type is used as fallback"
+msgstr ""
+
+msgid ""
+"unknown enumeration item mark type: %s\n"
+"Numeric type is used as fallback"
+msgstr ""
+
 msgid "Default Item Mark Setup"
 msgstr ""
 
-#: ../lib/rabbit/theme/default-item-mark-setup/property.rb:3
 msgid "Provides methods to set item mark style up."
 msgstr ""
 
-#: ../lib/rabbit/theme/default-item-mark/property.rb:2
 msgid "DefaultItemMark"
 msgstr ""
 
-#: ../lib/rabbit/theme/default-item-mark/property.rb:3
 msgid "Toolkit to display squares as list item marks"
 msgstr ""
 
-#: ../lib/rabbit/theme/default-item-mark/property.rb:4
 msgid "Displays squares at the head of list items."
 msgstr ""
 
-#: ../lib/rabbit/theme/default-method-list/property.rb:2
 msgid "Default Method List"
 msgstr ""
 
-#: ../lib/rabbit/theme/default-method-list/property.rb:3
 msgid "Displays method description with indent."
 msgstr ""
 
-#: ../lib/rabbit/theme/default-preformatted/property.rb:2
 msgid "Default Preformatted"
 msgstr ""
 
-#: ../lib/rabbit/theme/default-preformatted/property.rb:3
 msgid "Displays preformatted text with frame."
 msgstr ""
 
-#: ../lib/rabbit/theme/default-slide/property.rb:2
 msgid "Default Slide"
 msgstr ""
 
-#: ../lib/rabbit/theme/default-slide/property.rb:3
 msgid "Displays headline with line."
 msgstr ""
 
-#: ../lib/rabbit/theme/default-text/property.rb:2
 msgid "Default Text"
 msgstr ""
 
-#: ../lib/rabbit/theme/default-text/property.rb:3
 msgid "Sets default text style up."
 msgstr ""
 
-#: ../lib/rabbit/theme/default-title-slide/property.rb:2
 msgid "DefaultTitleSlide"
 msgstr ""
 
-#: ../lib/rabbit/theme/default-title-slide/property.rb:3
 msgid "Toolkit to locate objects in the title slide in a simple way"
 msgstr ""
 
-#: ../lib/rabbit/theme/default-title-slide/property.rb:4
-msgid "Locates objects in the title slide simply by centering them and by making configuration for margins around them a little."
+msgid ""
+"Locates objects in the title slide simply by centering them and by making conf"
+"iguration for margins around them a little."
 msgstr ""
 
-#: ../lib/rabbit/theme/default-title-text/property.rb:2
 msgid "Default Title Text"
 msgstr ""
 
-#: ../lib/rabbit/theme/default-title-text/property.rb:3
 msgid "Sets default title text style up."
 msgstr ""
 
-#: ../lib/rabbit/theme/default/property.rb:2
 msgid "Default"
 msgstr ""
 
-#: ../lib/rabbit/theme/default/property.rb:3
 msgid "default theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/document.erb:3
 msgid "Name"
 msgstr ""
 
-#: ../lib/rabbit/theme/document.erb:6
 msgid "Category"
 msgstr ""
 
-#: ../lib/rabbit/theme/document.erb:10
 msgid "Abstract"
 msgstr ""
 
-#: ../lib/rabbit/theme/document.erb:15
 msgid "Description"
 msgstr ""
 
-#: ../lib/rabbit/theme/document.erb:21
 msgid "Dependency themes"
 msgstr ""
 
-#: ../lib/rabbit/theme/document.erb:28
 msgid "Parameters"
 msgstr ""
 
-#: ../lib/rabbit/theme/document.erb:31
 msgid "Default: "
 msgstr ""
 
-#: ../lib/rabbit/theme/edge-info-toolkit/property.rb:2
 msgid "Edge Info Toolkit"
 msgstr ""
 
-#: ../lib/rabbit/theme/edge-info-toolkit/property.rb:3
 msgid "Displays information with line at the edge of slide."
 msgstr ""
 
-#: ../lib/rabbit/theme/emphasize-keyword/property.rb:2
 msgid "Emphasize Keyword"
 msgstr ""
 
-#: ../lib/rabbit/theme/emphasize-keyword/property.rb:3
-msgid "Provides emphasize_keyword method that markups specified keyword as emphasis text."
+msgid ""
+"Provides emphasize_keyword method that markups specified keyword as emphasis t"
+"ext."
 msgstr ""
 
-#: ../lib/rabbit/theme/enishi-green/property.rb:2
 msgid "Enishi Green"
 msgstr ""
 
-#: ../lib/rabbit/theme/enishi-green/property.rb:3
 msgid "EnishTech green based theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/entry.rb:79
 msgid "Etc"
 msgstr ""
 
-#: ../lib/rabbit/theme/footer-comment/property.rb:2
 msgid "Footer Comment"
 msgstr ""
 
-#: ../lib/rabbit/theme/footer-comment/property.rb:3
 msgid "Show comment on the footer."
 msgstr ""
 
-#: ../lib/rabbit/theme/footer-logo/property.rb:2
 msgid "Footer Logo"
 msgstr ""
 
-#: ../lib/rabbit/theme/footer-logo/property.rb:3
 msgid "Toolkit to display an image as logo at the footer"
 msgstr ""
 
-#: ../lib/rabbit/theme/footer-logo/property.rb:4
 msgid "Displays an image as a logo at the footer of slides."
 msgstr ""
 
-#: ../lib/rabbit/theme/footer-logo/property.rb:7
-#: ../lib/rabbit/theme/headline-logo/property.rb:7
-#: ../lib/rabbit/theme/slide-background-image/property.rb:7
-#: ../lib/rabbit/theme/slide-logo/property.rb:7
-#: ../lib/rabbit/theme/title-background-color/property.rb:7
-#: ../lib/rabbit/theme/title-background-image/property.rb:8
-#: ../lib/rabbit/theme/title-logo/property.rb:7
-#: ../lib/rabbit/theme/title-slide-background-image/property.rb:7
 msgid "(Must be specified.)"
 msgstr ""
 
-#: ../lib/rabbit/theme/footer-logo/property.rb:8
-#: ../lib/rabbit/theme/headline-logo/property.rb:8
-#: ../lib/rabbit/theme/icon/property.rb:22
-#: ../lib/rabbit/theme/slide-background-image/property.rb:8
-#: ../lib/rabbit/theme/slide-logo/property.rb:8
-#: ../lib/rabbit/theme/title-background-image/property.rb:9
-#: ../lib/rabbit/theme/title-logo/property.rb:8
-#: ../lib/rabbit/theme/title-slide-background-image/property.rb:8
 msgid "Image file name."
 msgstr ""
 
-#: ../lib/rabbit/theme/footer-logo/property.rb:12
 msgid "Whether keep ratio of an image or not."
 msgstr ""
 
-#: ../lib/rabbit/theme/footer-logo/property.rb:16
 msgid "Right margin of an image."
 msgstr ""
 
-#: ../lib/rabbit/theme/footer-logo/property.rb:20
 msgid "Bottom margin of an image."
 msgstr ""
 
-#: ../lib/rabbit/theme/footer-logo/property.rb:24
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:41
-#: ../lib/rabbit/theme/slide-header-info/property.rb:41
-#: ../lib/rabbit/theme/slide-logo/property.rb:24
 msgid "Whether uninstall this theme or not."
 msgstr ""
 
-#: ../lib/rabbit/theme/green-circle/property.rb:2
 msgid "Green Circle"
 msgstr ""
 
-#: ../lib/rabbit/theme/green-circle/property.rb:3
 msgid "Green Circle theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/headline-logo/property.rb:2
 msgid "HeadlineLogo"
 msgstr ""
 
-#: ../lib/rabbit/theme/headline-logo/property.rb:3
 msgid "Toolkit to display an image as a logo at the headlines"
 msgstr ""
 
-#: ../lib/rabbit/theme/headline-logo/property.rb:4
 msgid "Displays an image as a logo at the headlines of slides."
 msgstr ""
 
-#: ../lib/rabbit/theme/icon/property.rb:2
 msgid "Icon"
 msgstr ""
 
-#: ../lib/rabbit/theme/icon/property.rb:3
 msgid "Toolkit to specify an image or images as icons"
 msgstr ""
 
-#: ../lib/rabbit/theme/icon/property.rb:4
-msgid "Specifies an image or images as icons of the window, which will be used by some window managers and desktop environments, for example when the window is minimized (or 'iconified'), in the window frame, or when windows are switched. The specified image or images are automatically scaled to the icon sizes case by case. When several images are specified and they have different sizes, an image with the most similar size to that of icon among them is chosen and scaled in order to impro [...]
+msgid ""
+"Specifies an image or images as icons of the window, which will be used by som"
+"e window managers and desktop environments, for example when the window is min"
+"imized (or 'iconified'), in the window frame, or when windows are switched. Th"
+"e specified image or images are automatically scaled to the icon sizes case by"
+" case. When several images are specified and they have different sizes, an ima"
+"ge with the most similar size to that of icon among them is chosen and scaled "
+"in order to improve the quality of image finally displayed."
 msgstr ""
 
-#: ../lib/rabbit/theme/icon/property.rb:18
-#: ../lib/rabbit/theme/powered-by/property.rb:18
 msgid "List of image file names."
 msgstr ""
 
-#: ../lib/rabbit/theme/image-slide-number/property.rb:2
 msgid "ImageSlideNumber"
 msgstr ""
 
-#: ../lib/rabbit/theme/image-slide-number/property.rb:3
 msgid "Toolkit to display slide numbers, an image version"
 msgstr ""
 
-#: ../lib/rabbit/theme/image-slide-number/property.rb:4
 msgid ""
-"Displays the progress of presentation with position of an image. This is useful both for speakers and for listeners to know elapsed slide numbers and slide numbers left. By default, an image of a hare, which is a family of rabbit, jumps along the bottom of slides between two flags.\n"
+"Displays the progress of presentation with position of an image. This is usefu"
+"l both for speakers and for listeners to know elapsed slide numbers and slide "
+"numbers left. By default, an image of a hare, which is a family of rabbit, jum"
+"ps along the bottom of slides between two flags.\n"
 "\n"
-"Using together with another theme, ((<image-timer>)), you can make a hare and a tortoise race like the fable of the hare and the tortoise. When doing so, however, note that you should make your presentation not so slowly that the hare will lose to the tortoise."
+"Using together with another theme, ((<image-timer>)), you can make a hare and "
+"a tortoise race like the fable of the hare and the tortoise. When doing so, ho"
+"wever, note that you should make your presentation not so slowly that the hare"
+" will lose to the tortoise."
 msgstr ""
 
-#: ../lib/rabbit/theme/image-slide-number/property.rb:22
-msgid "File name of an image that moves. An image of a hare in the ((<rabbit-images>)) theme is used by default."
+msgid ""
+"File name of an image that moves. An image of a hare in the ((<rabbit-images>)"
+") theme is used by default."
 msgstr ""
 
-#: ../lib/rabbit/theme/image-slide-number/property.rb:28
-msgid "Whether drawing start and goal flags with text or not. When (({true})), flags are drawn with text with a form of (({@image_slide_number_flag_type})) and on which slide numbers are also drawn with color ((|@image_slide_number_text_color|)). Otherwise, image files specified with ((|@image_slide_number_start_image|)) and ((|@image_slide_number_goal_image|)) are used as flags."
+msgid ""
+"Whether drawing start and goal flags with text or not. When (({true})), flags "
+"are drawn with text with a form of (({@image_slide_number_flag_type})) and on "
+"which slide numbers are also drawn with color ((|@image_slide_number_text_colo"
+"r|)). Otherwise, image files specified with ((|@image_slide_number_start_image"
+"|)) and ((|@image_slide_number_goal_image|)) are used as flags."
 msgstr ""
 
-#: ../lib/rabbit/theme/image-slide-number/property.rb:41
 msgid "Color of numbers displayed on the start and goal flags."
 msgstr ""
 
-#: ../lib/rabbit/theme/image-slide-number/property.rb:46
-msgid "Form of the start and goal flags. Avaiable forms are (({'triangle'})) and (({'rectangle'}))."
+msgid ""
+"Form of the start and goal flags. Avaiable forms are (({'triangle'})) and (({'"
+"rectangle'}))."
 msgstr ""
 
-#: ../lib/rabbit/theme/image-slide-number/property.rb:52
 msgid "File name of an image used as the start flag."
 msgstr ""
 
-#: ../lib/rabbit/theme/image-slide-number/property.rb:56
 msgid "File name of an image used as the goal flag."
 msgstr ""
 
-#: ../lib/rabbit/theme/image-timer/property.rb:2
 msgid "ImageTimer"
 msgstr ""
 
-#: ../lib/rabbit/theme/image-timer/property.rb:3
 msgid "Timer toolkit, an image version"
 msgstr ""
 
-#: ../lib/rabbit/theme/image-timer/property.rb:4
 msgid ""
-"Displays the progress of time with position of an image. This is useful both for speakers and for listeners to know elapsed time and time left. By default, a tortoise image walks along the bottom of slides slowly step by step.\n"
+"Displays the progress of time with position of an image. This is useful both f"
+"or speakers and for listeners to know elapsed time and time left. By default, "
+"a tortoise image walks along the bottom of slides slowly step by step.\n"
 "\n"
-"Using together with another theme, ((<image-slide-number>)), you can make a hare and a tortoise race like the fable of the hare and the tortoise. When doing so, however, note that you should make your presentation not so slowly that the hare will lose to the tortoise."
+"Using together with another theme, ((<image-slide-number>)), you can make a ha"
+"re and a tortoise race like the fable of the hare and the tortoise. When doing"
+" so, however, note that you should make your presentation not so slowly that t"
+"he hare will lose to the tortoise."
 msgstr ""
 
-#: ../lib/rabbit/theme/image-timer/property.rb:21
 msgid "Limit time by second."
 msgstr ""
 
-#: ../lib/rabbit/theme/image-timer/property.rb:25
 msgid "Whether updating image position automatically or not."
 msgstr ""
 
-#: ../lib/rabbit/theme/image-timer/property.rb:30
 msgid "Whether scrolling automatically or not."
 msgstr ""
 
-#: ../lib/rabbit/theme/image-timer/property.rb:34
 msgid "Direction of automatic scrolling."
 msgstr ""
 
-#: ../lib/rabbit/theme/image-timer/property.rb:38
-msgid "File name of an image that moves. A tortoise image in the ((<rabbit-images>)) theme is used by default."
+msgid ""
+"File name of an image that moves. A tortoise image in the ((<rabbit-images>)) "
+"theme is used by default."
 msgstr ""
 
-#: ../lib/rabbit/theme/image-timer/property.rb:44
 msgid "Time interval between automatic update."
 msgstr ""
 
-#: ../lib/rabbit/theme/image-viewer/property.rb:2
 msgid "Image viewer"
 msgstr ""
 
-#: ../lib/rabbit/theme/image-viewer/property.rb:3
 msgid "Theme for image viewer mode"
 msgstr ""
 
-#: ../lib/rabbit/theme/image/property.rb:3
 msgid "image rendering"
 msgstr ""
 
-#: ../lib/rabbit/theme/lightning-clear-blue/property.rb:2
 msgid "Lightning Clear Blue"
 msgstr ""
 
-#: ../lib/rabbit/theme/lightning-clear-blue/property.rb:3
 msgid "Clear blue theme with Lightning Talk theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/lightning-monochrome/property.rb:2
 msgid "LightningTalk-Monochrome"
 msgstr ""
 
-#: ../lib/rabbit/theme/lightning-monochrome/property.rb:3
 msgid "Lightning Talk theme monochrome version"
 msgstr ""
 
-#: ../lib/rabbit/theme/lightning-rabbit/property.rb:2
 msgid "LightningRabbit"
 msgstr ""
 
-#: ../lib/rabbit/theme/lightning-rabbit/property.rb:3
 msgid "Rabbit theme with Lightning Talk theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/lightning-simple/property.rb:2
 msgid "LightningTalk-Simple"
 msgstr ""
 
-#: ../lib/rabbit/theme/lightning-simple/property.rb:3
 msgid "Lightning Talk theme simple version"
 msgstr ""
 
-#: ../lib/rabbit/theme/lightning-talk-toolkit/property.rb:2
 msgid "LightningTalk-Toolkit"
 msgstr ""
 
-#: ../lib/rabbit/theme/lightning-talk-toolkit/property.rb:3
 msgid "Displays slides for lightning talk"
 msgstr ""
 
-#: ../lib/rabbit/theme/lightning-talk/property.rb:2
 msgid "LightningTalk"
 msgstr ""
 
-#: ../lib/rabbit/theme/lightning-talk/property.rb:3
 msgid "Lightning Talk theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/mirror-effect/property.rb:1
-#: ../lib/rabbit/theme/rotate-zoom-effect/property.rb:1
-#: ../lib/rabbit/theme/scroll-effect/property.rb:1
 msgid "Effect"
 msgstr ""
 
-#: ../lib/rabbit/theme/mirror-effect/property.rb:2
 msgid "Mirror Effect"
 msgstr ""
 
-#: ../lib/rabbit/theme/mirror-effect/property.rb:3
 msgid "Provide mirror_effect method that flips content."
 msgstr ""
 
-#: ../lib/rabbit/theme/nari/property.rb:2
 msgid "Nari"
 msgstr ""
 
-#: ../lib/rabbit/theme/nari/property.rb:3
 msgid "Nari's theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/newline-in-slides/property.rb:1
-#: ../lib/rabbit/theme/newline-in-title/property.rb:1
 msgid "Convenience"
 msgstr ""
 
-#: ../lib/rabbit/theme/newline-in-slides/property.rb:2
 msgid "Newline in Slides"
 msgstr ""
 
-#: ../lib/rabbit/theme/newline-in-slides/property.rb:3
-#: ../lib/rabbit/theme/newline-in-title/property.rb:3
 msgid ""
 "Convenience '\n"
 "' newline notation."
 msgstr ""
 
-#: ../lib/rabbit/theme/newline-in-slides/property.rb:4
 msgid ""
 "Enable '\n"
 "' notation to insert newline in all slides."
 msgstr ""
 
-#: ../lib/rabbit/theme/newline-in-title/property.rb:2
 msgid "Newline in Title"
 msgstr ""
 
-#: ../lib/rabbit/theme/newline-in-title/property.rb:4
 msgid ""
 "Enable '\n"
 "' notation to insert newline in title."
 msgstr ""
 
-#: ../lib/rabbit/theme/night-black/property.rb:2
 msgid "Night Black"
 msgstr ""
 
-#: ../lib/rabbit/theme/night-black/property.rb:3
 msgid "Night Black theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/pdf/property.rb:3
 msgid "Theme for PDF"
 msgstr ""
 
-#: ../lib/rabbit/theme/per-slide-background-color/property.rb:2
 msgid "PerSlideBackgroundColor"
 msgstr ""
 
-#: ../lib/rabbit/theme/per-slide-background-color/property.rb:3
 msgid "Toolkit to set background color of each slide"
 msgstr ""
 
-#: ../lib/rabbit/theme/per-slide-background-color/property.rb:4
 msgid ""
 "Set background color of each slide.\n"
 "\n"
@@ -2358,15 +1668,12 @@ msgid ""
 "     black\n"
 msgstr ""
 
-#: ../lib/rabbit/theme/per-slide-background-image/property.rb:2
 msgid "PerSlideBackgroundImage"
 msgstr ""
 
-#: ../lib/rabbit/theme/per-slide-background-image/property.rb:3
 msgid "Toolkit to display an image as a background of each slide"
 msgstr ""
 
-#: ../lib/rabbit/theme/per-slide-background-image/property.rb:4
 msgid ""
 "Displays an image as a background of each slide.\n"
 "\n"
@@ -2381,514 +1688,402 @@ msgid ""
 "     my-picture.png\n"
 msgstr ""
 
-#: ../lib/rabbit/theme/powered-by/property.rb:2
 msgid "PoweredBy"
 msgstr ""
 
-#: ../lib/rabbit/theme/powered-by/property.rb:3
 msgid "Powered-by ad toolkit"
 msgstr ""
 
-#: ../lib/rabbit/theme/powered-by/property.rb:4
-msgid "Displays programs the presentation slides are powered by (or displays some other ads) at the foot of the title slide and of the last slide. Images and/or a text are available as ads."
+msgid ""
+"Displays programs the presentation slides are powered by (or displays some oth"
+"er ads) at the foot of the title slide and of the last slide. Images and/or a "
+"text are available as ads."
 msgstr ""
 
-#: ../lib/rabbit/theme/powered-by/property.rb:14
 msgid "Properties of the ad text, such as font family."
 msgstr ""
 
-#: ../lib/rabbit/theme/powered-by/property.rb:22
 msgid "Ad text."
 msgstr ""
 
-#: ../lib/rabbit/theme/rabbit-block-quote/property.rb:2
 msgid "Rabbit Block Quote"
 msgstr ""
 
-#: ../lib/rabbit/theme/rabbit-block-quote/property.rb:3
 msgid "Displays quotation block with quote mark in frame."
 msgstr ""
 
-#: ../lib/rabbit/theme/rabbit-headline-logo/property.rb:2
 msgid "RabbitHeadlineLogo"
 msgstr ""
 
-#: ../lib/rabbit/theme/rabbit-headline-logo/property.rb:3
 msgid "Toolkit to display Lavie as a logo at the headlines"
 msgstr ""
 
-#: ../lib/rabbit/theme/rabbit-headline-logo/property.rb:4
 msgid "Displays Lavie as a logo at the headlines of slides."
 msgstr ""
 
-#: ../lib/rabbit/theme/rabbit-icon/property.rb:2
 msgid "RabbitIcon"
 msgstr ""
 
-#: ../lib/rabbit/theme/rabbit-icon/property.rb:3
 msgid "Toolkit to use Lavie as icons"
 msgstr ""
 
-#: ../lib/rabbit/theme/rabbit-icon/property.rb:4
 msgid "Uses Lavie as icons."
 msgstr ""
 
-#: ../lib/rabbit/theme/rabbit-item-mark/property.rb:2
 msgid "RabbitItemMark"
 msgstr ""
 
-#: ../lib/rabbit/theme/rabbit-item-mark/property.rb:3
 msgid "Toolkit to display colorful balls as list item marks"
 msgstr ""
 
-#: ../lib/rabbit/theme/rabbit-item-mark/property.rb:4
 msgid "Displays colorful balls at the head of list items."
 msgstr ""
 
-#: ../lib/rabbit/theme/rabbit-powered-by/property.rb:2
 msgid "RabbitPoweredBy"
 msgstr ""
 
-#: ../lib/rabbit/theme/rabbit-powered-by/property.rb:3
 msgid "Powered-by-Rabbit ad toolkit"
 msgstr ""
 
-#: ../lib/rabbit/theme/rabbit-powered-by/property.rb:4
-msgid "Displays a text and an image showing the presentation slides are powered by Rabbit and COZMIXNG at the foot of the title slide and of the last slide."
+msgid ""
+"Displays a text and an image showing the presentation slides are powered by Ra"
+"bbit and COZMIXNG at the foot of the title slide and of the last slide."
 msgstr ""
 
-#: ../lib/rabbit/theme/rabbit-title-logo/property.rb:2
 msgid "RabbitTitleLogo"
 msgstr ""
 
-#: ../lib/rabbit/theme/rabbit-title-logo/property.rb:3
 msgid "Toolkit to display Lavie as a logo in the title slide"
 msgstr ""
 
-#: ../lib/rabbit/theme/rabbit-title-logo/property.rb:4
 msgid "Displays Lavie as a logo in the title slide."
 msgstr ""
 
-#: ../lib/rabbit/theme/rabbit/property.rb:3
 msgid "Rabbit theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/ranguba/property.rb:2
 msgid "Ranguba"
 msgstr ""
 
-#: ../lib/rabbit/theme/ranguba/property.rb:3
 msgid "Ranguba theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/red-frame/property.rb:2
 msgid "RedFrame"
 msgstr ""
 
-#: ../lib/rabbit/theme/red-frame/property.rb:3
 msgid "Red frame theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/rotate-zoom-effect/property.rb:2
 msgid "Rotate Zoom Effect"
 msgstr ""
 
-#: ../lib/rabbit/theme/rotate-zoom-effect/property.rb:3
 msgid "Provide rotate_zoom_effect method that rotates and zooms content."
 msgstr ""
 
-#: ../lib/rabbit/theme/ruby-gnome2-description/property.rb:2
 msgid "RubyGNOME2Description"
 msgstr ""
 
-#: ../lib/rabbit/theme/ruby-gnome2-description/property.rb:3
-msgid "Toolkit to display description-list items like ones in the website of the Ruby-GNOME2 Project"
+msgid ""
+"Toolkit to display description-list items like ones in the website of the Ruby"
+"-GNOME2 Project"
 msgstr ""
 
-#: ../lib/rabbit/theme/ruby-gnome2-description/property.rb:5
-msgid "Displays description-list items like ones in the website of the Ruby-GNOME2 Project; i.e. displays their text colored blue."
+msgid ""
+"Displays description-list items like ones in the website of the Ruby-GNOME2 Pr"
+"oject; i.e. displays their text colored blue."
 msgstr ""
 
-#: ../lib/rabbit/theme/ruby-gnome2-foot-text/property.rb:2
 msgid "Ruby-GNOME2 Foot Text"
 msgstr ""
 
-#: ../lib/rabbit/theme/ruby-gnome2-foot-text/property.rb:3
 msgid "Displays foot text at the footer of slide with Ruby-GNOME2 style."
 msgstr ""
 
-#: ../lib/rabbit/theme/ruby-gnome2-headline/property.rb:2
 msgid "RubyGNOME2Headline"
 msgstr ""
 
-#: ../lib/rabbit/theme/ruby-gnome2-headline/property.rb:3
-msgid "Toolkit to display headlines like those in the website of the Ruby-GNOME2 Project"
+msgid ""
+"Toolkit to display headlines like those in the website of the Ruby-GNOME2 Proj"
+"ect"
 msgstr ""
 
-#: ../lib/rabbit/theme/ruby-gnome2-headline/property.rb:5
-msgid "Displays headlines like ones in the website of the Ruby-GNOME2 Project; i.e. displays their text colored white and placed in the dark red boxes with pink frames."
+msgid ""
+"Displays headlines like ones in the website of the Ruby-GNOME2 Project; i.e. d"
+"isplays their text colored white and placed in the dark red boxes with pink fr"
+"ames."
 msgstr ""
 
-#: ../lib/rabbit/theme/ruby-gnome2-icon/property.rb:2
 msgid "RubyGNOME2Icon"
 msgstr ""
 
-#: ../lib/rabbit/theme/ruby-gnome2-icon/property.rb:3
 msgid "Toolkit to use a pink circle as icons"
 msgstr ""
 
-#: ../lib/rabbit/theme/ruby-gnome2-icon/property.rb:4
 msgid "Uses a pink circle as icons."
 msgstr ""
 
-#: ../lib/rabbit/theme/ruby-gnome2-item-mark/property.rb:2
 msgid "RubyGNOME2ItemMark"
 msgstr ""
 
-#: ../lib/rabbit/theme/ruby-gnome2-item-mark/property.rb:3
-msgid "Toolkit to display list items like ones in the website of the Ruby-GNOME2 Project"
+msgid ""
+"Toolkit to display list items like ones in the website of the Ruby-GNOME2 Proj"
+"ect"
 msgstr ""
 
-#: ../lib/rabbit/theme/ruby-gnome2-item-mark/property.rb:5
-msgid "Displays list items like ones in the website of the Ruby-GNOME2 Project; i.e. displays text of the first-level items colored blue and underlined, the second- and third-level items marked with black squares and circles."
+msgid ""
+"Displays list items like ones in the website of the Ruby-GNOME2 Project; i.e. "
+"displays text of the first-level items colored blue and underlined, the second"
+"- and third-level items marked with black squares and circles."
 msgstr ""
 
-#: ../lib/rabbit/theme/ruby-gnome2-preformatted/property.rb:2
 msgid "Ruby-GNOME2 Preformatted"
 msgstr ""
 
-#: ../lib/rabbit/theme/ruby-gnome2-preformatted/property.rb:3
 msgid "Displays preformatted text with Ruby-GNOME2 style."
 msgstr ""
 
-#: ../lib/rabbit/theme/ruby-gnome2-slide/property.rb:2
 msgid "Ruby-GNOME2 Slide"
 msgstr ""
 
-#: ../lib/rabbit/theme/ruby-gnome2-slide/property.rb:3
 msgid "Displays slides with Ruby-GNOME2 style."
 msgstr ""
 
-#: ../lib/rabbit/theme/ruby-gnome2/property.rb:2
 msgid "Ruby-GNOME2"
 msgstr ""
 
-#: ../lib/rabbit/theme/ruby-gnome2/property.rb:3
 msgid "Ruby-GNOME2 theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/rubykaigi2011/property.rb:2
 msgid "RubyKaigi2011"
 msgstr ""
 
-#: ../lib/rabbit/theme/rubykaigi2011/property.rb:3
 msgid "RubyKaigi2011 theme"
 msgstr ""
 
-#: ../lib/rabbit/theme/scroll-effect/property.rb:2
 msgid "Scroll Effect"
 msgstr ""
 
-#: ../lib/rabbit/theme/scroll-effect/property.rb:3
 msgid "Provide scroll_effect method that scrolls content."
 msgstr ""
 
-#: ../lib/rabbit/theme/show-frame/property.rb:2
 msgid "ShowFrame"
 msgstr ""
 
-#: ../lib/rabbit/theme/show-frame/property.rb:3
 msgid "Debug toolkit to show element frames"
 msgstr ""
 
-#: ../lib/rabbit/theme/show-frame/property.rb:4
 msgid "Show element frames useful for debug."
 msgstr ""
 
-#: ../lib/rabbit/theme/show-frame/property.rb:8
 msgid "Frame color."
 msgstr ""
 
-#: ../lib/rabbit/theme/simple-item-mark/property.rb:2
 msgid "SimpleItemMark"
 msgstr ""
 
-#: ../lib/rabbit/theme/simple-item-mark/property.rb:3
 msgid "Toolkit to display simple black circles as list item marks"
 msgstr ""
 
-#: ../lib/rabbit/theme/simple-item-mark/property.rb:4
 msgid "Displays simple black circles at the head of list items."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-background-image/property.rb:2
 msgid "SlideBackgroundImage"
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-background-image/property.rb:3
 msgid "Toolkit to display an image as a background of slides"
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-background-image/property.rb:4
 msgid "Displays an image as a background of slides."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-background/property.rb:2
 msgid "SlideBackground"
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-background/property.rb:3
 msgid "Backward compatibility theme for ((<slide-background-image>))"
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-background/property.rb:4
 msgid "See ((<slide-background-image>))"
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:2
-#: ../lib/rabbit/theme/slide-header-info/property.rb:2
 msgid "Slide Footer Info"
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:3
 msgid "Toolkit to display information at the footer"
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:4
 msgid "Displays information with a line at the footer of slides."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:8
-#: ../lib/rabbit/theme/slide-header-info/property.rb:8
 msgid "Line color."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:12
-#: ../lib/rabbit/theme/slide-header-info/property.rb:12
 msgid "Line width."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:15
-#: ../lib/rabbit/theme/slide-header-info/property.rb:15
 msgid "white <-> black gradation"
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:16
-msgid "Line fill pattern. @slide_footer_info_line_color is ignored if this parameter is specified."
+msgid ""
+"Line fill pattern. @slide_footer_info_line_color is ignored if this parameter "
+"is specified."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:21
-#: ../lib/rabbit/theme/slide-header-info/property.rb:21
 msgid "Text size."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:25
-#: ../lib/rabbit/theme/slide-header-info/property.rb:25
 msgid "x-axis margin."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:29
-#: ../lib/rabbit/theme/slide-header-info/property.rb:29
 msgid "Text color."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:33
-#: ../lib/rabbit/theme/slide-header-info/property.rb:33
 msgid "Whether show a text over line or not."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:37
-#: ../lib/rabbit/theme/slide-header-info/property.rb:37
 msgid "Base y-axis position to stroke line."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-header-info/property.rb:3
 msgid "Toolkit to display information at the header"
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-header-info/property.rb:4
 msgid "Displays information with a line at the header of slides."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-header-info/property.rb:16
-msgid "Line fill pattern. @slide_header_info_line_color is ignored if this parameter is specified."
+msgid ""
+"Line fill pattern. @slide_header_info_line_color is ignored if this parameter "
+"is specified."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-logo/property.rb:2
 msgid "Slide Logo"
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-logo/property.rb:3
 msgid "Toolkit to display an image as logo at the top"
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-logo/property.rb:4
 msgid "Displays an image as a logo at the top of all slides."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-logo/property.rb:12
 msgid "Image position. :right or :left."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-logo/property.rb:16
 msgid "Image width."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-logo/property.rb:20
 msgid "Image height."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-logo/slide-logo.rb:4
-#: ../lib/rabbit/theme/title-logo/title-logo.rb:4
 msgid "must specify %s!!!"
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-number/property.rb:2
 msgid "TextSlideNumber"
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-number/property.rb:3
 msgid "Toolkit to display slide numbers, a text version"
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-number/property.rb:4
 msgid "Displays slide numbers with text at the bottom of the slides."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-number/property.rb:12
 msgid "Properties of the slide numbers, such as font family."
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-show/property.rb:2
 msgid "Slide Show"
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-show/property.rb:3
 msgid "Toolkit to do slide show"
 msgstr ""
 
-#: ../lib/rabbit/theme/slide-show/property.rb:4
 msgid "Move to the next slide automatically."
 msgstr ""
 
-#: ../lib/rabbit/theme/stream-comment/property.rb:2
 msgid "Stream Comment"
 msgstr ""
 
-#: ../lib/rabbit/theme/stream-comment/property.rb:3
 msgid "Stream comments on canvas."
 msgstr ""
 
-#: ../lib/rabbit/theme/syntax-highlighting/property.rb:2
 msgid "Syntax Highlighting"
 msgstr ""
 
-#: ../lib/rabbit/theme/syntax-highlighting/property.rb:3
 msgid "Toolkit for syntax highlighting"
 msgstr ""
 
-#: ../lib/rabbit/theme/syntax-highlighting/property.rb:4
 msgid "Applies syntax highlighting style."
 msgstr ""
 
-#: ../lib/rabbit/theme/table/property.rb:2
 msgid "Table"
 msgstr ""
 
-#: ../lib/rabbit/theme/table/property.rb:3
 msgid "table rendering"
 msgstr ""
 
-#: ../lib/rabbit/theme/tag/property.rb:2
 msgid "Tag"
 msgstr ""
 
-#: ../lib/rabbit/theme/tag/property.rb:3
 msgid "Toolkit to apply custom tag"
 msgstr ""
 
-#: ../lib/rabbit/theme/tag/property.rb:4
 msgid "Applies custom tag style."
 msgstr ""
 
-#: ../lib/rabbit/theme/timer/property.rb:2
 msgid "TextTimer"
 msgstr ""
 
-#: ../lib/rabbit/theme/timer/property.rb:3
 msgid "text version timer"
 msgstr ""
 
-#: ../lib/rabbit/theme/title-background-color/property.rb:2
 msgid "TitleBackgroundColor"
 msgstr ""
 
-#: ../lib/rabbit/theme/title-background-color/property.rb:3
 msgid "Toolkit to color a background of the title slide"
 msgstr ""
 
-#: ../lib/rabbit/theme/title-background-color/property.rb:4
 msgid "Color a background of the title slide."
 msgstr ""
 
-#: ../lib/rabbit/theme/title-background-color/property.rb:8
 msgid "Background color."
 msgstr ""
 
-#: ../lib/rabbit/theme/title-background-image/property.rb:2
 msgid "TitleBackgroundImage"
 msgstr ""
 
-#: ../lib/rabbit/theme/title-background-image/property.rb:3
-#: ../lib/rabbit/theme/title-slide-background-image/property.rb:3
 msgid "Toolkit to display an image as a background of the title slide"
 msgstr ""
 
-#: ../lib/rabbit/theme/title-background-image/property.rb:5
-#: ../lib/rabbit/theme/title-slide-background-image/property.rb:4
 msgid "Displays an image as a background of the title slide."
 msgstr ""
 
-#: ../lib/rabbit/theme/title-logo/property.rb:2
 msgid "TitleLogo"
 msgstr ""
 
-#: ../lib/rabbit/theme/title-logo/property.rb:3
 msgid "Toolkit to display an image as a logo in the title slide"
 msgstr ""
 
-#: ../lib/rabbit/theme/title-logo/property.rb:4
 msgid "Displays an image as a logo in the title slide."
 msgstr ""
 
-#: ../lib/rabbit/theme/title-logo/property.rb:12
-msgid "Position of the logo. The logo will be set at the upper-right corner when '(({:right}))', and at the upper-left corner when '(({:left}))'."
+msgid ""
+"Position of the logo. The logo will be set at the upper-right corner when '(({"
+":right}))', and at the upper-left corner when '(({:left}))'."
 msgstr ""
 
-#: ../lib/rabbit/theme/title-on-image-toolkit/property.rb:2
 msgid "Title on Image Toolkit"
 msgstr ""
 
-#: ../lib/rabbit/theme/title-on-image-toolkit/property.rb:3
 msgid "Displays title on image"
 msgstr ""
 
-#: ../lib/rabbit/theme/title-shadow/property.rb:2
 msgid "TitleShadow"
 msgstr ""
 
-#: ../lib/rabbit/theme/title-shadow/property.rb:3
 msgid "Toolkit to display shadows behind the title"
 msgstr ""
 
-#: ../lib/rabbit/theme/title-shadow/property.rb:4
 msgid "Displays shadows behind the title string in the title slide."
 msgstr ""
 
-#: ../lib/rabbit/theme/title-shadow/property.rb:9
 msgid "Color of shadow."
 msgstr ""
 
-#: ../lib/rabbit/theme/title-slide-background-image/property.rb:2
 msgid "TitleSlideBackgroundImage"
 msgstr ""
diff --git a/po/ja/rabbit.po b/po/ja/rabbit.edit.po
similarity index 78%
copy from po/ja/rabbit.po
copy to po/ja/rabbit.edit.po
index cabe1de..55698a6 100644
--- a/po/ja/rabbit.po
+++ b/po/ja/rabbit.edit.po
@@ -6,34 +6,16 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Rabbit 0.5.4\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-06-01 13:03+0900\n"
-"PO-Revision-Date: 2013-06-01 13:05+0900\n"
+"PO-Revision-Date: 2016-11-19 10:38+0900\n"
 "Last-Translator: Kouhei Sutou <kou at cozmixng.org>\n"
-"Language-Team: Kouhei Sutou <kou at cozmixng.org> and Kobayashi Noritada <nori1 at dolphin.c.u-tokyo.ac.jp>\n"
+"Language-Team: Kouhei Sutou <kou at cozmixng.org> and Kobayashi Noritada <nori1 at d"
+"olphin.c.u-tokyo.ac.jp>\n"
 "Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
-#: 
-#: ../lib/rabbit/theme/default-item-mark-setup/default-item-mark-setup.rb:81
-msgid ""
-"unknown enumeration item mark type: %s\n"
-"Numeric type is used as fallback"
-msgstr ""
-"未知の順序つきリスト項目マークのタイプ: %s\n"
-"代わりに数値タイプを使います。"
-
-#: 
-#: ../lib/rabbit/theme/default-item-mark-setup/default-item-mark-setup.rb:31
-msgid ""
-"unknown item mark type: %s\n"
-"Rectangle type is used as fallback"
-msgstr ""
-"未知の項目マークのタイプ: %s\n"
-"代わりに四角を使います。"
-
 #: ../bin/rabbit-command:18
 msgid "Specify Rabbit's dRuby URI as [URI]."
 msgstr "RabbitのdRuby URIを[URI]とします."
@@ -106,15 +88,7 @@ msgstr "ブラックアウト切替え"
 msgid "Quit"
 msgstr "終了"
 
-#: ../data/rabbit/image/clear-blue-images/property.rb:1
-#: ../data/rabbit/image/cozmixng-images/property.rb:1
-#: ../data/rabbit/image/dark-gradation-images/property.rb:1
-#: ../data/rabbit/image/debian-images/property.rb:1
-#: ../data/rabbit/image/nari-images/property.rb:1
-#: ../data/rabbit/image/rabbit-images/property.rb:1
-#: ../data/rabbit/image/ruby-images/property.rb:1
-#: ../data/rabbit/image/rubykaigi2011-images/property.rb:1
-#: ../lib/rabbit/theme/image/property.rb:2
+#: ../data/rabbit/image/clear-blue-images/property.rb:1 ../data/rabbit/image/cozmixng-images/property.rb:1 ../data/rabbit/image/dark-gradation-images/property.rb:1 ../data/rabbit/image/debian-images/property.rb:1 ../data/rabbit/image/nari-images/property.rb:1 ../data/rabbit/image/rabbit-images/property.rb:1 ../data/rabbit/image/ruby-images/property.rb:1 ../data/rabbit/image/rubykaigi2011-images/property.rb:1 ../lib/rabbit/theme/image/property.rb:2
 msgid "Image"
 msgstr "画像"
 
@@ -246,6 +220,10 @@ msgstr "ジャンプ"
 msgid "Save as image"
 msgstr "画像として保存"
 
+#: ../lib/rabbit/action/basic.rb:83 ../lib/rabbit/command/rabbit.rb:318
+msgid "Print"
+msgstr "印刷"
+
 #: ../lib/rabbit/action/basic.rb:91
 msgid "Iconify"
 msgstr "最小化"
@@ -342,16 +320,19 @@ msgstr "スライド検索修了"
 msgid "Log Level"
 msgstr "ログレベル"
 
-#: ../lib/rabbit/action/radio.rb:37
-#: ../lib/rabbit/command/rabbit-slide.rb:353
-#: ../lib/rabbit/command/rabbit-slide.rb:369
-#: ../lib/rabbit/command/rabbit-theme.rb:211
-#: ../lib/rabbit/command/rabbit-theme.rb:227
+#: ../lib/rabbit/action/radio.rb:27 ../lib/rabbit/action/toggle.rb:12
+msgid "Whiteout"
+msgstr "ホワイトアウト"
+
+#: ../lib/rabbit/action/radio.rb:32 ../lib/rabbit/action/toggle.rb:23
+msgid "Blackout"
+msgstr "ブラックアウト"
+
+#: ../lib/rabbit/action/radio.rb:37 ../lib/rabbit/command/rabbit-slide.rb:354 ../lib/rabbit/command/rabbit-slide.rb:370 ../lib/rabbit/command/rabbit-theme.rb:211 ../lib/rabbit/command/rabbit-theme.rb:227
 msgid "Show"
 msgstr "表示"
 
-#: ../lib/rabbit/action/radio.rb:48
-#: ../lib/rabbit/theme/show-frame/property.rb:1
+#: ../lib/rabbit/action/radio.rb:48 ../lib/rabbit/theme/show-frame/property.rb:1
 msgid "Debug"
 msgstr "デバッグ"
 
@@ -375,14 +356,6 @@ msgstr "致命的"
 msgid "Unknown"
 msgstr "未知"
 
-#: ../lib/rabbit/action/radio.rb:27 ../lib/rabbit/action/toggle.rb:12
-msgid "Whiteout"
-msgstr "ホワイトアウト"
-
-#: ../lib/rabbit/action/radio.rb:32 ../lib/rabbit/action/toggle.rb:23
-msgid "Blackout"
-msgstr "ブラックアウト"
-
 #: ../lib/rabbit/action/toggle.rb:30
 msgid "Index mode"
 msgstr "一覧モード"
@@ -415,21 +388,19 @@ msgstr "作者設定の読み込みに失敗しました: %s: %s"
 msgid "Failed to write author configuration: %s: %s"
 msgstr "作者設定の書き込みに失敗しました: %s: %s"
 
-#: ../lib/rabbit/canvas.rb:607
+#: ../lib/rabbit/canvas.rb:604
 msgid "Unknown action: %s"
 msgstr "未知のアクション: %s"
 
-#: ../lib/rabbit/canvas.rb:675
+#: ../lib/rabbit/canvas.rb:672
 msgid "Processing..."
 msgstr "処理中です..."
 
-#: ../lib/rabbit/command/rabbit-slide.rb:50
-#: ../lib/rabbit/command/rabbit-theme.rb:48
+#: ../lib/rabbit/command/rabbit-slide.rb:50 ../lib/rabbit/command/rabbit-theme.rb:48
 msgid "See --help for example"
 msgstr "--helpで例を確認できます"
 
 #: ../lib/rabbit/command/rabbit-slide.rb:76
-#, fuzzy
 msgid ""
 "Usage: %s COMMAND [OPTIONS]\n"
 " e.g.: %s new \\\n"
@@ -442,7 +413,7 @@ msgid ""
 "          --slideshare-user kou \\\n"
 "          --speaker-deck-user kou"
 msgstr ""
-"使い方: %s new [オプション]\n"
+"使い方: %s COMMAND [オプション]\n"
 "    例: %s new \\\n"
 "          --id rubykaigi2012 \\\n"
 "          --base-name rabbit-introduction \\\n"
@@ -459,11 +430,11 @@ msgstr ""
 
 #: ../lib/rabbit/command/rabbit-slide.rb:92
 msgid "  new:    create a new slide"
-msgstr ""
+msgstr "  new:    新しいスライドを作成"
 
 #: ../lib/rabbit/command/rabbit-slide.rb:93
 msgid "  change: change an existing slide"
-msgstr ""
+msgstr "  change: 既存のスライドを変更"
 
 #: ../lib/rabbit/command/rabbit-slide.rb:96
 msgid "Slide information"
@@ -473,28 +444,11 @@ msgstr "スライドの情報"
 msgid "Slide ID"
 msgstr "スライドID"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:100
-#: ../lib/rabbit/command/rabbit-slide.rb:107
-#: ../lib/rabbit/command/rabbit-slide.rb:119
-#: ../lib/rabbit/command/rabbit-slide.rb:133
-#: ../lib/rabbit/command/rabbit-slide.rb:141
-#: ../lib/rabbit/command/rabbit-slide.rb:148
-#: ../lib/rabbit/command/rabbit-slide.rb:155
-#: ../lib/rabbit/command/rabbit-slide.rb:164
-#: ../lib/rabbit/command/rabbit-slide.rb:177
-#: ../lib/rabbit/command/rabbit-slide.rb:191
-#: ../lib/rabbit/command/rabbit-slide.rb:205
-#: ../lib/rabbit/command/rabbit-slide.rb:219
-#: ../lib/rabbit/command/rabbit-theme.rb:83
-#: ../lib/rabbit/command/rabbit-theme.rb:92
-#: ../lib/rabbit/command/rabbit-theme.rb:105
-#: ../lib/rabbit/command/rabbit-theme.rb:119
+#: ../lib/rabbit/command/rabbit-slide.rb:100 ../lib/rabbit/command/rabbit-slide.rb:107 ../lib/rabbit/command/rabbit-slide.rb:119 ../lib/rabbit/command/rabbit-slide.rb:133 ../lib/rabbit/command/rabbit-slide.rb:141 ../lib/rabbit/command/rabbit-slide.rb:148 ../lib/rabbit/command/rabbit-slide.rb:155 ../lib/rabbit/command/rabbit-slide.rb:164 ../lib/rabbit/command/rabbit-slide.rb:177 ../lib/rabbit/command/rabbit-slide.rb:191 ../lib/rabbit/command/rabbit-slide.rb:205 ../lib/rabbit/command/rabbi [...]
 msgid "(e.g.: %s)"
 msgstr "(例: %s)"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:101
-#: ../lib/rabbit/command/rabbit-slide.rb:108
-#: ../lib/rabbit/command/rabbit-theme.rb:84
+#: ../lib/rabbit/command/rabbit-slide.rb:101 ../lib/rabbit/command/rabbit-slide.rb:108 ../lib/rabbit/command/rabbit-theme.rb:84
 msgid "(must)"
 msgstr "(必須)"
 
@@ -510,31 +464,11 @@ msgstr "新しいスライドのマークアップ言語"
 msgid "(available markup languages: %s)"
 msgstr "(利用可能なマークアップ言語: %s)"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:123
-#: ../lib/rabbit/command/rabbit-slide.rb:167
-#: ../lib/rabbit/command/rabbit-slide.rb:180
-#: ../lib/rabbit/command/rabbit-slide.rb:194
-#: ../lib/rabbit/command/rabbit-slide.rb:208
-#: ../lib/rabbit/command/rabbit-slide.rb:222
-#: ../lib/rabbit/command/rabbit-theme.rb:95
-#: ../lib/rabbit/command/rabbit-theme.rb:108
-#: ../lib/rabbit/command/rabbit-theme.rb:122
+#: ../lib/rabbit/command/rabbit-slide.rb:123 ../lib/rabbit/command/rabbit-slide.rb:167 ../lib/rabbit/command/rabbit-slide.rb:180 ../lib/rabbit/command/rabbit-slide.rb:194 ../lib/rabbit/command/rabbit-slide.rb:208 ../lib/rabbit/command/rabbit-slide.rb:222 ../lib/rabbit/command/rabbit-theme.rb:95 ../lib/rabbit/command/rabbit-theme.rb:108 ../lib/rabbit/command/rabbit-theme.rb:122
 msgid "(default: %s)"
 msgstr "(デフォルト: %s)"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:125
-#: ../lib/rabbit/command/rabbit-slide.rb:134
-#: ../lib/rabbit/command/rabbit-slide.rb:142
-#: ../lib/rabbit/command/rabbit-slide.rb:149
-#: ../lib/rabbit/command/rabbit-slide.rb:156
-#: ../lib/rabbit/command/rabbit-slide.rb:169
-#: ../lib/rabbit/command/rabbit-slide.rb:182
-#: ../lib/rabbit/command/rabbit-slide.rb:196
-#: ../lib/rabbit/command/rabbit-slide.rb:210
-#: ../lib/rabbit/command/rabbit-slide.rb:224
-#: ../lib/rabbit/command/rabbit-theme.rb:97
-#: ../lib/rabbit/command/rabbit-theme.rb:110
-#: ../lib/rabbit/command/rabbit-theme.rb:124
+#: ../lib/rabbit/command/rabbit-slide.rb:125 ../lib/rabbit/command/rabbit-slide.rb:134 ../lib/rabbit/command/rabbit-slide.rb:142 ../lib/rabbit/command/rabbit-slide.rb:149 ../lib/rabbit/command/rabbit-slide.rb:156 ../lib/rabbit/command/rabbit-slide.rb:169 ../lib/rabbit/command/rabbit-slide.rb:182 ../lib/rabbit/command/rabbit-slide.rb:196 ../lib/rabbit/command/rabbit-slide.rb:210 ../lib/rabbit/command/rabbit-slide.rb:224 ../lib/rabbit/command/rabbit-theme.rb:97 ../lib/rabbit/command/rabbit [...]
 msgid "(optional)"
 msgstr "(省略可能)"
 
@@ -558,107 +492,91 @@ msgstr "プレゼンの持ち時間"
 msgid "Presentation date with the new slide"
 msgstr "新しいスライドでプレゼンする日"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:160
-#: ../lib/rabbit/command/rabbit-theme.rb:88
+#: ../lib/rabbit/command/rabbit-slide.rb:160 ../lib/rabbit/command/rabbit-theme.rb:88
 msgid "Your information"
 msgstr "あなたの情報"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:163
-#: ../lib/rabbit/command/rabbit-theme.rb:91
+#: ../lib/rabbit/command/rabbit-slide.rb:163 ../lib/rabbit/command/rabbit-theme.rb:91
 msgid "Author name of the new slide"
 msgstr "新しいスライドの作者の名前"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:176
-#: ../lib/rabbit/command/rabbit-theme.rb:104
+#: ../lib/rabbit/command/rabbit-slide.rb:176 ../lib/rabbit/command/rabbit-theme.rb:104
 msgid "Author e-mail of the new slide"
 msgstr "新しいスライドの作者のEメールアドレス"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:189
-#: ../lib/rabbit/command/rabbit-slide.rb:203
-#: ../lib/rabbit/command/rabbit-slide.rb:217
-#: ../lib/rabbit/command/rabbit-theme.rb:117
+#: ../lib/rabbit/command/rabbit-slide.rb:189 ../lib/rabbit/command/rabbit-slide.rb:203 ../lib/rabbit/command/rabbit-slide.rb:217 ../lib/rabbit/command/rabbit-theme.rb:117
 msgid "Account for %s"
 msgstr "%sのアカウント"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:190
-#: ../lib/rabbit/command/rabbit-slide.rb:204
-#: ../lib/rabbit/command/rabbit-slide.rb:218
-#: ../lib/rabbit/command/rabbit-theme.rb:118
+#: ../lib/rabbit/command/rabbit-slide.rb:190 ../lib/rabbit/command/rabbit-slide.rb:204 ../lib/rabbit/command/rabbit-slide.rb:218 ../lib/rabbit/command/rabbit-theme.rb:118
 msgid "It is used to publish your slide to %s"
 msgstr "%sにスライドを公開するときに使います"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:252
-#: ../lib/rabbit/command/rabbit-theme.rb:143
+#: ../lib/rabbit/command/rabbit-slide.rb:252 ../lib/rabbit/command/rabbit-theme.rb:143
 msgid "too many commands: %s"
 msgstr "コマンドが多過ぎます: %s"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:256
-#: ../lib/rabbit/command/rabbit-theme.rb:148
+#: ../lib/rabbit/command/rabbit-slide.rb:256 ../lib/rabbit/command/rabbit-theme.rb:148
 msgid "invalid command: <%s>: available commands: %s"
 msgstr "不正なコマンド: <%s>: 利用可能なコマンド: %s"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:264
-#: ../lib/rabbit/command/rabbit-slide.rb:270
-#: ../lib/rabbit/command/rabbit-theme.rb:156
+#: ../lib/rabbit/command/rabbit-slide.rb:264 ../lib/rabbit/command/rabbit-slide.rb:270 ../lib/rabbit/command/rabbit-theme.rb:156
 msgid "%s is missing"
 msgstr "%sがありません"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:345
+#: ../lib/rabbit/command/rabbit-slide.rb:346
 msgid "TODO: SLIDE TITLE"
 msgstr "TODO: スライドのタイトル"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:348
+#: ../lib/rabbit/command/rabbit-slide.rb:349
 msgid "TODO: SLIDE DESCRIPTION"
 msgstr "TODO: スライドの説明"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:351
-#: ../lib/rabbit/command/rabbit-theme.rb:209
+#: ../lib/rabbit/command/rabbit-slide.rb:352 ../lib/rabbit/command/rabbit-theme.rb:209
 msgid "For author"
 msgstr "作者向け"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:357
-#: ../lib/rabbit/command/rabbit-theme.rb:215
+#: ../lib/rabbit/command/rabbit-slide.rb:358 ../lib/rabbit/command/rabbit-theme.rb:215
 msgid "Publish"
 msgstr "公開"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:362
+#: ../lib/rabbit/command/rabbit-slide.rb:363
 msgid "For viewers"
 msgstr "閲覧者向け"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:364
-#: ../lib/rabbit/command/rabbit-theme.rb:222
+#: ../lib/rabbit/command/rabbit-slide.rb:365 ../lib/rabbit/command/rabbit-theme.rb:222
 msgid "Install"
 msgstr "インストール"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:435
+#: ../lib/rabbit/command/rabbit-slide.rb:444
 msgid "TITLE"
 msgstr "タイトル"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:437
+#: ../lib/rabbit/command/rabbit-slide.rb:446
 msgid "FIRST SLIDE"
 msgstr "最初のスライド"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:439
+#: ../lib/rabbit/command/rabbit-slide.rb:448
 msgid "SECOND SLIDE"
 msgstr "二番目のスライド"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:451
+#: ../lib/rabbit/command/rabbit-slide.rb:460
 msgid "SUBTITLE"
 msgstr "サブタイトル"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:452
+#: ../lib/rabbit/command/rabbit-slide.rb:461
 msgid "AUTHOR"
 msgstr "作者"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:453
+#: ../lib/rabbit/command/rabbit-slide.rb:462
 msgid "INSTITUTION"
 msgstr "所属"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:454
+#: ../lib/rabbit/command/rabbit-slide.rb:463
 msgid "EVENT NAME"
 msgstr "イベント名"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:475
+#: ../lib/rabbit/command/rabbit-slide.rb:484
 msgid "ITEM %d"
 msgstr "項目%d"
 
@@ -698,62 +616,35 @@ msgstr "TODO: テーマの説明"
 msgid "For users"
 msgstr "利用者用"
 
-#: ../lib/rabbit/command/rabbit-theme.rb:229
-#: ../lib/rabbit/task/theme.rb:95
+#: ../lib/rabbit/command/rabbit-theme.rb:229 ../lib/rabbit/task/theme.rb:96
 msgid "rabbit-theme-benchmark-en.gem"
 msgstr "rabbit-theme-benchmark-ja.gem"
 
-#: ../lib/rabbit/command/rabbit.rb:143
-#: ../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/theme/green-circle/property.rb:1
-#: ../lib/rabbit/theme/image-viewer/property.rb:1
-#: ../lib/rabbit/theme/lightning-clear-blue/property.rb:1
-#: ../lib/rabbit/theme/lightning-monochrome/property.rb:1
-#: ../lib/rabbit/theme/lightning-rabbit/property.rb:1
-#: ../lib/rabbit/theme/lightning-simple/property.rb:1
-#: ../lib/rabbit/theme/lightning-talk/property.rb:1
-#: ../lib/rabbit/theme/nari/property.rb:1
-#: ../lib/rabbit/theme/night-black/property.rb:1
-#: ../lib/rabbit/theme/pdf/property.rb:1
-#: ../lib/rabbit/theme/rabbit/property.rb:1
-#: ../lib/rabbit/theme/ranguba/property.rb:1
-#: ../lib/rabbit/theme/red-frame/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2/property.rb:1
-#: ../lib/rabbit/theme/rubykaigi2011/property.rb:1
+#: ../lib/rabbit/command/rabbit.rb:147 ../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:146
+#: ../lib/rabbit/command/rabbit.rb:150
 msgid "Add [PATH] to load path."
 msgstr "[PATH]をロードパスに追加します."
 
-#: ../lib/rabbit/command/rabbit.rb:151
+#: ../lib/rabbit/command/rabbit.rb:155
 msgid "Use [THEME] as theme."
 msgstr "テーマに[THEME]を使用します."
 
-#: ../lib/rabbit/command/rabbit.rb:158
+#: ../lib/rabbit/command/rabbit.rb:162
 msgid "Use [THEME] for comment."
 msgstr "コメント用のテーマに[THEME]を使用します."
 
-#: ../lib/rabbit/command/rabbit.rb:164
+#: ../lib/rabbit/command/rabbit.rb:168
 msgid "Use [TIME] as allotted time."
 msgstr "持ち時間を[TIME]とします。"
 
-#: ../lib/rabbit/command/rabbit.rb:170
-#: ../lib/rabbit/html/generator.rb:404
+#: ../lib/rabbit/command/rabbit.rb:174 ../lib/rabbit/html/generator.rb:404
 msgid "Source"
 msgstr "ソース"
 
-#: ../lib/rabbit/command/rabbit.rb:177
+#: ../lib/rabbit/command/rabbit.rb:181
 msgid ""
 "When select %s\n"
 "specify %s\n"
@@ -763,69 +654,67 @@ msgstr ""
 "[SOURCE_INFOS]として\n"
 "%sを指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:184
+#: ../lib/rabbit/command/rabbit.rb:188
 msgid "Specify source type as [TYPE]."
 msgstr "[TYPE]にソースの種類を指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:186
+#: ../lib/rabbit/command/rabbit.rb:189 ../lib/rabbit/console.rb:165 ../lib/rabbit/console.rb:182
+msgid "Select from [%s]."
+msgstr "[%s]から選びます."
+
+#: ../lib/rabbit/command/rabbit.rb:190
 msgid "Note: case insensitive."
 msgstr "注意: 大文字小文字は区別しません."
 
-#: ../lib/rabbit/command/rabbit.rb:200
+#: ../lib/rabbit/command/rabbit.rb:204
 msgid "Specify source encoding as [ENCODING]."
 msgstr "[ENCODING]にソースエンコーディングを指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:201
-#: ../lib/rabbit/command/rabbit.rb:207
-#: ../lib/rabbit/command/rabbit.rb:368
-#: ../lib/rabbit/command/rabbit.rb:375
-#: ../lib/rabbit/command/rabbit.rb:382
-#: ../lib/rabbit/command/rabbit.rb:389
-#: ../lib/rabbit/command/rabbit.rb:414
-#: ../lib/rabbit/command/rabbit.rb:421
-#: ../lib/rabbit/command/rabbit.rb:428
-#: ../lib/rabbit/command/rabbit.rb:435
-#: ../lib/rabbit/command/rabbit.rb:556 ../lib/rabbit/console.rb:150
+#: ../lib/rabbit/command/rabbit.rb:205 ../lib/rabbit/command/rabbit.rb:211 ../lib/rabbit/command/rabbit.rb:378 ../lib/rabbit/command/rabbit.rb:385 ../lib/rabbit/command/rabbit.rb:392 ../lib/rabbit/command/rabbit.rb:399 ../lib/rabbit/command/rabbit.rb:424 ../lib/rabbit/command/rabbit.rb:431 ../lib/rabbit/command/rabbit.rb:438 ../lib/rabbit/command/rabbit.rb:445 ../lib/rabbit/command/rabbit.rb:558 ../lib/rabbit/console.rb:150
 msgid "(auto)"
 msgstr "(自動)"
 
-#: ../lib/rabbit/command/rabbit.rb:206
+#: ../lib/rabbit/command/rabbit.rb:210
 msgid "Specify base URI or path of source as [BASE]."
 msgstr "ソースのベースURIまたはベースパスを[BASE]とします."
 
-#: ../lib/rabbit/command/rabbit.rb:212
+#: ../lib/rabbit/command/rabbit.rb:216
 msgid "Initial state"
 msgstr "初期状態"
 
-#: ../lib/rabbit/command/rabbit.rb:215
+#: ../lib/rabbit/command/rabbit.rb:219
 msgid "Toggle full screen mode."
 msgstr "フルスクリーンモードに切替えます."
 
-#: ../lib/rabbit/command/rabbit.rb:221
+#: ../lib/rabbit/command/rabbit.rb:225
 msgid "Toggle index mode."
 msgstr "一覧モードに切替えます."
 
-#: ../lib/rabbit/command/rabbit.rb:227
+#: ../lib/rabbit/command/rabbit.rb:231
+msgid "Show the Nth slide. (zero-based)"
+msgstr "N番目のスライドを表示。(0はじまり)"
+
+#: ../lib/rabbit/command/rabbit.rb:237
 msgid "Size"
 msgstr "サイズ"
 
-#: ../lib/rabbit/command/rabbit.rb:230
+#: ../lib/rabbit/command/rabbit.rb:240
 msgid "Set window geometry [GEOMETRY]."
 msgstr "ウィンドウの位置を[GEOMETRY]にします."
 
-#: ../lib/rabbit/command/rabbit.rb:231
+#: ../lib/rabbit/command/rabbit.rb:241
 msgid "Format: WIDTHxHEIGHT+X+Y"
 msgstr "フォーマット: WIDTHxHEIGHT+X+Y"
 
-#: ../lib/rabbit/command/rabbit.rb:238
+#: ../lib/rabbit/command/rabbit.rb:248
 msgid "Set window width to [WIDTH]."
 msgstr "ウィンドウの幅を[WIDTH]にします."
 
-#: ../lib/rabbit/command/rabbit.rb:245
+#: ../lib/rabbit/command/rabbit.rb:255
 msgid "Set window height to [HEIGHT]."
 msgstr "ウィンドウの高さを[HEIGHT]にします."
 
-#: ../lib/rabbit/command/rabbit.rb:250
+#: ../lib/rabbit/command/rabbit.rb:260
 msgid ""
 "Set window width and height to\n"
 "[WIDTH] and [HEIGHT]."
@@ -833,88 +722,87 @@ msgstr ""
 "ウィンドウの幅と高さを\n"
 "[WIDTH]と[HEIGHT]にします."
 
-#: ../lib/rabbit/command/rabbit.rb:263
+#: ../lib/rabbit/command/rabbit.rb:273
 msgid "Save"
 msgstr "保存"
 
-#: ../lib/rabbit/command/rabbit.rb:266
+#: ../lib/rabbit/command/rabbit.rb:276
 msgid "Save as image and exit."
 msgstr "画像として保存し終了します."
 
-#: ../lib/rabbit/command/rabbit.rb:271
+#: ../lib/rabbit/command/rabbit.rb:281
 msgid "Specify saved image type as [TYPE]."
 msgstr "保存する画像の種類を[TYPE]にします."
 
-#: ../lib/rabbit/command/rabbit.rb:278
+#: ../lib/rabbit/command/rabbit.rb:288
 msgid "Specify saved image base name as [BASE_NAME]."
 msgstr "保存する画像のベース名を[BASE_NAME]にします."
 
-#: ../lib/rabbit/command/rabbit.rb:279
-#: ../lib/rabbit/command/rabbit.rb:317
+#: ../lib/rabbit/command/rabbit.rb:289 ../lib/rabbit/command/rabbit.rb:327
 msgid "Title of slide"
 msgstr "スライドのタイトル"
 
-#: ../lib/rabbit/command/rabbit.rb:284
+#: ../lib/rabbit/command/rabbit.rb:294
 msgid "Output HTML for viewing saved images."
 msgstr "保存した画像を閲覧するためのHTMLを出力します."
 
-#: ../lib/rabbit/command/rabbit.rb:290
+#: ../lib/rabbit/command/rabbit.rb:300
 msgid "Output index HTML for navigating slides."
 msgstr "保存した画像を閲覧するための索引用HTMLを出力します."
 
-#: ../lib/rabbit/command/rabbit.rb:296
+#: ../lib/rabbit/command/rabbit.rb:306
 msgid "Specify base URI of RSS as [URI]."
 msgstr "RSS のベース URI を [URI] と指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:297
+#: ../lib/rabbit/command/rabbit.rb:307
 msgid "RSS is generated only when HTML is output."
 msgstr "RSS は、HTML が出力されるときだけ生成されます。"
 
-#: ../lib/rabbit/command/rabbit.rb:303
+#: ../lib/rabbit/command/rabbit.rb:313
 msgid "Specify source filenam as [FILENAME]."
 msgstr "[FILENAME]をソースファイル名とします."
 
-#: ../lib/rabbit/command/rabbit.rb:311
+#: ../lib/rabbit/command/rabbit.rb:321
 msgid "Print and exit."
 msgstr "印刷し終了します."
 
-#: ../lib/rabbit/command/rabbit.rb:316
+#: ../lib/rabbit/command/rabbit.rb:326
 msgid "Specify printed out filename as [FILENAME]."
 msgstr "[FILENAME]を印刷するファイル名とします."
 
-#: ../lib/rabbit/command/rabbit.rb:323
+#: ../lib/rabbit/command/rabbit.rb:333
 msgid "Set slides per page."
 msgstr "1ページ中のスライドの枚数を設定します."
 
-#: ../lib/rabbit/command/rabbit.rb:329
+#: ../lib/rabbit/command/rabbit.rb:339
 msgid "Draw scaled image."
 msgstr "拡大・縮小した画面を描画します。"
 
-#: ../lib/rabbit/command/rabbit.rb:330
+#: ../lib/rabbit/command/rabbit.rb:340
 msgid "Better look for displaying but lesser look for printing."
 msgstr "画面表示時にはよりキレイになりますが、印刷時には少し見栄えが悪くなります。"
 
-#: ../lib/rabbit/command/rabbit.rb:335
+#: ../lib/rabbit/command/rabbit.rb:345
 msgid "Paper"
 msgstr "用紙"
 
-#: ../lib/rabbit/command/rabbit.rb:339
+#: ../lib/rabbit/command/rabbit.rb:349
 msgid "Set paper width to [WIDTH] Pt."
 msgstr "用紙幅を[WIDTH] Ptにします."
 
-#: ../lib/rabbit/command/rabbit.rb:340
+#: ../lib/rabbit/command/rabbit.rb:350
 msgid "(landscape A4 width)"
 msgstr "(横置きA4の幅)"
 
-#: ../lib/rabbit/command/rabbit.rb:346
+#: ../lib/rabbit/command/rabbit.rb:356
 msgid "Set paper height to [HEIGHT] Pt."
 msgstr "用紙の高さを[HEIGHT] Ptにします."
 
-#: ../lib/rabbit/command/rabbit.rb:347
+#: ../lib/rabbit/command/rabbit.rb:357
 msgid "(landscape A4 height)"
 msgstr "(横置きA4の高さ)"
 
-#: ../lib/rabbit/command/rabbit.rb:351
+#: ../lib/rabbit/command/rabbit.rb:361
 msgid ""
 "Set paper width and height to\n"
 "[WIDTH] Pt and [HEIGHT] Pt."
@@ -922,245 +810,218 @@ msgstr ""
 "用紙の幅と高さを\n"
 "[WIDTH] Ptと[HEIGHT] Ptにします."
 
-#: ../lib/rabbit/command/rabbit.rb:353
+#: ../lib/rabbit/command/rabbit.rb:363
 msgid "(landscape A4 size)"
 msgstr "(横置きA4サイズ)"
 
-#: ../lib/rabbit/command/rabbit.rb:363
+#: ../lib/rabbit/command/rabbit.rb:373
 msgid "Margin"
 msgstr "余白"
 
-#: ../lib/rabbit/command/rabbit.rb:367
+#: ../lib/rabbit/command/rabbit.rb:377
 msgid "Set left margin for slides per page mode print."
 msgstr "1ページ複数スライド印刷モードの左余白を設定します."
 
-#: ../lib/rabbit/command/rabbit.rb:374
+#: ../lib/rabbit/command/rabbit.rb:384
 msgid "Set right margin for slides per page mode print."
 msgstr "1ページ複数スライド印刷モードの右余白を設定します."
 
-#: ../lib/rabbit/command/rabbit.rb:381
+#: ../lib/rabbit/command/rabbit.rb:391
 msgid "Set top margin for slides per page mode print."
 msgstr "1ページ複数スライド印刷モードの上余白を設定します."
 
-#: ../lib/rabbit/command/rabbit.rb:388
+#: ../lib/rabbit/command/rabbit.rb:398
 msgid "Set bottom margin for slides per page mode print."
 msgstr "1ページ複数スライド印刷モードの下余白を設定します."
 
-#: ../lib/rabbit/command/rabbit.rb:393
+#: ../lib/rabbit/command/rabbit.rb:403
 msgid "[ALL]"
 msgstr "[全部]"
 
-#: ../lib/rabbit/command/rabbit.rb:394
+#: ../lib/rabbit/command/rabbit.rb:404
 msgid "[TOP_BOTTOM],[LEFT_RIGHT]"
 msgstr "[上下],[左右]"
 
-#: ../lib/rabbit/command/rabbit.rb:395
+#: ../lib/rabbit/command/rabbit.rb:405
 msgid "[TOP],[LEFT_RIGHT],[BOTTOM]"
 msgstr "[上],[左右],[下]"
 
-#: ../lib/rabbit/command/rabbit.rb:396
+#: ../lib/rabbit/command/rabbit.rb:406
 msgid "[TOP],[RIGHT],[BOTTOM],[LEFT]"
 msgstr "[上],[右],[下],[左]"
 
-#: ../lib/rabbit/command/rabbit.rb:399
+#: ../lib/rabbit/command/rabbit.rb:409
 msgid "Set margin for slides per page mode print."
 msgstr "1ページ複数スライド印刷モードの余白を設定します."
 
-#: ../lib/rabbit/command/rabbit.rb:413
+#: ../lib/rabbit/command/rabbit.rb:423
 msgid "Set left page margin."
 msgstr "左ページ余白を設定します."
 
-#: ../lib/rabbit/command/rabbit.rb:420
+#: ../lib/rabbit/command/rabbit.rb:430
 msgid "Set right page margin."
 msgstr "右ページ余白を指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:427
+#: ../lib/rabbit/command/rabbit.rb:437
 msgid "Set top page margin."
 msgstr "上ページ余白を指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:434
+#: ../lib/rabbit/command/rabbit.rb:444
 msgid "Set bottom page margin."
 msgstr "下ページ余白を指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:441
+#: ../lib/rabbit/command/rabbit.rb:451
 msgid "Set page margin."
 msgstr "ページ余白を指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:453
+#: ../lib/rabbit/command/rabbit.rb:463
 msgid "dRuby"
 msgstr "dRuby"
 
-#: ../lib/rabbit/command/rabbit.rb:456
+#: ../lib/rabbit/command/rabbit.rb:466
 msgid "Specify whether to use dRuby."
 msgstr "dRubyを使うかどうかを指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:462
+#: ../lib/rabbit/command/rabbit.rb:472
 msgid "Specify dRuby URI."
 msgstr "dRuby URIを指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:468
+#: ../lib/rabbit/command/rabbit.rb:478
 msgid "Specify whether to output dRuby URI."
 msgstr "dRuby URIを出力するかどうかを指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:473
+#: ../lib/rabbit/command/rabbit.rb:483
 msgid "SOAP"
 msgstr "SOAP"
 
-#: ../lib/rabbit/command/rabbit.rb:476
+#: ../lib/rabbit/command/rabbit.rb:486
 msgid "Specify whether to use SOAP."
 msgstr "SOAPを使うかどうかを指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:482
+#: ../lib/rabbit/command/rabbit.rb:492
 msgid "Specify SOAP host as [HOST]."
 msgstr "SOAPのホスト名を[HOST]とします."
 
-#: ../lib/rabbit/command/rabbit.rb:489
+#: ../lib/rabbit/command/rabbit.rb:499
 msgid "Specify SOAP port as [PORT]."
 msgstr "SOAPのポートを[PORT]とします."
 
-#: ../lib/rabbit/command/rabbit.rb:494
+#: ../lib/rabbit/command/rabbit.rb:504
 msgid "XML-RPC"
 msgstr "XML-RPC"
 
-#: ../lib/rabbit/command/rabbit.rb:497
+#: ../lib/rabbit/command/rabbit.rb:507
 msgid "Specify whether to use XML-RPC."
 msgstr "XML-RPCを使うかどうかを指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:503
+#: ../lib/rabbit/command/rabbit.rb:513
 msgid "Specify XML-RPC host as [HOST]."
 msgstr "XML-RPCのホスト名を[HOST]とします."
 
-#: ../lib/rabbit/command/rabbit.rb:510
+#: ../lib/rabbit/command/rabbit.rb:520
 msgid "Specify XML-RPC port as [PORT]."
 msgstr "XML-RPCのポートを[PORT]とします."
 
-#: ../lib/rabbit/command/rabbit.rb:515
-msgid "Server"
-msgstr "サーバ"
-
-#: ../lib/rabbit/command/rabbit.rb:518
-msgid "Specify whether to run as server."
-msgstr "サーバとして動作するかどうかを指定します."
-
-#: ../lib/rabbit/command/rabbit.rb:523
+#: ../lib/rabbit/command/rabbit.rb:525
 msgid "Public level"
 msgstr "公開レベル"
 
-#: ../lib/rabbit/command/rabbit.rb:530
+#: ../lib/rabbit/command/rabbit.rb:532
 msgid "Specify public level."
 msgstr "公開レベルを指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:531
+#: ../lib/rabbit/command/rabbit.rb:533
 msgid "Select from the following:"
 msgstr "以下から選択します."
 
-#: ../lib/rabbit/command/rabbit.rb:540
-#: ../lib/rabbit/command/rabbit.rb:565
-#: ../lib/rabbit/command/rabbit.rb:572
+#: ../lib/rabbit/command/rabbit.rb:542 ../lib/rabbit/command/rabbit.rb:567 ../lib/rabbit/command/rabbit.rb:574
 msgid "(%s)"
 msgstr "(%s)"
 
-#: ../lib/rabbit/command/rabbit.rb:545
-#: ../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:547 ../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:548
-#: ../lib/rabbit/command/rabbit.rb:554
+#: ../lib/rabbit/command/rabbit.rb:550 ../lib/rabbit/command/rabbit.rb:556
 msgid "Deprecated. Just ignored."
 msgstr "非推奨です。無視してください。"
 
-#: ../lib/rabbit/command/rabbit.rb:549
+#: ../lib/rabbit/command/rabbit.rb:551
 msgid "Specify initial comment source."
 msgstr "初期コメントソースを指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:550
+#: ../lib/rabbit/command/rabbit.rb:552
 msgid "(default source)"
 msgstr "(デフォルトソース)"
 
-#: ../lib/rabbit/command/rabbit.rb:555
+#: ../lib/rabbit/command/rabbit.rb:557
 msgid "Specify comment source encoding."
 msgstr "コメントソースのエンコーディングを指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:559
+#: ../lib/rabbit/command/rabbit.rb:561
 msgid "Migemo"
 msgstr "Migemo"
 
-#: ../lib/rabbit/command/rabbit.rb:564
+#: ../lib/rabbit/command/rabbit.rb:566
 msgid "Specify search paths for Migemo static dictionary."
 msgstr "Migemoの静的辞書の検索パスを指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:571
+#: ../lib/rabbit/command/rabbit.rb:573
 msgid "Specify static dictionary name for Migemo."
 msgstr "Migemoの静的辞書名を指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:576
+#: ../lib/rabbit/command/rabbit.rb:578
 msgid "3D"
 msgstr "3D"
 
-#: ../lib/rabbit/command/rabbit.rb:579
+#: ../lib/rabbit/command/rabbit.rb:581
 msgid "Specify whether to use OpenGL if available."
 msgstr "可能ならOpenGLを使うかどうかを指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:584
+#: ../lib/rabbit/command/rabbit.rb:586
 msgid "Display"
 msgstr "画面表示"
 
-#: ../lib/rabbit/command/rabbit.rb:587
+#: ../lib/rabbit/command/rabbit.rb:589
 msgid "Specify whether to keep above window."
 msgstr "ウィンドウを常に前面に表示するかどうかを指定します。"
 
-#: ../lib/rabbit/command/rabbit.rb:592
+#: ../lib/rabbit/command/rabbit.rb:594
 msgid "Others"
 msgstr "その他"
 
-#: ../lib/rabbit/command/rabbit.rb:595
+#: ../lib/rabbit/command/rabbit.rb:597
+msgid "Check slide source syntax and exit."
+msgstr "スライドのソースの構文をチェックして終了します。"
+
+#: ../lib/rabbit/command/rabbit.rb:602
 msgid "Show a native window ID of the Rabbit window if available."
 msgstr "可能ならウィンドウシステムに依存したRabbitのウィンドウのIDを表示します。"
 
-#: ../lib/rabbit/command/rabbit.rb:596
+#: ../lib/rabbit/command/rabbit.rb:603
 msgid "e.g. The ID is the ID of X resource on X window system."
 msgstr "例えば、Xウィンドウシステム上ではXリソースのIDになります。"
 
-#: ../lib/rabbit/command/rabbit.rb:637
+#: ../lib/rabbit/command/rabbit.rb:644
 msgid "Choose a Rabbit source file"
 msgstr "Rabbitのソースファイルを選んでください。"
 
-#: ../lib/rabbit/command/rabbit.rb:753
+#: ../lib/rabbit/command/rabbit.rb:762
 msgid "dRuby URI <%s> is in use."
 msgstr "dRuby URI<%s>は使用中です."
 
-#: ../lib/rabbit/command/rabbit.rb:772
+#: ../lib/rabbit/command/rabbit.rb:781
 msgid "port <%s> for SOAP is in use."
 msgstr "SOAP用ポート<%s>は使用中です."
 
-#: ../lib/rabbit/command/rabbit.rb:793
+#: ../lib/rabbit/command/rabbit.rb:802
 msgid "port <%s> for XML-RPC is in use."
 msgstr "XML-RPC用ポート<%s>は使用中です."
 
-#: ../lib/rabbit/command/rabbit.rb:854
+#: ../lib/rabbit/command/rabbit.rb:863
 msgid "Window ID: %d"
 msgstr "ウィンドウID: %d"
 
-#: ../lib/rabbit/command/rabbit.rb:900
-msgid "going to shutdown..."
-msgstr "終了中です..."
-
-#: ../lib/rabbit/command/rabbit.rb:902
-msgid "DRb.thread done."
-msgstr "DRB.threadは終了しました."
-
-#: ../lib/rabbit/command/rabbit.rb:185 ../lib/rabbit/console.rb:165
-#: ../lib/rabbit/console.rb:182
-msgid "Select from [%s]."
-msgstr "[%s]から選びます."
-
-#: ../lib/rabbit/command/rabbit.rb:308 ../lib/rabbit/action/basic.rb:83
-msgid "Print"
-msgstr "印刷"
-
 #: ../lib/rabbit/console.rb:114
 msgid "Usage: %s [options]"
 msgstr "使用法: %s [オプション]"
@@ -1197,11 +1058,82 @@ msgstr "このメッセージを表示します."
 msgid "Show version."
 msgstr "バージョンを表示します."
 
-#: ../lib/rabbit/element/index-slide.rb:103
-#: ../lib/rabbit/html/generator.rb:393
+#: ../lib/rabbit/element/index-slide.rb:103 ../lib/rabbit/html/generator.rb:393
 msgid "Index"
 msgstr "一覧"
 
+#: ../lib/rabbit/error.rb:30
+msgid "no such file: %s"
+msgstr "そのようなファイルはありません: %s"
+
+#: ../lib/rabbit/error.rb:40
+msgid "can't handle %s because the following command can't be run successfully: %s"
+msgstr "次のコマンドを正常に実行できなかったので%sを扱うことができません: %s"
+
+#: ../lib/rabbit/error.rb:50
+msgid "tried gs commands: %s"
+msgstr "実行したgsコマンド名: %s"
+
+#: ../lib/rabbit/error.rb:58
+msgid "tried dia commands: %s"
+msgstr "実行したdiaコマンド名: %s"
+
+#: ../lib/rabbit/error.rb:66
+msgid "tried gimp commands: %s"
+msgstr "実行したgimpコマンド名: %s"
+
+#: ../lib/rabbit/error.rb:94
+msgid "Unknown property: %s"
+msgstr "未知のプロパティ: %s"
+
+#: ../lib/rabbit/error.rb:102
+msgid "can't allocate color: %s"
+msgstr "色を割り当てることができません: %s"
+
+#: ../lib/rabbit/error.rb:113
+msgid "not exist: %s"
+msgstr "存在しません: %s"
+
+#: ../lib/rabbit/error.rb:121
+msgid "not a file: %s"
+msgstr "ファイルではありません: %s"
+
+#: ../lib/rabbit/error.rb:129
+msgid "can not be read: %s"
+msgstr "読み込むことができません: %s"
+
+#: ../lib/rabbit/error.rb:137
+msgid "immutable source type: %s"
+msgstr "変更不能なソースタイプです: %s"
+
+#: ../lib/rabbit/error.rb:156
+msgid "not available interface: %s"
+msgstr "利用可能なインターフェイスではありません: %s"
+
+#: ../lib/rabbit/error.rb:164
+msgid "can't find HTML template: %s"
+msgstr "HTML のテンプレートが見つかりません: %s"
+
+#: ../lib/rabbit/error.rb:172
+msgid "can't find theme RD template: %s"
+msgstr "テーマ RD のテンプレートが見つかりません: %s"
+
+#: ../lib/rabbit/error.rb:180
+msgid "invalid motion: %s"
+msgstr "不正な動きです: %s"
+
+#: ../lib/rabbit/error.rb:195
+msgid "invalid value of size property \"%{prop_name}\" of image \"%{filename}\": %{value}"
+msgstr "画像\"%{filename}のサイズプロパティ%{prop_name}の値が不正です: %{value}"
+
+#: ../lib/rabbit/error.rb:216
+msgid "unknown cursor type: %s"
+msgstr "未知のカーソルタイプ: %s"
+
+#: ../lib/rabbit/error.rb:222
+msgid "print isn't supported"
+msgstr "印刷をサポートしていません"
+
 #: ../lib/rabbit/gem-finder.rb:46
 msgid "Installing gem: %s"
 msgstr "gemをインストール中: %s"
@@ -1210,7 +1142,11 @@ msgstr "gemをインストール中: %s"
 msgid "Installing gem in user install mode: %s"
 msgstr "gemをユーザーインストールモードでインストール中: %s"
 
-#: ../lib/rabbit/graffiti/config-dialog.rb:48
+#: ../lib/rabbit/gem-pusher.rb:57
+msgid "Enter password on RubyGems.org [%{user}]: "
+msgstr "RubyGems.orgのパスワードを入力してください [%{user}]: "
+
+#: ../lib/rabbit/graffiti/config-dialog.rb:50
 msgid "Line width:"
 msgstr "線の太さ"
 
@@ -1226,24 +1162,23 @@ msgstr "RSS を生成できません"
 msgid "Slide"
 msgstr "スライド"
 
-#: ../lib/rabbit/html/generator.rb:400
-#: ../lib/rabbit/theme/pdf/property.rb:2
+#: ../lib/rabbit/html/generator.rb:400 ../lib/rabbit/theme/pdf/property.rb:2
 msgid "PDF"
 msgstr "PDF"
 
-#: ../lib/rabbit/image/pdf.rb:53
+#: ../lib/rabbit/image/pdf.rb:48
 msgid "invalid PDF page number: <%s>"
-msgstr ""
+msgstr "不正なPDFのページ番号です: <%s>"
 
-#: ../lib/rabbit/image/pdf.rb:58
+#: ../lib/rabbit/image/pdf.rb:53
 msgid "%s page doesn't exist in PDF"
 msgstr "PDFの中に%sページはありません"
 
-#: ../lib/rabbit/info-window.rb:98
+#: ../lib/rabbit/info-window.rb:105
 msgid "%s: Information window"
 msgstr "%s: 情報ウィンドウ"
 
-#: ../lib/rabbit/info-window.rb:224
+#: ../lib/rabbit/info-window.rb:282
 msgid "unlimited"
 msgstr "制限無し"
 
@@ -1271,15 +1206,15 @@ msgstr "致命的"
 msgid "UNKNOWN"
 msgstr "未知"
 
-#: ../lib/rabbit/logger/gui.rb:72
+#: ../lib/rabbit/logger/gui.rb:69
 msgid "Rabbit Error Dialog"
 msgstr "Rabbitエラーダイアログ"
 
-#: ../lib/rabbit/logger/stderr.rb:16
+#: ../lib/rabbit/logger/stderr.rb:15
 msgid "can't convert to current locale from UTF-8: %s"
 msgstr "UTF-8から現在のロケールに変換できません: %s"
 
-#: ../lib/rabbit/menu.rb:61
+#: ../lib/rabbit/menu.rb:77
 msgid "Jump to the %dth slide"
 msgstr "%d番目のスライドへジャンプ"
 
@@ -1287,11 +1222,11 @@ msgstr "%d番目のスライドへジャンプ"
 msgid "unsupported format. (supported: %s)"
 msgstr "サポートしていない形式です。(サポートしている形式: %s)"
 
-#: ../lib/rabbit/parser/ext/aafigure.rb:24
+#: ../lib/rabbit/parser/ext/aafigure.rb:26
 msgid "tried aafigure command: %s"
 msgstr "実行したaafigureコマンド名: %s"
 
-#: ../lib/rabbit/parser/ext/blockdiag.rb:28
+#: ../lib/rabbit/parser/ext/blockdiag.rb:30
 msgid "tried blockdiag command: %s"
 msgstr "実行したblockdiagコマンド名: %s"
 
@@ -1311,19 +1246,31 @@ msgstr "enscript: サポートしていない要素名です: %s"
 msgid "tried mimeTeX commands: %s"
 msgstr "実行したmimeTeXコマンド名: %s"
 
-#: ../lib/rabbit/parser/markdown/converter.rb:132
+#: ../lib/rabbit/parser/markdown/converter.rb:170 ../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:225
+#: ../lib/rabbit/parser/markdown/converter.rb:294 ../test/parser/test-markdown.rb:354
+msgid "horizontal rule isn't supported."
+msgstr "水平線はサポートしていません"
+
+#: ../lib/rabbit/parser/markdown/converter.rb:356
 msgid "multiple ![]('XXX.png'){:align='right'} isn't supported."
 msgstr "複数の「![]('XXX.png'){:align='right'}」はサポートしていません。"
 
-#: ../lib/rabbit/parser/rd/ext/block-verbatim.rb:48
+#: ../lib/rabbit/parser/markdown/converter.rb:412 ../test/parser/test-markdown.rb:367
+msgid "tag name is missing."
+msgstr "タグ名がありません。"
+
+#: ../lib/rabbit/parser/markdown/converter.rb:426
+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'はサポートしていません。"
 
-#: ../lib/rabbit/parser/rd/ext/block-verbatim.rb:141
+#: ../lib/rabbit/parser/rd/ext/block-verbatim.rb:154
 msgid "RTtool isn't available"
 msgstr "RTtoolが利用できません"
 
@@ -1331,17 +1278,21 @@ msgstr "RTtoolが利用できません"
 msgid "[BUG] [%s] %s extension isn't available."
 msgstr "[バグ] [%s] %s の拡張は利用できません."
 
-#: ../lib/rabbit/parser/wiki/output.rb:88
+#: ../lib/rabbit/parser/wiki/output.rb:105
 msgid "horizontal rule is unsupported"
 msgstr "水平線はサポートしていません"
 
-#: ../lib/rabbit/parser/wiki/output.rb:338
+#: ../lib/rabbit/parser/wiki/output.rb:355
 msgid "unsupported list type: %s"
 msgstr "サポートしていないリストの種類: %s"
 
-#: ../lib/rabbit/parser/wiki/output.rb:437
-msgid "multiple {{image, 'XXX.png', :align => :right}} isn't supported."
-msgstr "複数の{{image, 'XXX.png', :align => :right}}はサポートしていません。"
+#: ../lib/rabbit/parser/wiki/output.rb:388 ../test/parser/test-wiki.rb:46
+msgid "inline {{image(...)}} isn't supported."
+msgstr "インラインの{{image(...)}}は未サポートです。"
+
+#: ../lib/rabbit/parser/wiki/output.rb:464 ../test/parser/test-wiki.rb:66
+msgid "multiple {{image(..., :align => :right)}} isn't supported."
+msgstr "複数の{{image(..., :align => :right)}}は未対応です。"
 
 #: ../lib/rabbit/path-manipulatable.rb:28
 msgid "Creating directory: %s"
@@ -1351,115 +1302,41 @@ msgstr "ディレクトリを作成中: %s"
 msgid "Creating file:      %s"
 msgstr "ファイルを作成中:     %s"
 
-#: ../lib/rabbit/rabbit.rb:60
-msgid "no such file: %s"
-msgstr "そのようなファイルはありません: %s"
-
-#: ../lib/rabbit/rabbit.rb:70
-msgid "can't handle %s because the following command can't be run successfully: %s"
-msgstr "次のコマンドを正常に実行できなかったので%sを扱うことができません: %s"
-
-#: ../lib/rabbit/rabbit.rb:80
-msgid "tried gs commands: %s"
-msgstr "実行したgsコマンド名: %s"
-
-#: ../lib/rabbit/rabbit.rb:88
-msgid "tried dia commands: %s"
-msgstr "実行したdiaコマンド名: %s"
-
-#: ../lib/rabbit/rabbit.rb:96
-msgid "tried gimp commands: %s"
-msgstr "実行したgimpコマンド名: %s"
-
-#: ../lib/rabbit/rabbit.rb:124
-msgid "Unknown property: %s"
-msgstr "未知のプロパティ: %s"
-
-#: ../lib/rabbit/rabbit.rb:132
-msgid "can't allocate color: %s"
-msgstr "色を割り当てることができません: %s"
-
-#: ../lib/rabbit/rabbit.rb:143
-msgid "not exist: %s"
-msgstr "存在しません: %s"
-
-#: ../lib/rabbit/rabbit.rb:151
-msgid "not a file: %s"
-msgstr "ファイルではありません: %s"
-
-#: ../lib/rabbit/rabbit.rb:159
-msgid "can not be read: %s"
-msgstr "読み込むことができません: %s"
-
-#: ../lib/rabbit/rabbit.rb:167
-msgid "immutable source type: %s"
-msgstr "変更不能なソースタイプです: %s"
-
-#: ../lib/rabbit/rabbit.rb:186
-msgid "not available interface: %s"
-msgstr "利用可能なインターフェイスではありません: %s"
-
-#: ../lib/rabbit/rabbit.rb:194
-msgid "can't find HTML template: %s"
-msgstr "HTML のテンプレートが見つかりません: %s"
-
-#: ../lib/rabbit/rabbit.rb:202
-msgid "can't find theme RD template: %s"
-msgstr "テーマ RD のテンプレートが見つかりません: %s"
-
-#: ../lib/rabbit/rabbit.rb:210
-msgid "invalid motion: %s"
-msgstr "不正な動きです: %s"
-
-#: ../lib/rabbit/rabbit.rb:225
-msgid "invalid value of size property \"%{prop_name}\" of image \"%{filename}\": %{value}"
-msgstr "画像\"%{filename}のサイズプロパティ%{prop_name}の値が不正です: %{value}"
-
-#: ../lib/rabbit/rabbit.rb:246
-msgid "unknown cursor type: %s"
-msgstr "未知のカーソルタイプ: %s"
-
-#: ../lib/rabbit/rabbit.rb:252
-msgid "print isn't supported"
-msgstr "印刷をサポートしていません"
-
 #: ../lib/rabbit/readme-parser.rb:35
 msgid "No README found"
 msgstr "READMEがありません"
 
-#: ../lib/rabbit/renderer/base.rb:385
+#: ../lib/rabbit/renderer/base.rb:377
 msgid "%s does not support: %s"
 msgstr "%sはサポートしていません: %s"
 
-#: ../lib/rabbit/renderer/print/cairo.rb:130
+#: ../lib/rabbit/renderer/print/cairo.rb:114
 msgid "can't find printer for %s"
 msgstr "%sのためのプリンタが見付かりません."
 
-#: ../lib/rabbit/slide-configuration.rb:50
-#: ../lib/rabbit/theme-configuration.rb:48
+#: ../lib/rabbit/slide-configuration.rb:54 ../lib/rabbit/theme-configuration.rb:48
 msgid "Failed to read slide configuration: %s: %s"
 msgstr "スライド設定の読み込みに失敗しました: %s: %s"
 
-#: ../lib/rabbit/slide-configuration.rb:60
-#: ../lib/rabbit/theme-configuration.rb:58
+#: ../lib/rabbit/slide-configuration.rb:64 ../lib/rabbit/theme-configuration.rb:58
 msgid "Failed to write slide configuration: %s: %s"
 msgstr "スライド設定の書き込みに失敗しました: %s: %s"
 
-#: ../lib/rabbit/slideshare.rb:61
+#: ../lib/rabbit/slideshare.rb:62
 msgid "Feailed to upload: %s"
 msgstr "アップロードに失敗しました: %s"
 
-#: ../lib/rabbit/slideshare.rb:68
+#: ../lib/rabbit/slideshare.rb:69
 msgid "Feailed to edit title: %s"
 msgstr "タイトルの編集に失敗しました: %s"
 
-#: ../lib/rabbit/slideshare.rb:76
+#: ../lib/rabbit/slideshare.rb:77
 msgid "Feailed to get slide URL: %s"
 msgstr "スライドURLの取得に失敗しました: %s"
 
-#: ../lib/rabbit/slideshare.rb:141
-msgid "Enter password on SlideShare"
-msgstr "SlideShareのパスワードを入力してください"
+#: ../lib/rabbit/slideshare.rb:146
+msgid "Enter password on SlideShare [%{user}]: "
+msgstr "SlideShareのパスワードを入力してください [%{user}]: "
 
 #: ../lib/rabbit/source/argf.rb:10
 msgid "none (get from STDIN) or [FILE_NAMES]"
@@ -1483,7 +1360,7 @@ msgstr "[ファイル名か何も指定しない]"
 msgid "[USER] and [TITLE]"
 msgstr "[USER]と[TITLE]"
 
-#: ../lib/rabbit/source/uri.rb:25
+#: ../lib/rabbit/source/uri.rb:27
 msgid "URI"
 msgstr "URI"
 
@@ -1491,67 +1368,63 @@ msgstr "URI"
 msgid "Rabbit"
 msgstr "Rabbit"
 
-#: ../lib/rabbit/task/slide.rb:92
+#: ../lib/rabbit/task/slide.rb:94
 msgid "To run rabbit, create '%{options_path}'!"
 msgstr "rabbitを実行するために'%{options_path}'を作ってください!"
 
-#: ../lib/rabbit/task/slide.rb:96
+#: ../lib/rabbit/task/slide.rb:98
 msgid "Show slide"
 msgstr "スライドを表示"
 
-#: ../lib/rabbit/task/slide.rb:151
+#: ../lib/rabbit/task/slide.rb:110 ../lib/rabbit/task/theme.rb:106
+msgid "Create gem: %{gem_path}"
+msgstr "gemを作成: %{gem_path}"
+
+#: ../lib/rabbit/task/slide.rb:122 ../lib/rabbit/task/theme.rb:118
+msgid "Write %{item} in %{where}: %{content}"
+msgstr "%{where}の%{item}を書いてください: %{content}"
+
+#: ../lib/rabbit/task/slide.rb:148 ../lib/rabbit/task/theme.rb:158
+msgid "Generate PDF: %{pdf_path}"
+msgstr "PDFを生成: %{pdf_path}"
+
+#: ../lib/rabbit/task/slide.rb:153
 msgid "Publish the slide to all available targets"
 msgstr "すべての公開可能な公開場所にこのスライドを公開"
 
-#: ../lib/rabbit/task/slide.rb:195
+#: ../lib/rabbit/task/slide.rb:177 ../lib/rabbit/task/slide.rb:186 ../lib/rabbit/task/slide.rb:210
+msgid "Publish the slide to %s"
+msgstr "このスライドを%sに公開"
+
+#: ../lib/rabbit/task/slide.rb:198
 msgid "Uploaded successfully!"
 msgstr "無事にアップロードできました!"
 
-#: ../lib/rabbit/task/slide.rb:196
+#: ../lib/rabbit/task/slide.rb:199
 msgid "See %s"
 msgstr "%sを見てください"
 
-#: ../lib/rabbit/task/slide.rb:207
-#: ../lib/rabbit/task/slide.rb:175 ../lib/rabbit/task/slide.rb:183
-msgid "Publish the slide to %s"
-msgstr "このスライドを%sに公開"
-
-#: ../lib/rabbit/task/theme.rb:93
+#: ../lib/rabbit/task/theme.rb:94
 msgid "Show theme benchmark slide with this theme"
 msgstr "このテーマでテーマベンチマーク用のスライドを表示"
 
-#: ../lib/rabbit/task/theme.rb:137
+#: ../lib/rabbit/task/theme.rb:138
 msgid "Generate all PDFs"
 msgstr "すべてのPDFを生成"
 
-#: ../lib/rabbit/task/theme.rb:165
+#: ../lib/rabbit/task/theme.rb:166
 msgid "Publish the theme to all available targets"
 msgstr "すべての公開可能な公開場所にこのテーマを公開"
 
-#: ../lib/rabbit/task/theme.rb:171
+#: ../lib/rabbit/task/theme.rb:173
 msgid "Publish the theme to %s"
 msgstr "このテーマを%sに公開"
 
-#: ../lib/rabbit/task/theme.rb:105 ../lib/rabbit/task/slide.rb:108
-msgid "Create gem: %{gem_path}"
-msgstr "gemを作成: %{gem_path}"
-
-#: ../lib/rabbit/task/theme.rb:117 ../lib/rabbit/task/slide.rb:120
-msgid "Write %{item} in %{where}: %{content}"
-msgstr "%{where}の%{item}を書いてください: %{content}"
-
-#: ../lib/rabbit/task/theme.rb:157 ../lib/rabbit/task/slide.rb:146
-msgid "Generate PDF: %{pdf_path}"
-msgstr "PDFを生成: %{pdf_path}"
-
-#: ../lib/rabbit/theme/applier.rb:604
-#: ../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を使ってください."
 
-#: ../lib/rabbit/theme/auto-slide/property.rb:1
-#: ../lib/rabbit/theme/slide-background/property.rb:1
+#: ../lib/rabbit/theme/auto-slide/property.rb:1 ../lib/rabbit/theme/slide-background/property.rb:1
 msgid "Backward compatibility"
 msgstr "後方互換性"
 
@@ -1567,72 +1440,7 @@ msgstr "((<slide-show>))のための後方互換性のテーマ"
 msgid "See ((<slide-show>))"
 msgstr "((<slide-show>))を見てください."
 
-#: ../lib/rabbit/theme/base/property.rb:1
-#: ../lib/rabbit/theme/color-circle-block-quote/property.rb:1
-#: ../lib/rabbit/theme/color-circle-common/property.rb:1
-#: ../lib/rabbit/theme/color-circle-description/property.rb:1
-#: ../lib/rabbit/theme/color-circle-foot-text/property.rb:1
-#: ../lib/rabbit/theme/color-circle-item-mark/property.rb:1
-#: ../lib/rabbit/theme/color-circle-method-list/property.rb:1
-#: ../lib/rabbit/theme/color-circle-preformatted/property.rb:1
-#: ../lib/rabbit/theme/color-circle-slide/property.rb:1
-#: ../lib/rabbit/theme/color-circle-text/property.rb:1
-#: ../lib/rabbit/theme/color-circle-title-slide/property.rb:1
-#: ../lib/rabbit/theme/color-circle-title-text/property.rb:1
-#: ../lib/rabbit/theme/color-circle/property.rb:1
-#: ../lib/rabbit/theme/cozmixng-powered-by/property.rb:1
-#: ../lib/rabbit/theme/default-block-quote/property.rb:1
-#: ../lib/rabbit/theme/default-comment/property.rb:1
-#: ../lib/rabbit/theme/default-description/property.rb:1
-#: ../lib/rabbit/theme/default-foot-text/property.rb:1
-#: ../lib/rabbit/theme/default-icon/property.rb:1
-#: ../lib/rabbit/theme/default-item-mark-setup/property.rb:1
-#: ../lib/rabbit/theme/default-item-mark/property.rb:1
-#: ../lib/rabbit/theme/default-method-list/property.rb:1
-#: ../lib/rabbit/theme/default-preformatted/property.rb:1
-#: ../lib/rabbit/theme/default-slide/property.rb:1
-#: ../lib/rabbit/theme/default-text/property.rb:1
-#: ../lib/rabbit/theme/default-title-slide/property.rb:1
-#: ../lib/rabbit/theme/default-title-text/property.rb:1
-#: ../lib/rabbit/theme/edge-info-toolkit/property.rb:1
-#: ../lib/rabbit/theme/emphasize-keyword/property.rb:1
-#: ../lib/rabbit/theme/footer-logo/property.rb:1
-#: ../lib/rabbit/theme/headline-logo/property.rb:1
-#: ../lib/rabbit/theme/icon/property.rb:1
-#: ../lib/rabbit/theme/image-slide-number/property.rb:1
-#: ../lib/rabbit/theme/image/property.rb:1
-#: ../lib/rabbit/theme/lightning-talk-toolkit/property.rb:1
-#: ../lib/rabbit/theme/per-slide-background-color/property.rb:1
-#: ../lib/rabbit/theme/per-slide-background-image/property.rb:1
-#: ../lib/rabbit/theme/powered-by/property.rb:1
-#: ../lib/rabbit/theme/rabbit-block-quote/property.rb:1
-#: ../lib/rabbit/theme/rabbit-headline-logo/property.rb:1
-#: ../lib/rabbit/theme/rabbit-icon/property.rb:1
-#: ../lib/rabbit/theme/rabbit-item-mark/property.rb:1
-#: ../lib/rabbit/theme/rabbit-powered-by/property.rb:1
-#: ../lib/rabbit/theme/rabbit-title-logo/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2-description/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2-foot-text/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2-headline/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2-icon/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2-item-mark/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2-preformatted/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2-slide/property.rb:1
-#: ../lib/rabbit/theme/simple-item-mark/property.rb:1
-#: ../lib/rabbit/theme/slide-background-image/property.rb:1
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:1
-#: ../lib/rabbit/theme/slide-header-info/property.rb:1
-#: ../lib/rabbit/theme/slide-logo/property.rb:1
-#: ../lib/rabbit/theme/slide-number/property.rb:1
-#: ../lib/rabbit/theme/syntax-highlighting/property.rb:1
-#: ../lib/rabbit/theme/table/property.rb:1
-#: ../lib/rabbit/theme/tag/property.rb:1
-#: ../lib/rabbit/theme/title-background-color/property.rb:1
-#: ../lib/rabbit/theme/title-background-image/property.rb:1
-#: ../lib/rabbit/theme/title-logo/property.rb:1
-#: ../lib/rabbit/theme/title-on-image-toolkit/property.rb:1
-#: ../lib/rabbit/theme/title-shadow/property.rb:1
-#: ../lib/rabbit/theme/title-slide-background-image/property.rb:1
+#: ../lib/rabbit/theme/base/property.rb:1 ../lib/rabbit/theme/color-circle-block-quote/property.rb:1 ../lib/rabbit/theme/color-circle-common/property.rb:1 ../lib/rabbit/theme/color-circle-description/property.rb:1 ../lib/rabbit/theme/color-circle-foot-text/property.rb:1 ../lib/rabbit/theme/color-circle-item-mark/property.rb:1 ../lib/rabbit/theme/color-circle-method-list/property.rb:1 ../lib/rabbit/theme/color-circle-preformatted/property.rb:1 ../lib/rabbit/theme/color-circle-slide/proper [...]
 msgid "Toolkit"
 msgstr "ツールキット"
 
@@ -1680,10 +1488,7 @@ msgstr "きれいな青"
 msgid "Clear blue theme"
 msgstr "きれいな青のテーマ"
 
-#: ../lib/rabbit/theme/clock/property.rb:1
-#: ../lib/rabbit/theme/image-timer/property.rb:1
-#: ../lib/rabbit/theme/slide-show/property.rb:1
-#: ../lib/rabbit/theme/timer/property.rb:1
+#: ../lib/rabbit/theme/clock/property.rb:1 ../lib/rabbit/theme/image-timer/property.rb:1 ../lib/rabbit/theme/slide-show/property.rb:1 ../lib/rabbit/theme/timer/property.rb:1
 msgid "Time"
 msgstr "時間"
 
@@ -1703,11 +1508,7 @@ msgstr "テキストで現在時刻を表示します。"
 msgid "Properties for the clock, such as font family."
 msgstr "フォントファミリーなどの、時計の属性。"
 
-#: ../lib/rabbit/theme/clock/property.rb:17
-#: ../lib/rabbit/theme/image-slide-number/property.rb:60
-#: ../lib/rabbit/theme/show-frame/property.rb:12
-#: ../lib/rabbit/theme/slide-number/property.rb:17
-#: ../lib/rabbit/theme/title-logo/property.rb:19
+#: ../lib/rabbit/theme/clock/property.rb:17 ../lib/rabbit/theme/image-slide-number/property.rb:60 ../lib/rabbit/theme/show-frame/property.rb:12 ../lib/rabbit/theme/slide-number/property.rb:17 ../lib/rabbit/theme/title-logo/property.rb:19
 msgid "Whether uninstalling this toolkit or not. This option is useful for cases you do not want to make the toolkit work for certain slides."
 msgstr "このツールキットをアンインストールするか否か。このオプションは、特定のスライドでツールキットを動かなくしたいときに便利です。"
 
@@ -1927,6 +1728,22 @@ msgstr "ピンク色の丸と多角形をアイコンとして用いるツール
 msgid "Uses pink circle and polygon as icons."
 msgstr "ピンク色の丸と多角形をアイコンとして用います。"
 
+#: ../lib/rabbit/theme/default-item-mark-setup/default-item-mark-setup.rb:31
+msgid ""
+"unknown item mark type: %s\n"
+"Rectangle type is used as fallback"
+msgstr ""
+"未知の項目マークのタイプ: %s\n"
+"代わりに四角を使います。"
+
+#: ../lib/rabbit/theme/default-item-mark-setup/default-item-mark-setup.rb:81
+msgid ""
+"unknown enumeration item mark type: %s\n"
+"Numeric type is used as fallback"
+msgstr ""
+"未知の順序つきリスト項目マークのタイプ: %s\n"
+"代わりに数値タイプを使います。"
+
 #: ../lib/rabbit/theme/default-item-mark-setup/property.rb:2
 msgid "Default Item Mark Setup"
 msgstr "デフォルト: 項目マークセットアップ"
@@ -2053,11 +1870,11 @@ msgstr "指定したキーワードを強調テキストとしてマークアッ
 
 #: ../lib/rabbit/theme/enishi-green/property.rb:2
 msgid "Enishi Green"
-msgstr ""
+msgstr "えにしグリーン"
 
 #: ../lib/rabbit/theme/enishi-green/property.rb:3
 msgid "EnishTech green based theme"
-msgstr ""
+msgstr "えにしテックの緑色をベースにしたテーマ"
 
 #: ../lib/rabbit/theme/entry.rb:79
 msgid "Etc"
@@ -2083,25 +1900,11 @@ msgstr "フッターに画像をロゴとして表示するためのツールキ
 msgid "Displays an image as a logo at the footer of slides."
 msgstr "スライドのフッターに画像をロゴとして表示します。"
 
-#: ../lib/rabbit/theme/footer-logo/property.rb:7
-#: ../lib/rabbit/theme/headline-logo/property.rb:7
-#: ../lib/rabbit/theme/slide-background-image/property.rb:7
-#: ../lib/rabbit/theme/slide-logo/property.rb:7
-#: ../lib/rabbit/theme/title-background-color/property.rb:7
-#: ../lib/rabbit/theme/title-background-image/property.rb:8
-#: ../lib/rabbit/theme/title-logo/property.rb:7
-#: ../lib/rabbit/theme/title-slide-background-image/property.rb:7
+#: ../lib/rabbit/theme/footer-logo/property.rb:7 ../lib/rabbit/theme/headline-logo/property.rb:7 ../lib/rabbit/theme/slide-background-image/property.rb:7 ../lib/rabbit/theme/slide-logo/property.rb:7 ../lib/rabbit/theme/title-background-color/property.rb:7 ../lib/rabbit/theme/title-background-image/property.rb:8 ../lib/rabbit/theme/title-logo/property.rb:7 ../lib/rabbit/theme/title-slide-background-image/property.rb:7
 msgid "(Must be specified.)"
 msgstr "(指定しなければいけません。)"
 
-#: ../lib/rabbit/theme/footer-logo/property.rb:8
-#: ../lib/rabbit/theme/headline-logo/property.rb:8
-#: ../lib/rabbit/theme/icon/property.rb:22
-#: ../lib/rabbit/theme/slide-background-image/property.rb:8
-#: ../lib/rabbit/theme/slide-logo/property.rb:8
-#: ../lib/rabbit/theme/title-background-image/property.rb:9
-#: ../lib/rabbit/theme/title-logo/property.rb:8
-#: ../lib/rabbit/theme/title-slide-background-image/property.rb:8
+#: ../lib/rabbit/theme/footer-logo/property.rb:8 ../lib/rabbit/theme/headline-logo/property.rb:8 ../lib/rabbit/theme/icon/property.rb:22 ../lib/rabbit/theme/slide-background-image/property.rb:8 ../lib/rabbit/theme/slide-logo/property.rb:8 ../lib/rabbit/theme/title-background-image/property.rb:9 ../lib/rabbit/theme/title-logo/property.rb:8 ../lib/rabbit/theme/title-slide-background-image/property.rb:8
 msgid "Image file name."
 msgstr "画像ファイル名。"
 
@@ -2117,10 +1920,7 @@ msgstr "画像の右余白。"
 msgid "Bottom margin of an image."
 msgstr "画像の下部余白。"
 
-#: ../lib/rabbit/theme/footer-logo/property.rb:24
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:41
-#: ../lib/rabbit/theme/slide-header-info/property.rb:41
-#: ../lib/rabbit/theme/slide-logo/property.rb:24
+#: ../lib/rabbit/theme/footer-logo/property.rb:24 ../lib/rabbit/theme/slide-footer-info/property.rb:41 ../lib/rabbit/theme/slide-header-info/property.rb:41 ../lib/rabbit/theme/slide-logo/property.rb:24
 msgid "Whether uninstall this theme or not."
 msgstr "このテーマをアンインストールするかどうか。"
 
@@ -2156,8 +1956,7 @@ msgstr "1 つまたは複数の画像をアイコンに指定するツールキ
 msgid "Specifies an image or images as icons of the window, which will be used by some window managers and desktop environments, for example when the window is minimized (or 'iconified'), in the window frame, or when windows are switched. The specified image or images are automatically scaled to the icon sizes case by case. When several images are specified and they have different sizes, an image with the most similar size to that of icon among them is chosen and scaled in order to impro [...]
 msgstr "1 つまたは複数の画像をアイコンに指定します。アイコンは、一部のウィンドウマネージャやデスクトップ環境によって、例えばウィンドウが最小化 (あるいは「アイコン化」) されたときに用いられたり、ウィンドウの枠に用いられたり、ウィンドウが切り替えられたときに用いられたりします。指定された画像は、状況に応じてアイコンの大きさに自動的に変換されます。最終的に表示される画像の品質をよくするため、複数の画像が指定されてそれらが異なる大きさをもっている場合は、アイコンの大きさに最も近い画像が選ばれて大きさが変換されます。"
 
-#: ../lib/rabbit/theme/icon/property.rb:18
-#: ../lib/rabbit/theme/powered-by/property.rb:18
+#: ../lib/rabbit/theme/icon/property.rb:18 ../lib/rabbit/theme/powered-by/property.rb:18
 msgid "List of image file names."
 msgstr "画像ファイル名のリスト。"
 
@@ -2305,9 +2104,7 @@ msgstr "ライトニングトーク"
 msgid "Lightning Talk theme"
 msgstr "ライトニングトークテーマ"
 
-#: ../lib/rabbit/theme/mirror-effect/property.rb:1
-#: ../lib/rabbit/theme/rotate-zoom-effect/property.rb:1
-#: ../lib/rabbit/theme/scroll-effect/property.rb:1
+#: ../lib/rabbit/theme/mirror-effect/property.rb:1 ../lib/rabbit/theme/rotate-zoom-effect/property.rb:1 ../lib/rabbit/theme/scroll-effect/property.rb:1
 msgid "Effect"
 msgstr "効果"
 
@@ -2327,8 +2124,7 @@ msgstr ""
 msgid "Nari's theme"
 msgstr "Nariのテーマ"
 
-#: ../lib/rabbit/theme/newline-in-slides/property.rb:1
-#: ../lib/rabbit/theme/newline-in-title/property.rb:1
+#: ../lib/rabbit/theme/newline-in-slides/property.rb:1 ../lib/rabbit/theme/newline-in-title/property.rb:1
 msgid "Convenience"
 msgstr "便利"
 
@@ -2336,8 +2132,7 @@ msgstr "便利"
 msgid "Newline in Slides"
 msgstr "スライド内での改行"
 
-#: ../lib/rabbit/theme/newline-in-slides/property.rb:3
-#: ../lib/rabbit/theme/newline-in-title/property.rb:3
+#: ../lib/rabbit/theme/newline-in-slides/property.rb:3 ../lib/rabbit/theme/newline-in-title/property.rb:3
 msgid ""
 "Convenience '\n"
 "' newline notation."
@@ -2709,8 +2504,7 @@ msgstr "((<slide-background-image>))のための後方互換性のテーマ"
 msgid "See ((<slide-background-image>))"
 msgstr "((<slide-background-image>))を見てください."
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:2
-#: ../lib/rabbit/theme/slide-header-info/property.rb:2
+#: ../lib/rabbit/theme/slide-footer-info/property.rb:2 ../lib/rabbit/theme/slide-header-info/property.rb:2
 msgid "Slide Footer Info"
 msgstr "スライドフッター情報"
 
@@ -2722,18 +2516,15 @@ msgstr "フッターに情報を表示するツールキット"
 msgid "Displays information with a line at the footer of slides."
 msgstr "スライドのフッターに線付きで情報を表示します。"
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:8
-#: ../lib/rabbit/theme/slide-header-info/property.rb:8
+#: ../lib/rabbit/theme/slide-footer-info/property.rb:8 ../lib/rabbit/theme/slide-header-info/property.rb:8
 msgid "Line color."
 msgstr "線の色。"
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:12
-#: ../lib/rabbit/theme/slide-header-info/property.rb:12
+#: ../lib/rabbit/theme/slide-footer-info/property.rb:12 ../lib/rabbit/theme/slide-header-info/property.rb:12
 msgid "Line width."
 msgstr "線の太さ。"
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:15
-#: ../lib/rabbit/theme/slide-header-info/property.rb:15
+#: ../lib/rabbit/theme/slide-footer-info/property.rb:15 ../lib/rabbit/theme/slide-header-info/property.rb:15
 msgid "white <-> black gradation"
 msgstr "白<->黒のグラデーション"
 
@@ -2741,28 +2532,23 @@ msgstr "白<->黒のグラデーション"
 msgid "Line fill pattern. @slide_footer_info_line_color is ignored if this parameter is specified."
 msgstr "線の塗りつぶしパターン。このパラメータが指定されると@slide_footer_info_line_colorは無視されます。"
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:21
-#: ../lib/rabbit/theme/slide-header-info/property.rb:21
+#: ../lib/rabbit/theme/slide-footer-info/property.rb:21 ../lib/rabbit/theme/slide-header-info/property.rb:21
 msgid "Text size."
 msgstr "テキストの大きさ。"
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:25
-#: ../lib/rabbit/theme/slide-header-info/property.rb:25
+#: ../lib/rabbit/theme/slide-footer-info/property.rb:25 ../lib/rabbit/theme/slide-header-info/property.rb:25
 msgid "x-axis margin."
 msgstr "X方向の余白。"
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:29
-#: ../lib/rabbit/theme/slide-header-info/property.rb:29
+#: ../lib/rabbit/theme/slide-footer-info/property.rb:29 ../lib/rabbit/theme/slide-header-info/property.rb:29
 msgid "Text color."
 msgstr "テキストの色。"
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:33
-#: ../lib/rabbit/theme/slide-header-info/property.rb:33
+#: ../lib/rabbit/theme/slide-footer-info/property.rb:33 ../lib/rabbit/theme/slide-header-info/property.rb:33
 msgid "Whether show a text over line or not."
 msgstr "線の上にテキストを表示するかどうか。"
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:37
-#: ../lib/rabbit/theme/slide-header-info/property.rb:37
+#: ../lib/rabbit/theme/slide-footer-info/property.rb:37 ../lib/rabbit/theme/slide-header-info/property.rb:37
 msgid "Base y-axis position to stroke line."
 msgstr "線を描くためのY方向の基準位置。"
 
@@ -2802,8 +2588,7 @@ msgstr "画像の幅。"
 msgid "Image height."
 msgstr "画像の高さ。"
 
-#: ../lib/rabbit/theme/slide-logo/slide-logo.rb:4
-#: ../lib/rabbit/theme/title-logo/title-logo.rb:4
+#: ../lib/rabbit/theme/slide-logo/slide-logo.rb:4 ../lib/rabbit/theme/title-logo/title-logo.rb:4
 msgid "must specify %s!!!"
 msgstr "%sを指定してください!!!"
 
@@ -2903,13 +2688,11 @@ msgstr "背景色。"
 msgid "TitleBackgroundImage"
 msgstr "タイトル背景画像"
 
-#: ../lib/rabbit/theme/title-background-image/property.rb:3
-#: ../lib/rabbit/theme/title-slide-background-image/property.rb:3
+#: ../lib/rabbit/theme/title-background-image/property.rb:3 ../lib/rabbit/theme/title-slide-background-image/property.rb:3
 msgid "Toolkit to display an image as a background of the title slide"
 msgstr "タイトルスライドの背景として画像を表示するツールキット"
 
-#: ../lib/rabbit/theme/title-background-image/property.rb:5
-#: ../lib/rabbit/theme/title-slide-background-image/property.rb:4
+#: ../lib/rabbit/theme/title-background-image/property.rb:5 ../lib/rabbit/theme/title-slide-background-image/property.rb:4
 msgid "Displays an image as a background of the title slide."
 msgstr "タイトルスライドの背景として画像を表示します。"
 
@@ -2956,95 +2739,3 @@ msgstr "影の色。"
 #: ../lib/rabbit/theme/title-slide-background-image/property.rb:2
 msgid "TitleSlideBackgroundImage"
 msgstr "タイトルスライド背景画像"
-
-#: ../lib/rabbit/slideshare.rb:100
-#~ msgid "Failed to upload: %s"
-#~ msgstr "アップロードに失敗しました: %s"
-
-#: ../lib/rabbit/command/rabbit-slide.rb:69
-#~ msgid ""
-#~ "Usage: %s new [options]\n"
-#~ " e.g.: %s new \\\n"
-#~ "          --id rubykaigi2012 \\\n"
-#~ "          --base-name rabbit-introduction \\\n"
-#~ "          --markup-language rd \\\n"
-#~ "          --name \"Kouhei Sutou\" \\\n"
-#~ "          --email kou at cozmixng.org \\\n"
-#~ "          --rubygems-user kou \\\n"
-#~ "          --slideshare-user kou \\\n"
-#~ "          --speaker-deck-user kou"
-#~ msgstr ""
-#~ "使い方: %s new [オプション]\n"
-#~ "    例: %s new \\\n"
-#~ "          --id rubykaigi2012 \\\n"
-#~ "          --base-name rabbit-introduction \\\n"
-#~ "          --markup-language rd \\\n"
-#~ "          --name \"Kouhei Sutou\" \\\n"
-#~ "          --email kou at cozmixng.org \\\n"
-#~ "          --rubygems-user kou \\\n"
-#~ "          --slideshare-user kou \\\n"
-#~ "          --speaker-deck-user kou"
-
-#: ../lib/rabbit/image/pdf.rb:49
-#~ msgid "%s page isn't exist in PDF"
-#~ msgstr "PDFの中に%sページはありません"
-
-#: ../lib/rabbit/theme-browser/page.rb:96
-#~ msgid "Go back"
-#~ msgstr "戻る"
-
-#: ../lib/rabbit/theme-browser/page.rb:101
-#~ msgid "Go forward"
-#~ msgstr "進む"
-
-#: ../lib/rabbit/theme-browser/page.rb:112
-#~ msgid "Go up"
-#~ msgstr "上へ"
-
-#: ../lib/rabbit/theme-browser/page.rb:119
-#~ msgid "Reload"
-#~ msgstr "再読み込み"
-
-#: ../lib/rabbit/theme-browser/document.rb:110
-#~ msgid "Images"
-#~ msgstr "画像"
-
-#: ../bin/rabbit-theme-manager:15
-#~ msgid "en"
-#~ msgstr "英語"
-
-#: ../bin/rabbit-theme-manager:15
-#~ msgid "ja"
-#~ msgstr "日本語"
-
-#: ../bin/rabbit-theme-manager:15
-#~ msgid "fr"
-#~ msgstr "フランス語"
-
-#: ../bin/rabbit-theme-manager:22
-#~ msgid "[COMMAND] is one of them: [%s]"
-#~ msgstr "[COMMAND] は次のいずれかです: [%s]"
-
-#: ../bin/rabbit-theme-manager:34
-#~ msgid "Show [THEME] when startup."
-#~ msgstr "起動時に [THEME] を表示します."
-
-#: ../bin/rabbit-theme-manager:69
-#~ msgid "Specify theme document directory as [DIR]."
-#~ msgstr "テーマドキュメントディレクトリを[DIR]とします."
-
-#: ../bin/rabbit-theme-manager:76
-#~ msgid "Specify target locales as [LOC1,LOC2,...]."
-#~ msgstr "対象ロケールを[LOC1,LOC2,...]とします."
-
-#: ../bin/rabbit-theme-manager:91
-#~ msgid "Generating documents for locale <%s>..."
-#~ msgstr "ロケール<%s>のためのドキュメントを生成しています..."
-
-#: ../bin/rabbit-theme-manager:124
-#~ msgid "Unknown command: %s"
-#~ msgstr "未知のコマンド: %s"
-
-#: ../bin/rabbit-theme-manager:125
-#~ msgid "Available commands: %s"
-#~ msgstr "利用可能なコマンド: %s"
diff --git a/po/ja/rabbit.po b/po/ja/rabbit.po
index cabe1de..892c730 100644
--- a/po/ja/rabbit.po
+++ b/po/ja/rabbit.po
@@ -6,430 +6,304 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Rabbit 0.5.4\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-06-01 13:03+0900\n"
-"PO-Revision-Date: 2013-06-01 13:05+0900\n"
+"PO-Revision-Date: 2016-11-19 10:38+0900\n"
 "Last-Translator: Kouhei Sutou <kou at cozmixng.org>\n"
-"Language-Team: Kouhei Sutou <kou at cozmixng.org> and Kobayashi Noritada <nori1 at dolphin.c.u-tokyo.ac.jp>\n"
+"Language-Team: Kouhei Sutou <kou at cozmixng.org> and Kobayashi Noritada <nori1 at d"
+"olphin.c.u-tokyo.ac.jp>\n"
 "Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
-#: 
-#: ../lib/rabbit/theme/default-item-mark-setup/default-item-mark-setup.rb:81
-msgid ""
-"unknown enumeration item mark type: %s\n"
-"Numeric type is used as fallback"
-msgstr ""
-"未知の順序つきリスト項目マークのタイプ: %s\n"
-"代わりに数値タイプを使います。"
-
-#: 
-#: ../lib/rabbit/theme/default-item-mark-setup/default-item-mark-setup.rb:31
-msgid ""
-"unknown item mark type: %s\n"
-"Rectangle type is used as fallback"
-msgstr ""
-"未知の項目マークのタイプ: %s\n"
-"代わりに四角を使います。"
-
-#: ../bin/rabbit-command:18
 msgid "Specify Rabbit's dRuby URI as [URI]."
 msgstr "RabbitのdRuby URIを[URI]とします."
 
-#: ../bin/rabbit-command:23
 msgid "Move commands"
 msgstr "移動コマンド"
 
-#: ../bin/rabbit-command:25
 msgid "Move to previous"
 msgstr "前へ移動"
 
-#: ../bin/rabbit-command:29
 msgid "Move to next"
 msgstr "次へ移動"
 
-#: ../bin/rabbit-command:33
 msgid "Move to the previous slide"
 msgstr "前のスライドへ移動"
 
-#: ../bin/rabbit-command:37
 msgid "Move to the next slide"
 msgstr "次のスライドへ移動"
 
-#: ../bin/rabbit-command:41
 msgid "Move to the first slide"
 msgstr "最初のスライドへ移動"
 
-#: ../bin/rabbit-command:45
 msgid "Move to the last slide"
 msgstr "最後のスライドへ移動"
 
-#: ../bin/rabbit-command:49
 msgid "Move to the Nth slide"
 msgstr "N番目のスライドへ移動"
 
-#: ../bin/rabbit-command:53
 msgid "Get commands"
 msgstr "取得コマンド"
 
-#: ../bin/rabbit-command:55
 msgid "Show source"
 msgstr "ソースを表示"
 
-#: ../bin/rabbit-command:59
 msgid "Show the current slide source as RD"
 msgstr "現在のスライドのソースをRDで表示"
 
-#: ../bin/rabbit-command:63
 msgid "Control commands"
 msgstr "制御コマンド"
 
-#: ../bin/rabbit-command:65
 msgid "Toggle fullscreen"
 msgstr "フルスクリーンモード切替え"
 
-#: ../bin/rabbit-command:69
 msgid "Toggle index mode"
 msgstr "一覧モード切替え"
 
-#: ../bin/rabbit-command:73
 msgid "Toggle whiteout"
 msgstr "ホワイトアウト切替え"
 
-#: ../bin/rabbit-command:77
 msgid "Toggle blackout"
 msgstr "ブラックアウト切替え"
 
-#: ../bin/rabbit-command:81
 msgid "Quit"
 msgstr "終了"
 
-#: ../data/rabbit/image/clear-blue-images/property.rb:1
-#: ../data/rabbit/image/cozmixng-images/property.rb:1
-#: ../data/rabbit/image/dark-gradation-images/property.rb:1
-#: ../data/rabbit/image/debian-images/property.rb:1
-#: ../data/rabbit/image/nari-images/property.rb:1
-#: ../data/rabbit/image/rabbit-images/property.rb:1
-#: ../data/rabbit/image/ruby-images/property.rb:1
-#: ../data/rabbit/image/rubykaigi2011-images/property.rb:1
-#: ../lib/rabbit/theme/image/property.rb:2
 msgid "Image"
 msgstr "画像"
 
-#: ../data/rabbit/image/clear-blue-images/property.rb:2
 msgid "Clear Blue Image"
 msgstr "きれいな青: 画像"
 
-#: ../data/rabbit/image/clear-blue-images/property.rb:3
 msgid "Images related to ((<clear-blue>)) theme"
 msgstr "((<clear-blue>))テーマ関連の画像"
 
-#: ../data/rabbit/image/clear-blue-images/property.rb:4
 msgid "Provides images related to ((<clear-blue>)) theme."
 msgstr "((<clear-blue>))テーマに関連した画像を提供します。"
 
-#: ../data/rabbit/image/cozmixng-images/property.rb:2
 msgid "COZMIXNGImage"
 msgstr "COZMIXNG: 画像"
 
-#: ../data/rabbit/image/cozmixng-images/property.rb:3
 msgid "Images related to COZMIXNG"
 msgstr "COZMIXNG 関連の画像"
 
-#: ../data/rabbit/image/cozmixng-images/property.rb:4
 msgid "Provides images related to COZMIXNG."
 msgstr "COZMIXNG に関連した画像を提供します。"
 
-#: ../data/rabbit/image/dark-gradation-images/property.rb:2
 msgid "Dark Gradation background Image"
 msgstr "暗いグラデーションの背景画像"
 
-#: ../data/rabbit/image/dark-gradation-images/property.rb:3
 msgid "Images related to dark gradation"
 msgstr "暗いグラデーション関連の画像"
 
-#: ../data/rabbit/image/dark-gradation-images/property.rb:4
 msgid "Provides images related to Dark Gradation theme"
 msgstr "暗いグラデーションテーマに関連した画像を提供します。"
 
-#: ../data/rabbit/image/debian-images/property.rb:2
 msgid "DebianImage"
 msgstr "Debian: 画像"
 
-#: ../data/rabbit/image/debian-images/property.rb:3
 msgid "Images related to Debian"
 msgstr "Debian 関連の画像"
 
-#: ../data/rabbit/image/debian-images/property.rb:4
 msgid "Provides images related to Debian"
 msgstr "Debianに関連した画像を提供します。"
 
-#: ../data/rabbit/image/nari-images/property.rb:2
 msgid "Nari Image"
 msgstr "Nari: 画像"
 
-#: ../data/rabbit/image/nari-images/property.rb:3
 msgid "Images related to ((<nari>)) theme"
 msgstr "((<nari>))テーマ関連の画像"
 
-#: ../data/rabbit/image/nari-images/property.rb:4
 msgid "Provides images related to ((<nari>)) theme."
 msgstr "((<nari>))テーマに関連した画像を提供します。"
 
-#: ../data/rabbit/image/rabbit-images/property.rb:2
 msgid "RabbitImage"
 msgstr "Rabbit: 画像"
 
-#: ../data/rabbit/image/rabbit-images/property.rb:3
 msgid "Images related to Rabbit"
 msgstr "Rabbit 関連の画像"
 
-#: ../data/rabbit/image/rabbit-images/property.rb:4
 msgid "Provides images related to Rabbit."
 msgstr "Rabbit に関連した画像を提供します。"
 
-#: ../data/rabbit/image/ruby-images/property.rb:2
 msgid "RubyImage"
 msgstr "Ruby: 画像"
 
-#: ../data/rabbit/image/ruby-images/property.rb:3
 msgid "Images related to Ruby"
 msgstr "Ruby 関連の画像"
 
-#: ../data/rabbit/image/ruby-images/property.rb:4
 msgid "Provides images related to Ruby."
 msgstr "Ruby に関連した画像を提供します。"
 
-#: ../data/rabbit/image/rubykaigi2011-images/property.rb:2
 msgid "RubyKaigi2011Image"
 msgstr "RubyKaigi2011: 画像"
 
-#: ../data/rabbit/image/rubykaigi2011-images/property.rb:3
 msgid "Images related to RubyKaigi2011"
 msgstr "RubyKaigi2011関連の画像"
 
-#: ../data/rabbit/image/rubykaigi2011-images/property.rb:4
 msgid "Provides images related to RubyKaigi2011."
 msgstr "RubyKaigi2011に関連した画像を提供します。"
 
-#: ../lib/rabbit/action/basic.rb:8
 msgid "Next"
 msgstr "次"
 
-#: ../lib/rabbit/action/basic.rb:16
 msgid "Previous"
 msgstr "前"
 
-#: ../lib/rabbit/action/basic.rb:24
 msgid "Next slide"
 msgstr "次のスライド"
 
-#: ../lib/rabbit/action/basic.rb:32
 msgid "Previous slide"
 msgstr "前のスライド"
 
-#: ../lib/rabbit/action/basic.rb:40
 msgid "First slide"
 msgstr "最初のスライド"
 
-#: ../lib/rabbit/action/basic.rb:48
 msgid "Last slide"
 msgstr "最後のスライド"
 
-#: ../lib/rabbit/action/basic.rb:58
 msgid "Jump to"
 msgstr "ジャンプ"
 
-#: ../lib/rabbit/action/basic.rb:75
 msgid "Save as image"
 msgstr "画像として保存"
 
-#: ../lib/rabbit/action/basic.rb:91
+msgid "Print"
+msgstr "印刷"
+
 msgid "Iconify"
 msgstr "最小化"
 
-#: ../lib/rabbit/action/basic.rb:102
 msgid "Change theme"
 msgstr "テーマ変更"
 
-#: ../lib/rabbit/action/basic.rb:112
 msgid "Merge theme"
 msgstr "テーマを追加"
 
-#: ../lib/rabbit/action/basic.rb:121
 msgid "Reload theme"
 msgstr "テーマの再読み込み"
 
-#: ../lib/rabbit/action/basic.rb:129
 msgid "Redraw"
 msgstr "再表示"
 
-#: ../lib/rabbit/action/basic.rb:137
 msgid "Clear slide"
 msgstr "スライドをクリア"
 
-#: ../lib/rabbit/action/basic.rb:150
 msgid "_Quit"
 msgstr "終了(_Q)"
 
-#: ../lib/rabbit/action/basic.rb:151
 msgid "_Quit with confirmation"
 msgstr "確認付き終了(_Q)"
 
-#: ../lib/rabbit/action/basic.rb:158
 msgid "Now processing... Do you really quit?"
 msgstr "処理中です...本当に終了しますか?"
 
-#: ../lib/rabbit/action/basic.rb:175
 msgid "Cache all slides"
 msgstr "スライドをキャッシュ"
 
-#: ../lib/rabbit/action/basic.rb:182
 msgid "Graffiti"
 msgstr "落書き"
 
-#: ../lib/rabbit/action/basic.rb:190
 msgid "Clear graffiti"
 msgstr "落書きをクリア"
 
-#: ../lib/rabbit/action/basic.rb:198
 msgid "Undo graffiti"
 msgstr "落書きを戻す"
 
-#: ../lib/rabbit/action/basic.rb:206
 msgid "Change graffiti color"
 msgstr "落書きの色を変える"
 
-#: ../lib/rabbit/action/basic.rb:224
 msgid "Reset adjustment"
 msgstr "ずれを直す"
 
-#: ../lib/rabbit/action/basic.rb:232
 msgid "Reset timer"
 msgstr "タイマーをリセット"
 
-#: ../lib/rabbit/action/basic.rb:240
 msgid "Expand hole"
 msgstr "穴を広げる"
 
-#: ../lib/rabbit/action/basic.rb:247
 msgid "Narrow hole"
 msgstr "穴を狭める"
 
-#: ../lib/rabbit/action/basic.rb:255
 msgid "Search slide forward"
 msgstr "スライドを前方検索"
 
-#: ../lib/rabbit/action/basic.rb:263
 msgid "Search slide backward"
 msgstr "スライドを後方検索"
 
-#: ../lib/rabbit/action/basic.rb:271
 msgid "Search slide forward next"
 msgstr "次のスライドを前方検索"
 
-#: ../lib/rabbit/action/basic.rb:279
 msgid "Search slide backward next"
 msgstr "次のスライドを後方検索"
 
-#: ../lib/rabbit/action/basic.rb:287
 msgid "Stop slide search"
 msgstr "スライド検索修了"
 
-#: ../lib/rabbit/action/basic.rb:301
 msgid "Log Level"
 msgstr "ログレベル"
 
-#: ../lib/rabbit/action/radio.rb:37
-#: ../lib/rabbit/command/rabbit-slide.rb:353
-#: ../lib/rabbit/command/rabbit-slide.rb:369
-#: ../lib/rabbit/command/rabbit-theme.rb:211
-#: ../lib/rabbit/command/rabbit-theme.rb:227
+msgid "Whiteout"
+msgstr "ホワイトアウト"
+
+msgid "Blackout"
+msgstr "ブラックアウト"
+
 msgid "Show"
 msgstr "表示"
 
-#: ../lib/rabbit/action/radio.rb:48
-#: ../lib/rabbit/theme/show-frame/property.rb:1
 msgid "Debug"
 msgstr "デバッグ"
 
-#: ../lib/rabbit/action/radio.rb:53
 msgid "Info"
 msgstr "情報"
 
-#: ../lib/rabbit/action/radio.rb:58
 msgid "Warning"
 msgstr "警告"
 
-#: ../lib/rabbit/action/radio.rb:63
 msgid "Error"
 msgstr "エラー"
 
-#: ../lib/rabbit/action/radio.rb:68
 msgid "Fatal"
 msgstr "致命的"
 
-#: ../lib/rabbit/action/radio.rb:73
 msgid "Unknown"
 msgstr "未知"
 
-#: ../lib/rabbit/action/radio.rb:27 ../lib/rabbit/action/toggle.rb:12
-msgid "Whiteout"
-msgstr "ホワイトアウト"
-
-#: ../lib/rabbit/action/radio.rb:32 ../lib/rabbit/action/toggle.rb:23
-msgid "Blackout"
-msgstr "ブラックアウト"
-
-#: ../lib/rabbit/action/toggle.rb:30
 msgid "Index mode"
 msgstr "一覧モード"
 
-#: ../lib/rabbit/action/toggle.rb:38
 msgid "Full screen"
 msgstr "フルスクリーン"
 
-#: ../lib/rabbit/action/toggle.rb:50
 msgid "Graffiti mode"
 msgstr "落書きモード"
 
-#: ../lib/rabbit/action/toggle.rb:58
 msgid "Information window"
 msgstr "情報ウィンドウ"
 
-#: ../lib/rabbit/action/toggle.rb:65
 msgid "Spotlight"
 msgstr "スポットライト"
 
-#: ../lib/rabbit/action/toggle.rb:72
 msgid "Magnifier"
 msgstr "虫眼鏡"
 
-#: ../lib/rabbit/author-configuration.rb:42
 msgid "Failed to read author configuration: %s: %s"
 msgstr "作者設定の読み込みに失敗しました: %s: %s"
 
-#: ../lib/rabbit/author-configuration.rb:52
 msgid "Failed to write author configuration: %s: %s"
 msgstr "作者設定の書き込みに失敗しました: %s: %s"
 
-#: ../lib/rabbit/canvas.rb:607
 msgid "Unknown action: %s"
 msgstr "未知のアクション: %s"
 
-#: ../lib/rabbit/canvas.rb:675
 msgid "Processing..."
 msgstr "処理中です..."
 
-#: ../lib/rabbit/command/rabbit-slide.rb:50
-#: ../lib/rabbit/command/rabbit-theme.rb:48
 msgid "See --help for example"
 msgstr "--helpで例を確認できます"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:76
-#, fuzzy
 msgid ""
 "Usage: %s COMMAND [OPTIONS]\n"
 " e.g.: %s new \\\n"
@@ -442,7 +316,7 @@ msgid ""
 "          --slideshare-user kou \\\n"
 "          --speaker-deck-user kou"
 msgstr ""
-"使い方: %s new [オプション]\n"
+"使い方: %s COMMAND [オプション]\n"
 "    例: %s new \\\n"
 "          --id rubykaigi2012 \\\n"
 "          --base-name rabbit-introduction \\\n"
@@ -453,216 +327,123 @@ msgstr ""
 "          --slideshare-user kou \\\n"
 "          --speaker-deck-user kou"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:91
 msgid "COMMAND"
 msgstr ""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:92
 msgid "  new:    create a new slide"
-msgstr ""
+msgstr "  new:    新しいスライドを作成"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:93
 msgid "  change: change an existing slide"
-msgstr ""
+msgstr "  change: 既存のスライドを変更"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:96
 msgid "Slide information"
 msgstr "スライドの情報"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:99
 msgid "Slide ID"
 msgstr "スライドID"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:100
-#: ../lib/rabbit/command/rabbit-slide.rb:107
-#: ../lib/rabbit/command/rabbit-slide.rb:119
-#: ../lib/rabbit/command/rabbit-slide.rb:133
-#: ../lib/rabbit/command/rabbit-slide.rb:141
-#: ../lib/rabbit/command/rabbit-slide.rb:148
-#: ../lib/rabbit/command/rabbit-slide.rb:155
-#: ../lib/rabbit/command/rabbit-slide.rb:164
-#: ../lib/rabbit/command/rabbit-slide.rb:177
-#: ../lib/rabbit/command/rabbit-slide.rb:191
-#: ../lib/rabbit/command/rabbit-slide.rb:205
-#: ../lib/rabbit/command/rabbit-slide.rb:219
-#: ../lib/rabbit/command/rabbit-theme.rb:83
-#: ../lib/rabbit/command/rabbit-theme.rb:92
-#: ../lib/rabbit/command/rabbit-theme.rb:105
-#: ../lib/rabbit/command/rabbit-theme.rb:119
 msgid "(e.g.: %s)"
 msgstr "(例: %s)"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:101
-#: ../lib/rabbit/command/rabbit-slide.rb:108
-#: ../lib/rabbit/command/rabbit-theme.rb:84
 msgid "(must)"
 msgstr "(必須)"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:106
 msgid "Base name for the slide source file and generated PDF file"
 msgstr "スライドのソースファイルとソースから生成するPDFファイルのベースファイル名"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:118
 msgid "Markup language for the new slide"
 msgstr "新しいスライドのマークアップ言語"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:120
 msgid "(available markup languages: %s)"
 msgstr "(利用可能なマークアップ言語: %s)"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:123
-#: ../lib/rabbit/command/rabbit-slide.rb:167
-#: ../lib/rabbit/command/rabbit-slide.rb:180
-#: ../lib/rabbit/command/rabbit-slide.rb:194
-#: ../lib/rabbit/command/rabbit-slide.rb:208
-#: ../lib/rabbit/command/rabbit-slide.rb:222
-#: ../lib/rabbit/command/rabbit-theme.rb:95
-#: ../lib/rabbit/command/rabbit-theme.rb:108
-#: ../lib/rabbit/command/rabbit-theme.rb:122
 msgid "(default: %s)"
 msgstr "(デフォルト: %s)"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:125
-#: ../lib/rabbit/command/rabbit-slide.rb:134
-#: ../lib/rabbit/command/rabbit-slide.rb:142
-#: ../lib/rabbit/command/rabbit-slide.rb:149
-#: ../lib/rabbit/command/rabbit-slide.rb:156
-#: ../lib/rabbit/command/rabbit-slide.rb:169
-#: ../lib/rabbit/command/rabbit-slide.rb:182
-#: ../lib/rabbit/command/rabbit-slide.rb:196
-#: ../lib/rabbit/command/rabbit-slide.rb:210
-#: ../lib/rabbit/command/rabbit-slide.rb:224
-#: ../lib/rabbit/command/rabbit-theme.rb:97
-#: ../lib/rabbit/command/rabbit-theme.rb:110
-#: ../lib/rabbit/command/rabbit-theme.rb:124
 msgid "(optional)"
 msgstr "(省略可能)"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:132
 msgid "Title of the new slide"
 msgstr "新しいスライドのタイトル"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:133
 msgid "--title=\"Rabbit Introduction\""
 msgstr "--title=\"Rabbitの紹介\""
 
-#: ../lib/rabbit/command/rabbit-slide.rb:140
 msgid "Tags of the new slide"
 msgstr "新しいスライドのタグ"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:147
 msgid "Allotted time in presentaion"
 msgstr "プレゼンの持ち時間"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:154
 msgid "Presentation date with the new slide"
 msgstr "新しいスライドでプレゼンする日"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:160
-#: ../lib/rabbit/command/rabbit-theme.rb:88
 msgid "Your information"
 msgstr "あなたの情報"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:163
-#: ../lib/rabbit/command/rabbit-theme.rb:91
 msgid "Author name of the new slide"
 msgstr "新しいスライドの作者の名前"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:176
-#: ../lib/rabbit/command/rabbit-theme.rb:104
 msgid "Author e-mail of the new slide"
 msgstr "新しいスライドの作者のEメールアドレス"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:189
-#: ../lib/rabbit/command/rabbit-slide.rb:203
-#: ../lib/rabbit/command/rabbit-slide.rb:217
-#: ../lib/rabbit/command/rabbit-theme.rb:117
 msgid "Account for %s"
 msgstr "%sのアカウント"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:190
-#: ../lib/rabbit/command/rabbit-slide.rb:204
-#: ../lib/rabbit/command/rabbit-slide.rb:218
-#: ../lib/rabbit/command/rabbit-theme.rb:118
 msgid "It is used to publish your slide to %s"
 msgstr "%sにスライドを公開するときに使います"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:252
-#: ../lib/rabbit/command/rabbit-theme.rb:143
 msgid "too many commands: %s"
 msgstr "コマンドが多過ぎます: %s"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:256
-#: ../lib/rabbit/command/rabbit-theme.rb:148
 msgid "invalid command: <%s>: available commands: %s"
 msgstr "不正なコマンド: <%s>: 利用可能なコマンド: %s"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:264
-#: ../lib/rabbit/command/rabbit-slide.rb:270
-#: ../lib/rabbit/command/rabbit-theme.rb:156
 msgid "%s is missing"
 msgstr "%sがありません"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:345
 msgid "TODO: SLIDE TITLE"
 msgstr "TODO: スライドのタイトル"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:348
 msgid "TODO: SLIDE DESCRIPTION"
 msgstr "TODO: スライドの説明"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:351
-#: ../lib/rabbit/command/rabbit-theme.rb:209
 msgid "For author"
 msgstr "作者向け"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:357
-#: ../lib/rabbit/command/rabbit-theme.rb:215
 msgid "Publish"
 msgstr "公開"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:362
 msgid "For viewers"
 msgstr "閲覧者向け"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:364
-#: ../lib/rabbit/command/rabbit-theme.rb:222
 msgid "Install"
 msgstr "インストール"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:435
 msgid "TITLE"
 msgstr "タイトル"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:437
 msgid "FIRST SLIDE"
 msgstr "最初のスライド"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:439
 msgid "SECOND SLIDE"
 msgstr "二番目のスライド"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:451
 msgid "SUBTITLE"
 msgstr "サブタイトル"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:452
 msgid "AUTHOR"
 msgstr "作者"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:453
 msgid "INSTITUTION"
 msgstr "所属"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:454
 msgid "EVENT NAME"
 msgstr "イベント名"
 
-#: ../lib/rabbit/command/rabbit-slide.rb:475
 msgid "ITEM %d"
 msgstr "項目%d"
 
-#: ../lib/rabbit/command/rabbit-theme.rb:67
 msgid ""
 "Usage: %s new [options]\n"
 " e.g.: %s new \\\n"
@@ -678,82 +459,42 @@ msgstr ""
 "          --email kou at cozmixng.org \\\n"
 "          --rubygems-user kou"
 
-#: ../lib/rabbit/command/rabbit-theme.rb:79
 msgid "Theme information"
 msgstr "テーマの情報"
 
-#: ../lib/rabbit/command/rabbit-theme.rb:82
 msgid "Theme ID"
 msgstr "テーマID"
 
-#: ../lib/rabbit/command/rabbit-theme.rb:204
 msgid "TODO: THEME TITLE"
 msgstr "TODO: テーマのタイトル"
 
-#: ../lib/rabbit/command/rabbit-theme.rb:206
 msgid "TODO: THEME DESCRIPTION"
 msgstr "TODO: テーマの説明"
 
-#: ../lib/rabbit/command/rabbit-theme.rb:220
 msgid "For users"
 msgstr "利用者用"
 
-#: ../lib/rabbit/command/rabbit-theme.rb:229
-#: ../lib/rabbit/task/theme.rb:95
 msgid "rabbit-theme-benchmark-en.gem"
 msgstr "rabbit-theme-benchmark-ja.gem"
 
-#: ../lib/rabbit/command/rabbit.rb:143
-#: ../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/theme/green-circle/property.rb:1
-#: ../lib/rabbit/theme/image-viewer/property.rb:1
-#: ../lib/rabbit/theme/lightning-clear-blue/property.rb:1
-#: ../lib/rabbit/theme/lightning-monochrome/property.rb:1
-#: ../lib/rabbit/theme/lightning-rabbit/property.rb:1
-#: ../lib/rabbit/theme/lightning-simple/property.rb:1
-#: ../lib/rabbit/theme/lightning-talk/property.rb:1
-#: ../lib/rabbit/theme/nari/property.rb:1
-#: ../lib/rabbit/theme/night-black/property.rb:1
-#: ../lib/rabbit/theme/pdf/property.rb:1
-#: ../lib/rabbit/theme/rabbit/property.rb:1
-#: ../lib/rabbit/theme/ranguba/property.rb:1
-#: ../lib/rabbit/theme/red-frame/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2/property.rb:1
-#: ../lib/rabbit/theme/rubykaigi2011/property.rb:1
 msgid "Theme"
 msgstr "テーマ"
 
-#: ../lib/rabbit/command/rabbit.rb:146
 msgid "Add [PATH] to load path."
 msgstr "[PATH]をロードパスに追加します."
 
-#: ../lib/rabbit/command/rabbit.rb:151
 msgid "Use [THEME] as theme."
 msgstr "テーマに[THEME]を使用します."
 
-#: ../lib/rabbit/command/rabbit.rb:158
 msgid "Use [THEME] for comment."
 msgstr "コメント用のテーマに[THEME]を使用します."
 
-#: ../lib/rabbit/command/rabbit.rb:164
 msgid "Use [TIME] as allotted time."
 msgstr "持ち時間を[TIME]とします。"
 
-#: ../lib/rabbit/command/rabbit.rb:170
-#: ../lib/rabbit/html/generator.rb:404
 msgid "Source"
 msgstr "ソース"
 
-#: ../lib/rabbit/command/rabbit.rb:177
 msgid ""
 "When select %s\n"
 "specify %s\n"
@@ -763,69 +504,51 @@ msgstr ""
 "[SOURCE_INFOS]として\n"
 "%sを指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:184
 msgid "Specify source type as [TYPE]."
 msgstr "[TYPE]にソースの種類を指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:186
+msgid "Select from [%s]."
+msgstr "[%s]から選びます."
+
 msgid "Note: case insensitive."
 msgstr "注意: 大文字小文字は区別しません."
 
-#: ../lib/rabbit/command/rabbit.rb:200
 msgid "Specify source encoding as [ENCODING]."
 msgstr "[ENCODING]にソースエンコーディングを指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:201
-#: ../lib/rabbit/command/rabbit.rb:207
-#: ../lib/rabbit/command/rabbit.rb:368
-#: ../lib/rabbit/command/rabbit.rb:375
-#: ../lib/rabbit/command/rabbit.rb:382
-#: ../lib/rabbit/command/rabbit.rb:389
-#: ../lib/rabbit/command/rabbit.rb:414
-#: ../lib/rabbit/command/rabbit.rb:421
-#: ../lib/rabbit/command/rabbit.rb:428
-#: ../lib/rabbit/command/rabbit.rb:435
-#: ../lib/rabbit/command/rabbit.rb:556 ../lib/rabbit/console.rb:150
 msgid "(auto)"
 msgstr "(自動)"
 
-#: ../lib/rabbit/command/rabbit.rb:206
 msgid "Specify base URI or path of source as [BASE]."
 msgstr "ソースのベースURIまたはベースパスを[BASE]とします."
 
-#: ../lib/rabbit/command/rabbit.rb:212
 msgid "Initial state"
 msgstr "初期状態"
 
-#: ../lib/rabbit/command/rabbit.rb:215
 msgid "Toggle full screen mode."
 msgstr "フルスクリーンモードに切替えます."
 
-#: ../lib/rabbit/command/rabbit.rb:221
 msgid "Toggle index mode."
 msgstr "一覧モードに切替えます."
 
-#: ../lib/rabbit/command/rabbit.rb:227
+msgid "Show the Nth slide. (zero-based)"
+msgstr "N番目のスライドを表示。(0はじまり)"
+
 msgid "Size"
 msgstr "サイズ"
 
-#: ../lib/rabbit/command/rabbit.rb:230
 msgid "Set window geometry [GEOMETRY]."
 msgstr "ウィンドウの位置を[GEOMETRY]にします."
 
-#: ../lib/rabbit/command/rabbit.rb:231
 msgid "Format: WIDTHxHEIGHT+X+Y"
 msgstr "フォーマット: WIDTHxHEIGHT+X+Y"
 
-#: ../lib/rabbit/command/rabbit.rb:238
 msgid "Set window width to [WIDTH]."
 msgstr "ウィンドウの幅を[WIDTH]にします."
 
-#: ../lib/rabbit/command/rabbit.rb:245
 msgid "Set window height to [HEIGHT]."
 msgstr "ウィンドウの高さを[HEIGHT]にします."
 
-#: ../lib/rabbit/command/rabbit.rb:250
 msgid ""
 "Set window width and height to\n"
 "[WIDTH] and [HEIGHT]."
@@ -833,88 +556,66 @@ msgstr ""
 "ウィンドウの幅と高さを\n"
 "[WIDTH]と[HEIGHT]にします."
 
-#: ../lib/rabbit/command/rabbit.rb:263
 msgid "Save"
 msgstr "保存"
 
-#: ../lib/rabbit/command/rabbit.rb:266
 msgid "Save as image and exit."
 msgstr "画像として保存し終了します."
 
-#: ../lib/rabbit/command/rabbit.rb:271
 msgid "Specify saved image type as [TYPE]."
 msgstr "保存する画像の種類を[TYPE]にします."
 
-#: ../lib/rabbit/command/rabbit.rb:278
 msgid "Specify saved image base name as [BASE_NAME]."
 msgstr "保存する画像のベース名を[BASE_NAME]にします."
 
-#: ../lib/rabbit/command/rabbit.rb:279
-#: ../lib/rabbit/command/rabbit.rb:317
 msgid "Title of slide"
 msgstr "スライドのタイトル"
 
-#: ../lib/rabbit/command/rabbit.rb:284
 msgid "Output HTML for viewing saved images."
 msgstr "保存した画像を閲覧するためのHTMLを出力します."
 
-#: ../lib/rabbit/command/rabbit.rb:290
 msgid "Output index HTML for navigating slides."
 msgstr "保存した画像を閲覧するための索引用HTMLを出力します."
 
-#: ../lib/rabbit/command/rabbit.rb:296
 msgid "Specify base URI of RSS as [URI]."
 msgstr "RSS のベース URI を [URI] と指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:297
 msgid "RSS is generated only when HTML is output."
 msgstr "RSS は、HTML が出力されるときだけ生成されます。"
 
-#: ../lib/rabbit/command/rabbit.rb:303
 msgid "Specify source filenam as [FILENAME]."
 msgstr "[FILENAME]をソースファイル名とします."
 
-#: ../lib/rabbit/command/rabbit.rb:311
 msgid "Print and exit."
 msgstr "印刷し終了します."
 
-#: ../lib/rabbit/command/rabbit.rb:316
 msgid "Specify printed out filename as [FILENAME]."
 msgstr "[FILENAME]を印刷するファイル名とします."
 
-#: ../lib/rabbit/command/rabbit.rb:323
 msgid "Set slides per page."
 msgstr "1ページ中のスライドの枚数を設定します."
 
-#: ../lib/rabbit/command/rabbit.rb:329
 msgid "Draw scaled image."
 msgstr "拡大・縮小した画面を描画します。"
 
-#: ../lib/rabbit/command/rabbit.rb:330
 msgid "Better look for displaying but lesser look for printing."
 msgstr "画面表示時にはよりキレイになりますが、印刷時には少し見栄えが悪くなります。"
 
-#: ../lib/rabbit/command/rabbit.rb:335
 msgid "Paper"
 msgstr "用紙"
 
-#: ../lib/rabbit/command/rabbit.rb:339
 msgid "Set paper width to [WIDTH] Pt."
 msgstr "用紙幅を[WIDTH] Ptにします."
 
-#: ../lib/rabbit/command/rabbit.rb:340
 msgid "(landscape A4 width)"
 msgstr "(横置きA4の幅)"
 
-#: ../lib/rabbit/command/rabbit.rb:346
 msgid "Set paper height to [HEIGHT] Pt."
 msgstr "用紙の高さを[HEIGHT] Ptにします."
 
-#: ../lib/rabbit/command/rabbit.rb:347
 msgid "(landscape A4 height)"
 msgstr "(横置きA4の高さ)"
 
-#: ../lib/rabbit/command/rabbit.rb:351
 msgid ""
 "Set paper width and height to\n"
 "[WIDTH] Pt and [HEIGHT] Pt."
@@ -922,1422 +623,1054 @@ msgstr ""
 "用紙の幅と高さを\n"
 "[WIDTH] Ptと[HEIGHT] Ptにします."
 
-#: ../lib/rabbit/command/rabbit.rb:353
 msgid "(landscape A4 size)"
 msgstr "(横置きA4サイズ)"
 
-#: ../lib/rabbit/command/rabbit.rb:363
 msgid "Margin"
 msgstr "余白"
 
-#: ../lib/rabbit/command/rabbit.rb:367
 msgid "Set left margin for slides per page mode print."
 msgstr "1ページ複数スライド印刷モードの左余白を設定します."
 
-#: ../lib/rabbit/command/rabbit.rb:374
 msgid "Set right margin for slides per page mode print."
 msgstr "1ページ複数スライド印刷モードの右余白を設定します."
 
-#: ../lib/rabbit/command/rabbit.rb:381
 msgid "Set top margin for slides per page mode print."
 msgstr "1ページ複数スライド印刷モードの上余白を設定します."
 
-#: ../lib/rabbit/command/rabbit.rb:388
 msgid "Set bottom margin for slides per page mode print."
 msgstr "1ページ複数スライド印刷モードの下余白を設定します."
 
-#: ../lib/rabbit/command/rabbit.rb:393
 msgid "[ALL]"
 msgstr "[全部]"
 
-#: ../lib/rabbit/command/rabbit.rb:394
 msgid "[TOP_BOTTOM],[LEFT_RIGHT]"
 msgstr "[上下],[左右]"
 
-#: ../lib/rabbit/command/rabbit.rb:395
 msgid "[TOP],[LEFT_RIGHT],[BOTTOM]"
 msgstr "[上],[左右],[下]"
 
-#: ../lib/rabbit/command/rabbit.rb:396
 msgid "[TOP],[RIGHT],[BOTTOM],[LEFT]"
 msgstr "[上],[右],[下],[左]"
 
-#: ../lib/rabbit/command/rabbit.rb:399
 msgid "Set margin for slides per page mode print."
 msgstr "1ページ複数スライド印刷モードの余白を設定します."
 
-#: ../lib/rabbit/command/rabbit.rb:413
 msgid "Set left page margin."
 msgstr "左ページ余白を設定します."
 
-#: ../lib/rabbit/command/rabbit.rb:420
 msgid "Set right page margin."
 msgstr "右ページ余白を指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:427
 msgid "Set top page margin."
 msgstr "上ページ余白を指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:434
 msgid "Set bottom page margin."
 msgstr "下ページ余白を指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:441
 msgid "Set page margin."
 msgstr "ページ余白を指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:453
 msgid "dRuby"
 msgstr "dRuby"
 
-#: ../lib/rabbit/command/rabbit.rb:456
 msgid "Specify whether to use dRuby."
 msgstr "dRubyを使うかどうかを指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:462
 msgid "Specify dRuby URI."
 msgstr "dRuby URIを指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:468
 msgid "Specify whether to output dRuby URI."
 msgstr "dRuby URIを出力するかどうかを指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:473
 msgid "SOAP"
 msgstr "SOAP"
 
-#: ../lib/rabbit/command/rabbit.rb:476
 msgid "Specify whether to use SOAP."
 msgstr "SOAPを使うかどうかを指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:482
 msgid "Specify SOAP host as [HOST]."
 msgstr "SOAPのホスト名を[HOST]とします."
 
-#: ../lib/rabbit/command/rabbit.rb:489
 msgid "Specify SOAP port as [PORT]."
 msgstr "SOAPのポートを[PORT]とします."
 
-#: ../lib/rabbit/command/rabbit.rb:494
 msgid "XML-RPC"
 msgstr "XML-RPC"
 
-#: ../lib/rabbit/command/rabbit.rb:497
 msgid "Specify whether to use XML-RPC."
 msgstr "XML-RPCを使うかどうかを指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:503
 msgid "Specify XML-RPC host as [HOST]."
 msgstr "XML-RPCのホスト名を[HOST]とします."
 
-#: ../lib/rabbit/command/rabbit.rb:510
 msgid "Specify XML-RPC port as [PORT]."
 msgstr "XML-RPCのポートを[PORT]とします."
 
-#: ../lib/rabbit/command/rabbit.rb:515
-msgid "Server"
-msgstr "サーバ"
-
-#: ../lib/rabbit/command/rabbit.rb:518
-msgid "Specify whether to run as server."
-msgstr "サーバとして動作するかどうかを指定します."
-
-#: ../lib/rabbit/command/rabbit.rb:523
 msgid "Public level"
 msgstr "公開レベル"
 
-#: ../lib/rabbit/command/rabbit.rb:530
 msgid "Specify public level."
 msgstr "公開レベルを指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:531
 msgid "Select from the following:"
 msgstr "以下から選択します."
 
-#: ../lib/rabbit/command/rabbit.rb:540
-#: ../lib/rabbit/command/rabbit.rb:565
-#: ../lib/rabbit/command/rabbit.rb:572
 msgid "(%s)"
 msgstr "(%s)"
 
-#: ../lib/rabbit/command/rabbit.rb:545
-#: ../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:548
-#: ../lib/rabbit/command/rabbit.rb:554
 msgid "Deprecated. Just ignored."
 msgstr "非推奨です。無視してください。"
 
-#: ../lib/rabbit/command/rabbit.rb:549
 msgid "Specify initial comment source."
 msgstr "初期コメントソースを指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:550
 msgid "(default source)"
 msgstr "(デフォルトソース)"
 
-#: ../lib/rabbit/command/rabbit.rb:555
 msgid "Specify comment source encoding."
 msgstr "コメントソースのエンコーディングを指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:559
 msgid "Migemo"
 msgstr "Migemo"
 
-#: ../lib/rabbit/command/rabbit.rb:564
 msgid "Specify search paths for Migemo static dictionary."
 msgstr "Migemoの静的辞書の検索パスを指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:571
 msgid "Specify static dictionary name for Migemo."
 msgstr "Migemoの静的辞書名を指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:576
 msgid "3D"
 msgstr "3D"
 
-#: ../lib/rabbit/command/rabbit.rb:579
 msgid "Specify whether to use OpenGL if available."
 msgstr "可能ならOpenGLを使うかどうかを指定します."
 
-#: ../lib/rabbit/command/rabbit.rb:584
 msgid "Display"
 msgstr "画面表示"
 
-#: ../lib/rabbit/command/rabbit.rb:587
 msgid "Specify whether to keep above window."
 msgstr "ウィンドウを常に前面に表示するかどうかを指定します。"
 
-#: ../lib/rabbit/command/rabbit.rb:592
 msgid "Others"
 msgstr "その他"
 
-#: ../lib/rabbit/command/rabbit.rb:595
+msgid "Check slide source syntax and exit."
+msgstr "スライドのソースの構文をチェックして終了します。"
+
 msgid "Show a native window ID of the Rabbit window if available."
 msgstr "可能ならウィンドウシステムに依存したRabbitのウィンドウのIDを表示します。"
 
-#: ../lib/rabbit/command/rabbit.rb:596
 msgid "e.g. The ID is the ID of X resource on X window system."
 msgstr "例えば、Xウィンドウシステム上ではXリソースのIDになります。"
 
-#: ../lib/rabbit/command/rabbit.rb:637
 msgid "Choose a Rabbit source file"
 msgstr "Rabbitのソースファイルを選んでください。"
 
-#: ../lib/rabbit/command/rabbit.rb:753
 msgid "dRuby URI <%s> is in use."
 msgstr "dRuby URI<%s>は使用中です."
 
-#: ../lib/rabbit/command/rabbit.rb:772
 msgid "port <%s> for SOAP is in use."
 msgstr "SOAP用ポート<%s>は使用中です."
 
-#: ../lib/rabbit/command/rabbit.rb:793
 msgid "port <%s> for XML-RPC is in use."
 msgstr "XML-RPC用ポート<%s>は使用中です."
 
-#: ../lib/rabbit/command/rabbit.rb:854
 msgid "Window ID: %d"
 msgstr "ウィンドウID: %d"
 
-#: ../lib/rabbit/command/rabbit.rb:900
-msgid "going to shutdown..."
-msgstr "終了中です..."
-
-#: ../lib/rabbit/command/rabbit.rb:902
-msgid "DRb.thread done."
-msgstr "DRB.threadは終了しました."
-
-#: ../lib/rabbit/command/rabbit.rb:185 ../lib/rabbit/console.rb:165
-#: ../lib/rabbit/console.rb:182
-msgid "Select from [%s]."
-msgstr "[%s]から選びます."
-
-#: ../lib/rabbit/command/rabbit.rb:308 ../lib/rabbit/action/basic.rb:83
-msgid "Print"
-msgstr "印刷"
-
-#: ../lib/rabbit/console.rb:114
 msgid "Usage: %s [options]"
 msgstr "使用法: %s [オプション]"
 
-#: ../lib/rabbit/console.rb:129
 msgid "Common options"
 msgstr "共通のオプション"
 
-#: ../lib/rabbit/console.rb:139
 msgid "Load options from FILE."
 msgstr "FILEからオプションを読み込みます。"
 
-#: ../lib/rabbit/console.rb:140
 msgid "(none)"
 msgstr "(なし)"
 
-#: ../lib/rabbit/console.rb:149
 msgid "Specify locale dir as [DIR]."
 msgstr "ロケールディレクトリを[DIR]にします."
 
-#: ../lib/rabbit/console.rb:164
 msgid "Specify logger type as [TYPE]."
 msgstr "ログの出力種類を[TYPE]にします."
 
-#: ../lib/rabbit/console.rb:181
 msgid "Specify log level as [LEVEL]."
 msgstr "ログの出力レベルを[LEVEL]にします."
 
-#: ../lib/rabbit/console.rb:191
 msgid "Show this message."
 msgstr "このメッセージを表示します."
 
-#: ../lib/rabbit/console.rb:195
 msgid "Show version."
 msgstr "バージョンを表示します."
 
-#: ../lib/rabbit/element/index-slide.rb:103
-#: ../lib/rabbit/html/generator.rb:393
 msgid "Index"
 msgstr "一覧"
 
-#: ../lib/rabbit/gem-finder.rb:46
+msgid "no such file: %s"
+msgstr "そのようなファイルはありません: %s"
+
+msgid "can't handle %s because the following command can't be run successfully: %s"
+msgstr "次のコマンドを正常に実行できなかったので%sを扱うことができません: %s"
+
+msgid "tried gs commands: %s"
+msgstr "実行したgsコマンド名: %s"
+
+msgid "tried dia commands: %s"
+msgstr "実行したdiaコマンド名: %s"
+
+msgid "tried gimp commands: %s"
+msgstr "実行したgimpコマンド名: %s"
+
+msgid "Unknown property: %s"
+msgstr "未知のプロパティ: %s"
+
+msgid "can't allocate color: %s"
+msgstr "色を割り当てることができません: %s"
+
+msgid "not exist: %s"
+msgstr "存在しません: %s"
+
+msgid "not a file: %s"
+msgstr "ファイルではありません: %s"
+
+msgid "can not be read: %s"
+msgstr "読み込むことができません: %s"
+
+msgid "immutable source type: %s"
+msgstr "変更不能なソースタイプです: %s"
+
+msgid "not available interface: %s"
+msgstr "利用可能なインターフェイスではありません: %s"
+
+msgid "can't find HTML template: %s"
+msgstr "HTML のテンプレートが見つかりません: %s"
+
+msgid "can't find theme RD template: %s"
+msgstr "テーマ RD のテンプレートが見つかりません: %s"
+
+msgid "invalid motion: %s"
+msgstr "不正な動きです: %s"
+
+msgid "invalid value of size property \"%{prop_name}\" of image \"%{filename}\": %{value}"
+msgstr "画像\"%{filename}のサイズプロパティ%{prop_name}の値が不正です: %{value}"
+
+msgid "unknown cursor type: %s"
+msgstr "未知のカーソルタイプ: %s"
+
+msgid "print isn't supported"
+msgstr "印刷をサポートしていません"
+
 msgid "Installing gem: %s"
 msgstr "gemをインストール中: %s"
 
-#: ../lib/rabbit/gem-finder.rb:49
 msgid "Installing gem in user install mode: %s"
 msgstr "gemをユーザーインストールモードでインストール中: %s"
 
-#: ../lib/rabbit/graffiti/config-dialog.rb:48
+msgid "Enter password on RubyGems.org [%{user}]: "
+msgstr "RubyGems.orgのパスワードを入力してください [%{user}]: "
+
 msgid "Line width:"
 msgstr "線の太さ"
 
-#: ../lib/rabbit/html/generator.rb:50
 msgid "Creating a image for the %dth page"
 msgstr "%dページ目の画像を生成しています。"
 
-#: ../lib/rabbit/html/generator.rb:63
 msgid "can't generate RSS"
 msgstr "RSS を生成できません"
 
-#: ../lib/rabbit/html/generator.rb:391
 msgid "Slide"
 msgstr "スライド"
 
-#: ../lib/rabbit/html/generator.rb:400
-#: ../lib/rabbit/theme/pdf/property.rb:2
 msgid "PDF"
 msgstr "PDF"
 
-#: ../lib/rabbit/image/pdf.rb:53
 msgid "invalid PDF page number: <%s>"
-msgstr ""
+msgstr "不正なPDFのページ番号です: <%s>"
 
-#: ../lib/rabbit/image/pdf.rb:58
 msgid "%s page doesn't exist in PDF"
 msgstr "PDFの中に%sページはありません"
 
-#: ../lib/rabbit/info-window.rb:98
 msgid "%s: Information window"
 msgstr "%s: 情報ウィンドウ"
 
-#: ../lib/rabbit/info-window.rb:224
 msgid "unlimited"
 msgstr "制限無し"
 
-#: ../lib/rabbit/logger/base.rb:35
 msgid "DEBUG"
 msgstr "デバッグ"
 
-#: ../lib/rabbit/logger/base.rb:36
 msgid "INFO"
 msgstr "情報"
 
-#: ../lib/rabbit/logger/base.rb:37
 msgid "WARNING"
 msgstr "警告"
 
-#: ../lib/rabbit/logger/base.rb:38
 msgid "ERROR"
 msgstr "エラー"
 
-#: ../lib/rabbit/logger/base.rb:39
 msgid "FATAL"
 msgstr "致命的"
 
-#: ../lib/rabbit/logger/base.rb:40
 msgid "UNKNOWN"
 msgstr "未知"
 
-#: ../lib/rabbit/logger/gui.rb:72
 msgid "Rabbit Error Dialog"
 msgstr "Rabbitエラーダイアログ"
 
-#: ../lib/rabbit/logger/stderr.rb:16
 msgid "can't convert to current locale from UTF-8: %s"
 msgstr "UTF-8から現在のロケールに変換できません: %s"
 
-#: ../lib/rabbit/menu.rb:61
 msgid "Jump to the %dth slide"
 msgstr "%d番目のスライドへジャンプ"
 
-#: ../lib/rabbit/parser.rb:14
 msgid "unsupported format. (supported: %s)"
 msgstr "サポートしていない形式です。(サポートしている形式: %s)"
 
-#: ../lib/rabbit/parser/ext/aafigure.rb:24
 msgid "tried aafigure command: %s"
 msgstr "実行したaafigureコマンド名: %s"
 
-#: ../lib/rabbit/parser/ext/blockdiag.rb:28
 msgid "tried blockdiag command: %s"
 msgstr "実行したblockdiagコマンド名: %s"
 
-#: ../lib/rabbit/parser/ext/emacs.rb:94
 msgid "emacs: unsupported element name: %s"
 msgstr "emacs: サポートしていない要素名です: %s"
 
-#: ../lib/rabbit/parser/ext/enscript.rb:30
 msgid "enscript: unsupported language: %s"
 msgstr "enscript: サポートしていない言語です: %s"
 
-#: ../lib/rabbit/parser/ext/enscript.rb:112
 msgid "enscript: unsupported element name: %s"
 msgstr "enscript: サポートしていない要素名です: %s"
 
-#: ../lib/rabbit/parser/ext/tex.rb:53
 msgid "tried mimeTeX commands: %s"
 msgstr "実行したmimeTeXコマンド名: %s"
 
-#: ../lib/rabbit/parser/markdown/converter.rb:132
 msgid "multiple ![alt]{image} in a paragraph isn't supported."
 msgstr "ひとつの段落中で複数の「![alt]{image}」を使うことはできません。"
 
-#: ../lib/rabbit/parser/markdown/converter.rb:225
+msgid "horizontal rule isn't supported."
+msgstr "水平線はサポートしていません"
+
 msgid "multiple ![]('XXX.png'){:align='right'} isn't supported."
 msgstr "複数の「![]('XXX.png'){:align='right'}」はサポートしていません。"
 
-#: ../lib/rabbit/parser/rd/ext/block-verbatim.rb:48
+msgid "tag name is missing."
+msgstr "タグ名がありません。"
+
+msgid "HTML isn't supported."
+msgstr "HTMLはサポートしていません"
+
 msgid "multiple 'align = right' isn't supported."
 msgstr "複数の'align = right'はサポートしていません。"
 
-#: ../lib/rabbit/parser/rd/ext/block-verbatim.rb:141
 msgid "RTtool isn't available"
 msgstr "RTtoolが利用できません"
 
-#: ../lib/rabbit/parser/rd/visitor.rb:49
 msgid "[BUG] [%s] %s extension isn't available."
 msgstr "[バグ] [%s] %s の拡張は利用できません."
 
-#: ../lib/rabbit/parser/wiki/output.rb:88
 msgid "horizontal rule is unsupported"
 msgstr "水平線はサポートしていません"
 
-#: ../lib/rabbit/parser/wiki/output.rb:338
 msgid "unsupported list type: %s"
 msgstr "サポートしていないリストの種類: %s"
 
-#: ../lib/rabbit/parser/wiki/output.rb:437
-msgid "multiple {{image, 'XXX.png', :align => :right}} isn't supported."
-msgstr "複数の{{image, 'XXX.png', :align => :right}}はサポートしていません。"
+msgid "inline {{image(...)}} isn't supported."
+msgstr "インラインの{{image(...)}}は未サポートです。"
+
+msgid "multiple {{image(..., :align => :right)}} isn't supported."
+msgstr "複数の{{image(..., :align => :right)}}は未対応です。"
 
-#: ../lib/rabbit/path-manipulatable.rb:28
 msgid "Creating directory: %s"
 msgstr "ディレクトリを作成中: %s"
 
-#: ../lib/rabbit/path-manipulatable.rb:33
 msgid "Creating file:      %s"
 msgstr "ファイルを作成中:     %s"
 
-#: ../lib/rabbit/rabbit.rb:60
-msgid "no such file: %s"
-msgstr "そのようなファイルはありません: %s"
-
-#: ../lib/rabbit/rabbit.rb:70
-msgid "can't handle %s because the following command can't be run successfully: %s"
-msgstr "次のコマンドを正常に実行できなかったので%sを扱うことができません: %s"
-
-#: ../lib/rabbit/rabbit.rb:80
-msgid "tried gs commands: %s"
-msgstr "実行したgsコマンド名: %s"
-
-#: ../lib/rabbit/rabbit.rb:88
-msgid "tried dia commands: %s"
-msgstr "実行したdiaコマンド名: %s"
-
-#: ../lib/rabbit/rabbit.rb:96
-msgid "tried gimp commands: %s"
-msgstr "実行したgimpコマンド名: %s"
-
-#: ../lib/rabbit/rabbit.rb:124
-msgid "Unknown property: %s"
-msgstr "未知のプロパティ: %s"
-
-#: ../lib/rabbit/rabbit.rb:132
-msgid "can't allocate color: %s"
-msgstr "色を割り当てることができません: %s"
-
-#: ../lib/rabbit/rabbit.rb:143
-msgid "not exist: %s"
-msgstr "存在しません: %s"
-
-#: ../lib/rabbit/rabbit.rb:151
-msgid "not a file: %s"
-msgstr "ファイルではありません: %s"
-
-#: ../lib/rabbit/rabbit.rb:159
-msgid "can not be read: %s"
-msgstr "読み込むことができません: %s"
-
-#: ../lib/rabbit/rabbit.rb:167
-msgid "immutable source type: %s"
-msgstr "変更不能なソースタイプです: %s"
-
-#: ../lib/rabbit/rabbit.rb:186
-msgid "not available interface: %s"
-msgstr "利用可能なインターフェイスではありません: %s"
-
-#: ../lib/rabbit/rabbit.rb:194
-msgid "can't find HTML template: %s"
-msgstr "HTML のテンプレートが見つかりません: %s"
-
-#: ../lib/rabbit/rabbit.rb:202
-msgid "can't find theme RD template: %s"
-msgstr "テーマ RD のテンプレートが見つかりません: %s"
-
-#: ../lib/rabbit/rabbit.rb:210
-msgid "invalid motion: %s"
-msgstr "不正な動きです: %s"
-
-#: ../lib/rabbit/rabbit.rb:225
-msgid "invalid value of size property \"%{prop_name}\" of image \"%{filename}\": %{value}"
-msgstr "画像\"%{filename}のサイズプロパティ%{prop_name}の値が不正です: %{value}"
-
-#: ../lib/rabbit/rabbit.rb:246
-msgid "unknown cursor type: %s"
-msgstr "未知のカーソルタイプ: %s"
-
-#: ../lib/rabbit/rabbit.rb:252
-msgid "print isn't supported"
-msgstr "印刷をサポートしていません"
-
-#: ../lib/rabbit/readme-parser.rb:35
 msgid "No README found"
 msgstr "READMEがありません"
 
-#: ../lib/rabbit/renderer/base.rb:385
 msgid "%s does not support: %s"
 msgstr "%sはサポートしていません: %s"
 
-#: ../lib/rabbit/renderer/print/cairo.rb:130
 msgid "can't find printer for %s"
 msgstr "%sのためのプリンタが見付かりません."
 
-#: ../lib/rabbit/slide-configuration.rb:50
-#: ../lib/rabbit/theme-configuration.rb:48
 msgid "Failed to read slide configuration: %s: %s"
 msgstr "スライド設定の読み込みに失敗しました: %s: %s"
 
-#: ../lib/rabbit/slide-configuration.rb:60
-#: ../lib/rabbit/theme-configuration.rb:58
 msgid "Failed to write slide configuration: %s: %s"
 msgstr "スライド設定の書き込みに失敗しました: %s: %s"
 
-#: ../lib/rabbit/slideshare.rb:61
 msgid "Feailed to upload: %s"
 msgstr "アップロードに失敗しました: %s"
 
-#: ../lib/rabbit/slideshare.rb:68
 msgid "Feailed to edit title: %s"
 msgstr "タイトルの編集に失敗しました: %s"
 
-#: ../lib/rabbit/slideshare.rb:76
 msgid "Feailed to get slide URL: %s"
 msgstr "スライドURLの取得に失敗しました: %s"
 
-#: ../lib/rabbit/slideshare.rb:141
-msgid "Enter password on SlideShare"
-msgstr "SlideShareのパスワードを入力してください"
+msgid "Enter password on SlideShare [%{user}]: "
+msgstr "SlideShareのパスワードを入力してください [%{user}]: "
 
-#: ../lib/rabbit/source/argf.rb:10
 msgid "none (get from STDIN) or [FILE_NAMES]"
 msgstr ""
 "[何も指定しない(標準入力から読込)]か\n"
 "[ファイル名(複数可)]"
 
-#: ../lib/rabbit/source/file.rb:9
 msgid "[FILENAME]"
 msgstr "[ファイル名]"
 
-#: ../lib/rabbit/source/hiki.rb:13
 msgid "[HIKI_CGI_URI] and [PAGE_NAME]"
 msgstr "[HikiのCGIのURI]と[ページ名]"
 
-#: ../lib/rabbit/source/memory.rb:9
 msgid "[FILENAME_OR_NOT]"
 msgstr "[ファイル名か何も指定しない]"
 
-#: ../lib/rabbit/source/slide-share.rb:14
 msgid "[USER] and [TITLE]"
 msgstr "[USER]と[TITLE]"
 
-#: ../lib/rabbit/source/uri.rb:25
 msgid "URI"
 msgstr "URI"
 
-#: ../lib/rabbit/stock.rb:17 ../lib/rabbit/theme/rabbit/property.rb:2
 msgid "Rabbit"
 msgstr "Rabbit"
 
-#: ../lib/rabbit/task/slide.rb:92
 msgid "To run rabbit, create '%{options_path}'!"
 msgstr "rabbitを実行するために'%{options_path}'を作ってください!"
 
-#: ../lib/rabbit/task/slide.rb:96
 msgid "Show slide"
 msgstr "スライドを表示"
 
-#: ../lib/rabbit/task/slide.rb:151
+msgid "Create gem: %{gem_path}"
+msgstr "gemを作成: %{gem_path}"
+
+msgid "Write %{item} in %{where}: %{content}"
+msgstr "%{where}の%{item}を書いてください: %{content}"
+
+msgid "Generate PDF: %{pdf_path}"
+msgstr "PDFを生成: %{pdf_path}"
+
 msgid "Publish the slide to all available targets"
 msgstr "すべての公開可能な公開場所にこのスライドを公開"
 
-#: ../lib/rabbit/task/slide.rb:195
+msgid "Publish the slide to %s"
+msgstr "このスライドを%sに公開"
+
 msgid "Uploaded successfully!"
 msgstr "無事にアップロードできました!"
 
-#: ../lib/rabbit/task/slide.rb:196
 msgid "See %s"
 msgstr "%sを見てください"
 
-#: ../lib/rabbit/task/slide.rb:207
-#: ../lib/rabbit/task/slide.rb:175 ../lib/rabbit/task/slide.rb:183
-msgid "Publish the slide to %s"
-msgstr "このスライドを%sに公開"
-
-#: ../lib/rabbit/task/theme.rb:93
 msgid "Show theme benchmark slide with this theme"
 msgstr "このテーマでテーマベンチマーク用のスライドを表示"
 
-#: ../lib/rabbit/task/theme.rb:137
 msgid "Generate all PDFs"
 msgstr "すべてのPDFを生成"
 
-#: ../lib/rabbit/task/theme.rb:165
 msgid "Publish the theme to all available targets"
 msgstr "すべての公開可能な公開場所にこのテーマを公開"
 
-#: ../lib/rabbit/task/theme.rb:171
 msgid "Publish the theme to %s"
 msgstr "このテーマを%sに公開"
 
-#: ../lib/rabbit/task/theme.rb:105 ../lib/rabbit/task/slide.rb:108
-msgid "Create gem: %{gem_path}"
-msgstr "gemを作成: %{gem_path}"
-
-#: ../lib/rabbit/task/theme.rb:117 ../lib/rabbit/task/slide.rb:120
-msgid "Write %{item} in %{where}: %{content}"
-msgstr "%{where}の%{item}を書いてください: %{content}"
-
-#: ../lib/rabbit/task/theme.rb:157 ../lib/rabbit/task/slide.rb:146
-msgid "Generate PDF: %{pdf_path}"
-msgstr "PDFを生成: %{pdf_path}"
-
-#: ../lib/rabbit/theme/applier.rb:604
-#: ../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を使ってください."
 
-#: ../lib/rabbit/theme/auto-slide/property.rb:1
-#: ../lib/rabbit/theme/slide-background/property.rb:1
 msgid "Backward compatibility"
 msgstr "後方互換性"
 
-#: ../lib/rabbit/theme/auto-slide/property.rb:2
 msgid "Auto Slide"
 msgstr "自動スライド"
 
-#: ../lib/rabbit/theme/auto-slide/property.rb:3
 msgid "Backward compatibility theme for ((<slide-show>))"
 msgstr "((<slide-show>))のための後方互換性のテーマ"
 
-#: ../lib/rabbit/theme/auto-slide/property.rb:4
 msgid "See ((<slide-show>))"
 msgstr "((<slide-show>))を見てください."
 
-#: ../lib/rabbit/theme/base/property.rb:1
-#: ../lib/rabbit/theme/color-circle-block-quote/property.rb:1
-#: ../lib/rabbit/theme/color-circle-common/property.rb:1
-#: ../lib/rabbit/theme/color-circle-description/property.rb:1
-#: ../lib/rabbit/theme/color-circle-foot-text/property.rb:1
-#: ../lib/rabbit/theme/color-circle-item-mark/property.rb:1
-#: ../lib/rabbit/theme/color-circle-method-list/property.rb:1
-#: ../lib/rabbit/theme/color-circle-preformatted/property.rb:1
-#: ../lib/rabbit/theme/color-circle-slide/property.rb:1
-#: ../lib/rabbit/theme/color-circle-text/property.rb:1
-#: ../lib/rabbit/theme/color-circle-title-slide/property.rb:1
-#: ../lib/rabbit/theme/color-circle-title-text/property.rb:1
-#: ../lib/rabbit/theme/color-circle/property.rb:1
-#: ../lib/rabbit/theme/cozmixng-powered-by/property.rb:1
-#: ../lib/rabbit/theme/default-block-quote/property.rb:1
-#: ../lib/rabbit/theme/default-comment/property.rb:1
-#: ../lib/rabbit/theme/default-description/property.rb:1
-#: ../lib/rabbit/theme/default-foot-text/property.rb:1
-#: ../lib/rabbit/theme/default-icon/property.rb:1
-#: ../lib/rabbit/theme/default-item-mark-setup/property.rb:1
-#: ../lib/rabbit/theme/default-item-mark/property.rb:1
-#: ../lib/rabbit/theme/default-method-list/property.rb:1
-#: ../lib/rabbit/theme/default-preformatted/property.rb:1
-#: ../lib/rabbit/theme/default-slide/property.rb:1
-#: ../lib/rabbit/theme/default-text/property.rb:1
-#: ../lib/rabbit/theme/default-title-slide/property.rb:1
-#: ../lib/rabbit/theme/default-title-text/property.rb:1
-#: ../lib/rabbit/theme/edge-info-toolkit/property.rb:1
-#: ../lib/rabbit/theme/emphasize-keyword/property.rb:1
-#: ../lib/rabbit/theme/footer-logo/property.rb:1
-#: ../lib/rabbit/theme/headline-logo/property.rb:1
-#: ../lib/rabbit/theme/icon/property.rb:1
-#: ../lib/rabbit/theme/image-slide-number/property.rb:1
-#: ../lib/rabbit/theme/image/property.rb:1
-#: ../lib/rabbit/theme/lightning-talk-toolkit/property.rb:1
-#: ../lib/rabbit/theme/per-slide-background-color/property.rb:1
-#: ../lib/rabbit/theme/per-slide-background-image/property.rb:1
-#: ../lib/rabbit/theme/powered-by/property.rb:1
-#: ../lib/rabbit/theme/rabbit-block-quote/property.rb:1
-#: ../lib/rabbit/theme/rabbit-headline-logo/property.rb:1
-#: ../lib/rabbit/theme/rabbit-icon/property.rb:1
-#: ../lib/rabbit/theme/rabbit-item-mark/property.rb:1
-#: ../lib/rabbit/theme/rabbit-powered-by/property.rb:1
-#: ../lib/rabbit/theme/rabbit-title-logo/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2-description/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2-foot-text/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2-headline/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2-icon/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2-item-mark/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2-preformatted/property.rb:1
-#: ../lib/rabbit/theme/ruby-gnome2-slide/property.rb:1
-#: ../lib/rabbit/theme/simple-item-mark/property.rb:1
-#: ../lib/rabbit/theme/slide-background-image/property.rb:1
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:1
-#: ../lib/rabbit/theme/slide-header-info/property.rb:1
-#: ../lib/rabbit/theme/slide-logo/property.rb:1
-#: ../lib/rabbit/theme/slide-number/property.rb:1
-#: ../lib/rabbit/theme/syntax-highlighting/property.rb:1
-#: ../lib/rabbit/theme/table/property.rb:1
-#: ../lib/rabbit/theme/tag/property.rb:1
-#: ../lib/rabbit/theme/title-background-color/property.rb:1
-#: ../lib/rabbit/theme/title-background-image/property.rb:1
-#: ../lib/rabbit/theme/title-logo/property.rb:1
-#: ../lib/rabbit/theme/title-on-image-toolkit/property.rb:1
-#: ../lib/rabbit/theme/title-shadow/property.rb:1
-#: ../lib/rabbit/theme/title-slide-background-image/property.rb:1
 msgid "Toolkit"
 msgstr "ツールキット"
 
-#: ../lib/rabbit/theme/base/property.rb:2
 msgid "Base"
 msgstr "基本"
 
-#: ../lib/rabbit/theme/base/property.rb:3
 msgid "Define default variables"
 msgstr "デフォルトの変数を定義します。"
 
-#: ../lib/rabbit/theme/base/property.rb:4
 msgid "This theme is always included at the first."
 msgstr "このテーマは常に一番始めに読み込まれます。"
 
-#: ../lib/rabbit/theme/blue-bar/property.rb:2
 msgid "Blue Bar"
 msgstr "青いバー"
 
-#: ../lib/rabbit/theme/blue-bar/property.rb:3
 msgid "Blue bar theme"
 msgstr "青いバーのテーマ"
 
-#: ../lib/rabbit/theme/blue-circle/property.rb:2
 msgid "Blue Circle"
 msgstr "青い円"
 
-#: ../lib/rabbit/theme/blue-circle/property.rb:3
 msgid "Blue Circle theme"
 msgstr "青い円のテーマ"
 
-#: ../lib/rabbit/theme/centering-rabbit/property.rb:2
 msgid "Centering Rabbit"
 msgstr "中央揃えRabbit"
 
-#: ../lib/rabbit/theme/centering-rabbit/property.rb:3
 msgid "Rabbit theme with text centering."
 msgstr "テキストの中央揃え付きRabbitテーマ"
 
-#: ../lib/rabbit/theme/clear-blue/property.rb:2
 msgid "Clear Blue"
 msgstr "きれいな青"
 
-#: ../lib/rabbit/theme/clear-blue/property.rb:3
 msgid "Clear blue theme"
 msgstr "きれいな青のテーマ"
 
-#: ../lib/rabbit/theme/clock/property.rb:1
-#: ../lib/rabbit/theme/image-timer/property.rb:1
-#: ../lib/rabbit/theme/slide-show/property.rb:1
-#: ../lib/rabbit/theme/timer/property.rb:1
 msgid "Time"
 msgstr "時間"
 
-#: ../lib/rabbit/theme/clock/property.rb:2
 msgid "TextClock"
 msgstr "テキスト時計"
 
-#: ../lib/rabbit/theme/clock/property.rb:3
 msgid "Clock toolkit, a text version"
 msgstr "時計ツールキット (テキストバージョン)"
 
-#: ../lib/rabbit/theme/clock/property.rb:4
 msgid "Displays current time with text."
 msgstr "テキストで現在時刻を表示します。"
 
-#: ../lib/rabbit/theme/clock/property.rb:13
 msgid "Properties for the clock, such as font family."
 msgstr "フォントファミリーなどの、時計の属性。"
 
-#: ../lib/rabbit/theme/clock/property.rb:17
-#: ../lib/rabbit/theme/image-slide-number/property.rb:60
-#: ../lib/rabbit/theme/show-frame/property.rb:12
-#: ../lib/rabbit/theme/slide-number/property.rb:17
-#: ../lib/rabbit/theme/title-logo/property.rb:19
-msgid "Whether uninstalling this toolkit or not. This option is useful for cases you do not want to make the toolkit work for certain slides."
+msgid ""
+"Whether uninstalling this toolkit or not. This option is useful for cases you "
+"do not want to make the toolkit work for certain slides."
 msgstr "このツールキットをアンインストールするか否か。このオプションは、特定のスライドでツールキットを動かなくしたいときに便利です。"
 
-#: ../lib/rabbit/theme/clutter-comment/property.rb:2
 msgid "Clutter Comment"
 msgstr "Clutterコメント"
 
-#: ../lib/rabbit/theme/clutter-comment/property.rb:3
 msgid "Show comment as a rolling Clutter actor."
 msgstr "コメントを回転するClutterのアクターとして表示します。"
 
-#: ../lib/rabbit/theme/color-circle-block-quote/property.rb:2
 msgid "Color Circle block quote"
 msgstr "色付きの円: 引用ブロック"
 
-#: ../lib/rabbit/theme/color-circle-block-quote/property.rb:3
 msgid "Toolkit to display itemization in quotation"
 msgstr "引用中に箇条書きを表示するツールキット"
 
-#: ../lib/rabbit/theme/color-circle-block-quote/property.rb:4
 msgid "Support itemization in quotation."
 msgstr "引用中での箇条書きをサポートします。"
 
-#: ../lib/rabbit/theme/color-circle-common/property.rb:2
 msgid "Color Circle common"
 msgstr "色付きの円: 共通"
 
-#: ../lib/rabbit/theme/color-circle-common/property.rb:3
 msgid "Provide common methods for Color Circle toolkit."
 msgstr "色付きの円ツールキットでの共通のメソッドを定義します。"
 
-#: ../lib/rabbit/theme/color-circle-description/property.rb:2
 msgid "Color Circle Description"
 msgstr "色付きの円: 説明文"
 
-#: ../lib/rabbit/theme/color-circle-description/property.rb:3
 msgid "Toolkit to set ((<color-circle>)) theme's description-list style up."
 msgstr "((<color-circle>))テーマの説明リストのスタイルを設定するツールキットです。"
 
-#: ../lib/rabbit/theme/color-circle-foot-text/property.rb:2
 msgid "Color Circle Foot Text"
 msgstr "色付きの円: 脚注テキスト"
 
-#: ../lib/rabbit/theme/color-circle-foot-text/property.rb:3
 msgid "Toolkit to set ((<color-circle>)) theme's foot text style up."
 msgstr "((<color-circle>))テーマの脚注テキストのスタイルを設定するツールキットです。"
 
-#: ../lib/rabbit/theme/color-circle-item-mark/property.rb:2
 msgid "Color Circle Item Mark"
 msgstr "色付きの円: 項目マーク"
 
-#: ../lib/rabbit/theme/color-circle-item-mark/property.rb:3
 msgid "Toolkit to set ((<color-circle>)) theme's item marks style up."
 msgstr "((<color-circle>))テーマの項目マークのスタイルを設定するツールキットです。"
 
-#: ../lib/rabbit/theme/color-circle-method-list/property.rb:2
 msgid "Color Circle Method List"
 msgstr "色付きの円: メソッドリスト"
 
-#: ../lib/rabbit/theme/color-circle-method-list/property.rb:3
 msgid "Toolkit to set ((<color-circle>)) theme's method-list style up."
 msgstr "((<color-circle>))テーマのメソッドリストのスタイルを設定するツールキットです。"
 
-#: ../lib/rabbit/theme/color-circle-preformatted/property.rb:2
 msgid "Color Circle Preformatted"
 msgstr "色付きの円: 整形済みテキスト"
 
-#: ../lib/rabbit/theme/color-circle-preformatted/property.rb:3
 msgid "Toolkit to set ((<color-circle>)) theme's preformatted text style up."
 msgstr "((<color-circle>))テーマの整形済みテキストのスタイルを設定するツールキットです。"
 
-#: ../lib/rabbit/theme/color-circle-slide/property.rb:2
 msgid "Color Circle Slide"
 msgstr "色付きの円: スライド"
 
-#: ../lib/rabbit/theme/color-circle-slide/property.rb:3
 msgid "Toolkit to set ((<color-circle>)) theme's slide style up."
 msgstr "((<color-circle>))テーマのスライドのスタイルを設定するツールキットです。"
 
-#: ../lib/rabbit/theme/color-circle-text/property.rb:2
 msgid "Color Circle Text"
 msgstr "色付きの円: テキスト"
 
-#: ../lib/rabbit/theme/color-circle-text/property.rb:3
 msgid "Toolkit to set ((<color-circle>)) theme's text style up."
 msgstr "((<color-circle>))テーマのタイトルテキストのスタイルを設定するツールキットです。"
 
-#: ../lib/rabbit/theme/color-circle-title-slide/property.rb:2
 msgid "Color Circle Title Slide"
 msgstr "色付きの円: タイトルスライド"
 
-#: ../lib/rabbit/theme/color-circle-title-slide/property.rb:3
 msgid "Toolkit to set ((<color-circle>)) theme's title slide style up."
 msgstr "((<color-circle>))テーマのタイトルスライドのスタイルを設定するツールキット"
 
-#: ../lib/rabbit/theme/color-circle-title-text/property.rb:2
 msgid "Color Circle Title text"
 msgstr "色付きの円: タイトルテキスト"
 
-#: ../lib/rabbit/theme/color-circle-title-text/property.rb:3
 msgid "Toolkit to set ((<color-circle>)) theme's title text style up."
 msgstr "((<color-circle>))テーマのタイトルテキストのスタイルを設定するツールキットです。"
 
-#: ../lib/rabbit/theme/color-circle/color-circle.rb:16
 msgid "required variables aren't set: %s"
 msgstr "必須の変数が設定されていません: %s"
 
-#: ../lib/rabbit/theme/color-circle/property.rb:2
 msgid "Color Circle"
 msgstr "色付きの円"
 
-#: ../lib/rabbit/theme/color-circle/property.rb:3
 msgid "Toolkit to make a theme that has colored circles"
 msgstr "色付きの円を持つテーマを作るためのツールキットです。"
 
-#: ../lib/rabbit/theme/color-circle/property.rb:4
 msgid "There are many colored circles in slides."
 msgstr "スライド中にたくさんの色付きの円があります。"
 
-#: ../lib/rabbit/theme/cozmixng-powered-by/property.rb:2
 msgid "COZMIXNGPoweredBy"
 msgstr "ぱわーどばいこずみくしんぐ"
 
-#: ../lib/rabbit/theme/cozmixng-powered-by/property.rb:3
 msgid "Powered-by-COZMIXNG ad toolkit"
 msgstr "Powered-by-COZMIXNG 宣伝ツールキット"
 
-#: ../lib/rabbit/theme/cozmixng-powered-by/property.rb:4
-msgid "Displays a text and images showing the presentation slides are powered by COZMIXNG and Rabbit at the foot of the title slide and of the last slide."
-msgstr "タイトルスライドと最終スライドの下部に、プレゼンテーションスライドが COZMIXNG と Rabbit の力を使っていることを示すテキストと画像を表示します。"
+msgid ""
+"Displays a text and images showing the presentation slides are powered by COZM"
+"IXNG and Rabbit at the foot of the title slide and of the last slide."
+msgstr ""
+"タイトルスライドと最終スライドの下部に、プレゼンテーションスライドが COZMIXNG と Rabbit の力を使っていることを示すテキストと画像を表示しま"
+"す。"
 
-#: ../lib/rabbit/theme/cozmixng/property.rb:2
 msgid "COZMIXNG"
 msgstr "COZMIXNG"
 
-#: ../lib/rabbit/theme/cozmixng/property.rb:3
 msgid "COZMIXNG theme"
 msgstr "COZMIXNGテーマ"
 
-#: ../lib/rabbit/theme/dark-gradation/property.rb:2
 msgid "Dark Gradation"
 msgstr "暗いグラデーション"
 
-#: ../lib/rabbit/theme/dark-gradation/property.rb:3
 msgid "Dark Gradation background theme"
 msgstr "暗いグラデーションが背景のテーマ"
 
-#: ../lib/rabbit/theme/day-white/property.rb:2
 msgid "Day White"
 msgstr "Day White"
 
-#: ../lib/rabbit/theme/day-white/property.rb:3
 msgid "Day White theme"
 msgstr "Day Whiteテーマ"
 
-#: ../lib/rabbit/theme/debian/property.rb:2
 msgid "Debian Theme"
 msgstr "Debianのテーマ"
 
-#: ../lib/rabbit/theme/debian/property.rb:3
 msgid "Debian GNU/Linux Theme"
 msgstr "Debian GNU/Linuxテーマ"
 
-#: ../lib/rabbit/theme/default-block-quote/default-block-quote.rb:112
 msgid "[cited from `%s']"
 msgstr "[「%s」より引用]"
 
-#: ../lib/rabbit/theme/default-block-quote/property.rb:2
 msgid "Default Block Quote"
 msgstr "デフォルト: 引用ブロック"
 
-#: ../lib/rabbit/theme/default-block-quote/property.rb:3
 msgid "Displays block quote text with frame."
 msgstr "枠付きで引用テキストブロックを表示します。"
 
-#: ../lib/rabbit/theme/default-comment/property.rb:2
 msgid "DefaultComment"
 msgstr "デフォルト: コメント"
 
-#: ../lib/rabbit/theme/default-comment/property.rb:3
 msgid "Toolkit to set up default comment theme."
 msgstr "デフォルトのコメントテーマを設定するツールキット。"
 
-#: ../lib/rabbit/theme/default-comment/property.rb:4
 msgid "Sets up default comment theme."
 msgstr "デフォルトのコメントのスタイルを設定します。"
 
-#: ../lib/rabbit/theme/default-description/property.rb:2
 msgid "DefaultDescription"
 msgstr "デフォルト: 説明文"
 
-#: ../lib/rabbit/theme/default-description/property.rb:3
 msgid "Toolkit to display description-list items with orange underlines."
 msgstr "説明文リスト項目にオレンジ色の下線をつけて表示するツールキット"
 
-#: ../lib/rabbit/theme/default-description/property.rb:5
 msgid "Displays description-list items with orange underlines."
 msgstr "説明文リスト項目にオレンジ色の下線をつけて表示します。"
 
-#: ../lib/rabbit/theme/default-foot-text/property.rb:2
 msgid "Default Foot Text"
 msgstr "デフォルト: 脚注テキスト"
 
-#: ../lib/rabbit/theme/default-foot-text/property.rb:3
 msgid "Displays foot text at the footer of slide."
 msgstr "スライドフッターに脚注テキストを表示します。"
 
-#: ../lib/rabbit/theme/default-icon/property.rb:2
 msgid "DefaultIcon"
 msgstr "デフォルト: アイコン"
 
-#: ../lib/rabbit/theme/default-icon/property.rb:3
 msgid "Toolkit to use pink circle and polygon as icons"
 msgstr "ピンク色の丸と多角形をアイコンとして用いるツールキット"
 
-#: ../lib/rabbit/theme/default-icon/property.rb:4
 msgid "Uses pink circle and polygon as icons."
 msgstr "ピンク色の丸と多角形をアイコンとして用います。"
 
-#: ../lib/rabbit/theme/default-item-mark-setup/property.rb:2
+msgid ""
+"unknown item mark type: %s\n"
+"Rectangle type is used as fallback"
+msgstr ""
+"未知の項目マークのタイプ: %s\n"
+"代わりに四角を使います。"
+
+msgid ""
+"unknown enumeration item mark type: %s\n"
+"Numeric type is used as fallback"
+msgstr ""
+"未知の順序つきリスト項目マークのタイプ: %s\n"
+"代わりに数値タイプを使います。"
+
 msgid "Default Item Mark Setup"
 msgstr "デフォルト: 項目マークセットアップ"
 
-#: ../lib/rabbit/theme/default-item-mark-setup/property.rb:3
 msgid "Provides methods to set item mark style up."
 msgstr "項目マークのスタイルを設定するメソッドを提供します。"
 
-#: ../lib/rabbit/theme/default-item-mark/property.rb:2
 msgid "DefaultItemMark"
 msgstr "デフォルト: 項目マーク"
 
-#: ../lib/rabbit/theme/default-item-mark/property.rb:3
 msgid "Toolkit to display squares as list item marks"
 msgstr "リスト項目のマークとして四角をを表示するツールキット"
 
-#: ../lib/rabbit/theme/default-item-mark/property.rb:4
 msgid "Displays squares at the head of list items."
 msgstr "リスト項目の頭にカラフルなボールを表示します。"
 
-#: ../lib/rabbit/theme/default-method-list/property.rb:2
 msgid "Default Method List"
 msgstr "デフォルト: メソッドリスト"
 
-#: ../lib/rabbit/theme/default-method-list/property.rb:3
 msgid "Displays method description with indent."
 msgstr "メソッドの説明をインデント付きで表示します。"
 
-#: ../lib/rabbit/theme/default-preformatted/property.rb:2
 msgid "Default Preformatted"
 msgstr "デフォルト: 整形済みテキスト"
 
-#: ../lib/rabbit/theme/default-preformatted/property.rb:3
 msgid "Displays preformatted text with frame."
 msgstr "枠付きで整形済みテキストを表示します。"
 
-#: ../lib/rabbit/theme/default-slide/property.rb:2
 msgid "Default Slide"
 msgstr "デフォルト: スライド"
 
-#: ../lib/rabbit/theme/default-slide/property.rb:3
 msgid "Displays headline with line."
 msgstr "見出しを線付きで表示します。"
 
-#: ../lib/rabbit/theme/default-text/property.rb:2
 msgid "Default Text"
 msgstr "デフォルト: テキスト"
 
-#: ../lib/rabbit/theme/default-text/property.rb:3
 msgid "Sets default text style up."
 msgstr "デフォルトのテキストのスタイルを設定します。"
 
-#: ../lib/rabbit/theme/default-title-slide/property.rb:2
 msgid "DefaultTitleSlide"
 msgstr "デフォルト: タイトルスライド"
 
-#: ../lib/rabbit/theme/default-title-slide/property.rb:3
 msgid "Toolkit to locate objects in the title slide in a simple way"
 msgstr "タイトルスライドにオブジェクトを簡単に配置するツールキット。"
 
-#: ../lib/rabbit/theme/default-title-slide/property.rb:4
-msgid "Locates objects in the title slide simply by centering them and by making configuration for margins around them a little."
+msgid ""
+"Locates objects in the title slide simply by centering them and by making conf"
+"iguration for margins around them a little."
 msgstr "オブジェクトをタイトルスライドの中央に置きその周りにマージンを設定するだけの、簡単な配置をします。"
 
-#: ../lib/rabbit/theme/default-title-text/property.rb:2
 msgid "Default Title Text"
 msgstr "デフォルト: タイトルテキスト"
 
-#: ../lib/rabbit/theme/default-title-text/property.rb:3
 msgid "Sets default title text style up."
 msgstr "デフォルトのタイトルテキストのスタイルを設定します。"
 
-#: ../lib/rabbit/theme/default/property.rb:2
 msgid "Default"
 msgstr "デフォルト"
 
-#: ../lib/rabbit/theme/default/property.rb:3
 msgid "default theme"
 msgstr "デフォルトテーマ"
 
-#: ../lib/rabbit/theme/document.erb:3
 msgid "Name"
 msgstr "名前"
 
-#: ../lib/rabbit/theme/document.erb:6
 msgid "Category"
 msgstr "カテゴリ"
 
-#: ../lib/rabbit/theme/document.erb:10
 msgid "Abstract"
 msgstr "概要"
 
-#: ../lib/rabbit/theme/document.erb:15
 msgid "Description"
 msgstr "説明文"
 
-#: ../lib/rabbit/theme/document.erb:21
 msgid "Dependency themes"
 msgstr "依存しているテーマ"
 
-#: ../lib/rabbit/theme/document.erb:28
 msgid "Parameters"
 msgstr "パラメタ"
 
-#: ../lib/rabbit/theme/document.erb:31
 msgid "Default: "
 msgstr "デフォルト: "
 
-#: ../lib/rabbit/theme/edge-info-toolkit/property.rb:2
 msgid "Edge Info Toolkit"
 msgstr "すみっこ情報ツールキット"
 
-#: ../lib/rabbit/theme/edge-info-toolkit/property.rb:3
 msgid "Displays information with line at the edge of slide."
 msgstr "スライドの端に線付きで情報を表示します。"
 
-#: ../lib/rabbit/theme/emphasize-keyword/property.rb:2
 msgid "Emphasize Keyword"
 msgstr "キーワード強調"
 
-#: ../lib/rabbit/theme/emphasize-keyword/property.rb:3
-msgid "Provides emphasize_keyword method that markups specified keyword as emphasis text."
+msgid ""
+"Provides emphasize_keyword method that markups specified keyword as emphasis t"
+"ext."
 msgstr "指定したキーワードを強調テキストとしてマークアップするemphasize_keywordメソッドを提供します。"
 
-#: ../lib/rabbit/theme/enishi-green/property.rb:2
 msgid "Enishi Green"
-msgstr ""
+msgstr "えにしグリーン"
 
-#: ../lib/rabbit/theme/enishi-green/property.rb:3
 msgid "EnishTech green based theme"
-msgstr ""
+msgstr "えにしテックの緑色をベースにしたテーマ"
 
-#: ../lib/rabbit/theme/entry.rb:79
 msgid "Etc"
 msgstr "その他"
 
-#: ../lib/rabbit/theme/footer-comment/property.rb:2
 msgid "Footer Comment"
 msgstr "フッターコメント"
 
-#: ../lib/rabbit/theme/footer-comment/property.rb:3
 msgid "Show comment on the footer."
 msgstr "コメントをフッターに表示します。"
 
-#: ../lib/rabbit/theme/footer-logo/property.rb:2
 msgid "Footer Logo"
 msgstr "フッターロゴ"
 
-#: ../lib/rabbit/theme/footer-logo/property.rb:3
 msgid "Toolkit to display an image as logo at the footer"
 msgstr "フッターに画像をロゴとして表示するためのツールキット"
 
-#: ../lib/rabbit/theme/footer-logo/property.rb:4
 msgid "Displays an image as a logo at the footer of slides."
 msgstr "スライドのフッターに画像をロゴとして表示します。"
 
-#: ../lib/rabbit/theme/footer-logo/property.rb:7
-#: ../lib/rabbit/theme/headline-logo/property.rb:7
-#: ../lib/rabbit/theme/slide-background-image/property.rb:7
-#: ../lib/rabbit/theme/slide-logo/property.rb:7
-#: ../lib/rabbit/theme/title-background-color/property.rb:7
-#: ../lib/rabbit/theme/title-background-image/property.rb:8
-#: ../lib/rabbit/theme/title-logo/property.rb:7
-#: ../lib/rabbit/theme/title-slide-background-image/property.rb:7
 msgid "(Must be specified.)"
 msgstr "(指定しなければいけません。)"
 
-#: ../lib/rabbit/theme/footer-logo/property.rb:8
-#: ../lib/rabbit/theme/headline-logo/property.rb:8
-#: ../lib/rabbit/theme/icon/property.rb:22
-#: ../lib/rabbit/theme/slide-background-image/property.rb:8
-#: ../lib/rabbit/theme/slide-logo/property.rb:8
-#: ../lib/rabbit/theme/title-background-image/property.rb:9
-#: ../lib/rabbit/theme/title-logo/property.rb:8
-#: ../lib/rabbit/theme/title-slide-background-image/property.rb:8
 msgid "Image file name."
 msgstr "画像ファイル名。"
 
-#: ../lib/rabbit/theme/footer-logo/property.rb:12
 msgid "Whether keep ratio of an image or not."
 msgstr "画像のサイズの比率を維持するかどうか。"
 
-#: ../lib/rabbit/theme/footer-logo/property.rb:16
 msgid "Right margin of an image."
 msgstr "画像の右余白。"
 
-#: ../lib/rabbit/theme/footer-logo/property.rb:20
 msgid "Bottom margin of an image."
 msgstr "画像の下部余白。"
 
-#: ../lib/rabbit/theme/footer-logo/property.rb:24
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:41
-#: ../lib/rabbit/theme/slide-header-info/property.rb:41
-#: ../lib/rabbit/theme/slide-logo/property.rb:24
 msgid "Whether uninstall this theme or not."
 msgstr "このテーマをアンインストールするかどうか。"
 
-#: ../lib/rabbit/theme/green-circle/property.rb:2
 msgid "Green Circle"
 msgstr "緑の円"
 
-#: ../lib/rabbit/theme/green-circle/property.rb:3
 msgid "Green Circle theme"
 msgstr "緑の円のテーマ"
 
-#: ../lib/rabbit/theme/headline-logo/property.rb:2
 msgid "HeadlineLogo"
 msgstr "見出しロゴ"
 
-#: ../lib/rabbit/theme/headline-logo/property.rb:3
 msgid "Toolkit to display an image as a logo at the headlines"
 msgstr "見出しに画像をロゴとして表示するためのツールキット"
 
-#: ../lib/rabbit/theme/headline-logo/property.rb:4
 msgid "Displays an image as a logo at the headlines of slides."
 msgstr "スライドの見出しに画像をロゴとして表示します。"
 
-#: ../lib/rabbit/theme/icon/property.rb:2
 msgid "Icon"
 msgstr "アイコン"
 
-#: ../lib/rabbit/theme/icon/property.rb:3
 msgid "Toolkit to specify an image or images as icons"
 msgstr "1 つまたは複数の画像をアイコンに指定するツールキット"
 
-#: ../lib/rabbit/theme/icon/property.rb:4
-msgid "Specifies an image or images as icons of the window, which will be used by some window managers and desktop environments, for example when the window is minimized (or 'iconified'), in the window frame, or when windows are switched. The specified image or images are automatically scaled to the icon sizes case by case. When several images are specified and they have different sizes, an image with the most similar size to that of icon among them is chosen and scaled in order to impro [...]
-msgstr "1 つまたは複数の画像をアイコンに指定します。アイコンは、一部のウィンドウマネージャやデスクトップ環境によって、例えばウィンドウが最小化 (あるいは「アイコン化」) されたときに用いられたり、ウィンドウの枠に用いられたり、ウィンドウが切り替えられたときに用いられたりします。指定された画像は、状況に応じてアイコンの大きさに自動的に変換されます。最終的に表示される画像の品質をよくするため、複数の画像が指定されてそれらが異なる大きさをもっている場合は、アイコンの大きさに最も近い画像が選ばれて大きさが変換されます。"
+msgid ""
+"Specifies an image or images as icons of the window, which will be used by som"
+"e window managers and desktop environments, for example when the window is min"
+"imized (or 'iconified'), in the window frame, or when windows are switched. Th"
+"e specified image or images are automatically scaled to the icon sizes case by"
+" case. When several images are specified and they have different sizes, an ima"
+"ge with the most similar size to that of icon among them is chosen and scaled "
+"in order to improve the quality of image finally displayed."
+msgstr ""
+"1 つまたは複数の画像をアイコンに指定します。アイコンは、一部のウィンドウマネージャやデスクトップ環境によって、例えばウィンドウが最小化 (あるいは「アイコ"
+"ン化」) されたときに用いられたり、ウィンドウの枠に用いられたり、ウィンドウが切り替えられたときに用いられたりします。指定された画像は、状況に応じてアイコン"
+"の大きさに自動的に変換されます。最終的に表示される画像の品質をよくするため、複数の画像が指定されてそれらが異なる大きさをもっている場合は、アイコンの大きさに"
+"最も近い画像が選ばれて大きさが変換されます。"
 
-#: ../lib/rabbit/theme/icon/property.rb:18
-#: ../lib/rabbit/theme/powered-by/property.rb:18
 msgid "List of image file names."
 msgstr "画像ファイル名のリスト。"
 
-#: ../lib/rabbit/theme/image-slide-number/property.rb:2
 msgid "ImageSlideNumber"
 msgstr "画像スライド番号"
 
-#: ../lib/rabbit/theme/image-slide-number/property.rb:3
 msgid "Toolkit to display slide numbers, an image version"
 msgstr "スライド番号表示ツールキット (画像バージョン)"
 
-#: ../lib/rabbit/theme/image-slide-number/property.rb:4
 msgid ""
-"Displays the progress of presentation with position of an image. This is useful both for speakers and for listeners to know elapsed slide numbers and slide numbers left. By default, an image of a hare, which is a family of rabbit, jumps along the bottom of slides between two flags.\n"
+"Displays the progress of presentation with position of an image. This is usefu"
+"l both for speakers and for listeners to know elapsed slide numbers and slide "
+"numbers left. By default, an image of a hare, which is a family of rabbit, jum"
+"ps along the bottom of slides between two flags.\n"
 "\n"
-"Using together with another theme, ((<image-timer>)), you can make a hare and a tortoise race like the fable of the hare and the tortoise. When doing so, however, note that you should make your presentation not so slowly that the hare will lose to the tortoise."
+"Using together with another theme, ((<image-timer>)), you can make a hare and "
+"a tortoise race like the fable of the hare and the tortoise. When doing so, ho"
+"wever, note that you should make your presentation not so slowly that the hare"
+" will lose to the tortoise."
 msgstr ""
-"プレゼンテーションの進行を画像の位置で表示します。これを用いると、話し手と聴き手の両方が、これまでのスライドの数と残りのスライドの数を知ることができるので便利です。デフォルトでは、ウサギ (ラビットの仲間) の画像が、スライド下部の 2 つの旗の間を跳ねていきます。\n"
+"プレゼンテーションの進行を画像の位置で表示します。これを用いると、話し手と聴き手の両方が、これまでのスライドの数と残りのスライドの数を知ることができるので便"
+"利です。デフォルトでは、ウサギ (ラビットの仲間) の画像が、スライド下部の 2 つの旗の間を跳ねていきます。\n"
 "\n"
-"別のテーマ((<image-timer>))と一緒に用いると、ウサギとカメの話のようにウサギとカメを競争させることができます。しかしそうする場合、あまりゆっくりプレゼンテーションをおこなってウサギがカメに敗けてしまうことがないよう気をつけてください。"
+"別のテーマ((<image-timer>))と一緒に用いると、ウサギとカメの話のようにウサギとカメを競争させることができます。しかしそうする場合、あまりゆっ"
+"くりプレゼンテーションをおこなってウサギがカメに敗けてしまうことがないよう気をつけてください。"
 
-#: ../lib/rabbit/theme/image-slide-number/property.rb:22
-msgid "File name of an image that moves. An image of a hare in the ((<rabbit-images>)) theme is used by default."
+msgid ""
+"File name of an image that moves. An image of a hare in the ((<rabbit-images>)"
+") theme is used by default."
 msgstr "動く画像のファイル名。デフォルトでは、((<rabbit-images>))テーマのウサギの画像が使われます。"
 
-#: ../lib/rabbit/theme/image-slide-number/property.rb:28
-msgid "Whether drawing start and goal flags with text or not. When (({true})), flags are drawn with text with a form of (({@image_slide_number_flag_type})) and on which slide numbers are also drawn with color ((|@image_slide_number_text_color|)). Otherwise, image files specified with ((|@image_slide_number_start_image|)) and ((|@image_slide_number_goal_image|)) are used as flags."
-msgstr "スタートとゴールの旗をテキストで表示するか否か。(({true})) の場合、((|@image_slide_number_flag_type|)) の形をした旗がテキストで描かれ、その上に ((|@image_slide_number_text_color|)) の色のスライド番号も描かれます。そうでない場合は、((|@image_slide_number_start_image|)) と ((|@image_slide_number_goal_image|)) で指定された画像ファイルが旗として用いられます。"
+msgid ""
+"Whether drawing start and goal flags with text or not. When (({true})), flags "
+"are drawn with text with a form of (({@image_slide_number_flag_type})) and on "
+"which slide numbers are also drawn with color ((|@image_slide_number_text_colo"
+"r|)). Otherwise, image files specified with ((|@image_slide_number_start_image"
+"|)) and ((|@image_slide_number_goal_image|)) are used as flags."
+msgstr ""
+"スタートとゴールの旗をテキストで表示するか否か。(({true})) の場合、((|@image_slide_number_flag_type|)) の形を"
+"した旗がテキストで描かれ、その上に ((|@image_slide_number_text_color|)) の色のスライド番号も描かれます。そうでない場合"
+"は、((|@image_slide_number_start_image|)) と ((|@image_slide_number_goal_image|))"
+" で指定された画像ファイルが旗として用いられます。"
 
-#: ../lib/rabbit/theme/image-slide-number/property.rb:41
 msgid "Color of numbers displayed on the start and goal flags."
 msgstr "スタートとゴールの旗に表示される数字の色。"
 
-#: ../lib/rabbit/theme/image-slide-number/property.rb:46
-msgid "Form of the start and goal flags. Avaiable forms are (({'triangle'})) and (({'rectangle'}))."
+msgid ""
+"Form of the start and goal flags. Avaiable forms are (({'triangle'})) and (({'"
+"rectangle'}))."
 msgstr "スタートとゴールの旗の形。(({'triangle'})) (三角) と (({'rectangle'})) (四角) が指定可能です。"
 
-#: ../lib/rabbit/theme/image-slide-number/property.rb:52
 msgid "File name of an image used as the start flag."
 msgstr "スタートの旗として使われる画像のファイル名。"
 
-#: ../lib/rabbit/theme/image-slide-number/property.rb:56
 msgid "File name of an image used as the goal flag."
 msgstr "ゴールの旗として使われる画像のファイル名。"
 
-#: ../lib/rabbit/theme/image-timer/property.rb:2
 msgid "ImageTimer"
 msgstr "画像タイマー"
 
-#: ../lib/rabbit/theme/image-timer/property.rb:3
 msgid "Timer toolkit, an image version"
 msgstr "タイマーツールキット (画像バージョン)"
 
-#: ../lib/rabbit/theme/image-timer/property.rb:4
 msgid ""
-"Displays the progress of time with position of an image. This is useful both for speakers and for listeners to know elapsed time and time left. By default, a tortoise image walks along the bottom of slides slowly step by step.\n"
+"Displays the progress of time with position of an image. This is useful both f"
+"or speakers and for listeners to know elapsed time and time left. By default, "
+"a tortoise image walks along the bottom of slides slowly step by step.\n"
 "\n"
-"Using together with another theme, ((<image-slide-number>)), you can make a hare and a tortoise race like the fable of the hare and the tortoise. When doing so, however, note that you should make your presentation not so slowly that the hare will lose to the tortoise."
+"Using together with another theme, ((<image-slide-number>)), you can make a ha"
+"re and a tortoise race like the fable of the hare and the tortoise. When doing"
+" so, however, note that you should make your presentation not so slowly that t"
+"he hare will lose to the tortoise."
 msgstr ""
-"時間の進行を画像の位置で表示します。これを用いると、話し手と聴き手の両方が、これまでの時間と残りの時間を知ることができるので便利です。デフォルトでは、カメの画像が、スライド下部の 2 つの旗の間をのろのろと歩いていきます。\n"
+"時間の進行を画像の位置で表示します。これを用いると、話し手と聴き手の両方が、これまでの時間と残りの時間を知ることができるので便利です。デフォルトでは、カメの"
+"画像が、スライド下部の 2 つの旗の間をのろのろと歩いていきます。\n"
 "\n"
-"別のテーマ ((<image-slide-number>)) と一緒に用いると、ウサギとカメの話のようにウサギとカメを競争させることができます。しかしそうする場合、あまりゆっくりプレゼンテーションをおこなってウサギがカメに敗けてしまうことがないよう気をつけてください。"
+"別のテーマ ((<image-slide-number>)) と一緒に用いると、ウサギとカメの話のようにウサギとカメを競争させることができます。しかしそうす"
+"る場合、あまりゆっくりプレゼンテーションをおこなってウサギがカメに敗けてしまうことがないよう気をつけてください。"
 
-#: ../lib/rabbit/theme/image-timer/property.rb:21
 msgid "Limit time by second."
 msgstr "秒単位での制限時間。"
 
-#: ../lib/rabbit/theme/image-timer/property.rb:25
 msgid "Whether updating image position automatically or not."
 msgstr "画像の位置を自動更新するか否か。"
 
-#: ../lib/rabbit/theme/image-timer/property.rb:30
 msgid "Whether scrolling automatically or not."
 msgstr "自動スクロールするかどうか。"
 
-#: ../lib/rabbit/theme/image-timer/property.rb:34
 msgid "Direction of automatic scrolling."
 msgstr "自動スクロールの方向。"
 
-#: ../lib/rabbit/theme/image-timer/property.rb:38
-msgid "File name of an image that moves. A tortoise image in the ((<rabbit-images>)) theme is used by default."
+msgid ""
+"File name of an image that moves. A tortoise image in the ((<rabbit-images>)) "
+"theme is used by default."
 msgstr "動く画像のファイル名。デフォルトでは、((<rabbit-images>)) テーマのカメの画像が使われます。"
 
-#: ../lib/rabbit/theme/image-timer/property.rb:44
 msgid "Time interval between automatic update."
 msgstr "自動更新の時間間隔。"
 
-#: ../lib/rabbit/theme/image-viewer/property.rb:2
 msgid "Image viewer"
 msgstr "画像ビューア"
 
-#: ../lib/rabbit/theme/image-viewer/property.rb:3
 msgid "Theme for image viewer mode"
 msgstr "画像ビューアモード用のテーマ"
 
-#: ../lib/rabbit/theme/image/property.rb:3
 msgid "image rendering"
 msgstr "画像表示"
 
-#: ../lib/rabbit/theme/lightning-clear-blue/property.rb:2
 msgid "Lightning Clear Blue"
 msgstr "ライトニングトーク用きれいな青"
 
-#: ../lib/rabbit/theme/lightning-clear-blue/property.rb:3
 msgid "Clear blue theme with Lightning Talk theme"
 msgstr "ライトニングトークテーマ付ききれいな青テーマ"
 
-#: ../lib/rabbit/theme/lightning-monochrome/property.rb:2
 msgid "LightningTalk-Monochrome"
 msgstr "モノクロバージョンのライトニングトークテーマ"
 
-#: ../lib/rabbit/theme/lightning-monochrome/property.rb:3
 msgid "Lightning Talk theme monochrome version"
 msgstr "モノクロバージョンのライトニングトークテーマ"
 
-#: ../lib/rabbit/theme/lightning-rabbit/property.rb:2
 msgid "LightningRabbit"
 msgstr "ライトニングRabbit"
 
-#: ../lib/rabbit/theme/lightning-rabbit/property.rb:3
 msgid "Rabbit theme with Lightning Talk theme"
 msgstr "ライトニングトークテーマ付きRabbitテーマ"
 
-#: ../lib/rabbit/theme/lightning-simple/property.rb:2
 msgid "LightningTalk-Simple"
 msgstr "シンプルバージョンのライトニングトークトーク"
 
-#: ../lib/rabbit/theme/lightning-simple/property.rb:3
 msgid "Lightning Talk theme simple version"
 msgstr "シンプルバージョンのライトニングトークテーマ"
 
-#: ../lib/rabbit/theme/lightning-talk-toolkit/property.rb:2
 msgid "LightningTalk-Toolkit"
 msgstr "ライトニングトーク・ツールキット"
 
-#: ../lib/rabbit/theme/lightning-talk-toolkit/property.rb:3
 msgid "Displays slides for lightning talk"
 msgstr "ライトニングトーク用にスライドを表示します。"
 
-#: ../lib/rabbit/theme/lightning-talk/property.rb:2
 msgid "LightningTalk"
 msgstr "ライトニングトーク"
 
-#: ../lib/rabbit/theme/lightning-talk/property.rb:3
 msgid "Lightning Talk theme"
 msgstr "ライトニングトークテーマ"
 
-#: ../lib/rabbit/theme/mirror-effect/property.rb:1
-#: ../lib/rabbit/theme/rotate-zoom-effect/property.rb:1
-#: ../lib/rabbit/theme/scroll-effect/property.rb:1
 msgid "Effect"
 msgstr "効果"
 
-#: ../lib/rabbit/theme/mirror-effect/property.rb:2
 msgid "Mirror Effect"
 msgstr "鏡の効果"
 
-#: ../lib/rabbit/theme/mirror-effect/property.rb:3
 msgid "Provide mirror_effect method that flips content."
 msgstr "内容を反転するmirror_effectメソッドを提供します。"
 
-#: ../lib/rabbit/theme/nari/property.rb:2
 msgid "Nari"
 msgstr ""
 
-#: ../lib/rabbit/theme/nari/property.rb:3
 msgid "Nari's theme"
 msgstr "Nariのテーマ"
 
-#: ../lib/rabbit/theme/newline-in-slides/property.rb:1
-#: ../lib/rabbit/theme/newline-in-title/property.rb:1
 msgid "Convenience"
 msgstr "便利"
 
-#: ../lib/rabbit/theme/newline-in-slides/property.rb:2
 msgid "Newline in Slides"
 msgstr "スライド内での改行"
 
-#: ../lib/rabbit/theme/newline-in-slides/property.rb:3
-#: ../lib/rabbit/theme/newline-in-title/property.rb:3
 msgid ""
 "Convenience '\n"
 "' newline notation."
@@ -2345,7 +1678,6 @@ msgstr ""
 "便利な'\n"
 "'改行記法。"
 
-#: ../lib/rabbit/theme/newline-in-slides/property.rb:4
 msgid ""
 "Enable '\n"
 "' notation to insert newline in all slides."
@@ -2353,11 +1685,9 @@ msgstr ""
 "タイトルで改行を挿入する'\n"
 "'記法を有効にする。"
 
-#: ../lib/rabbit/theme/newline-in-title/property.rb:2
 msgid "Newline in Title"
 msgstr "タイトル内での改行"
 
-#: ../lib/rabbit/theme/newline-in-title/property.rb:4
 msgid ""
 "Enable '\n"
 "' notation to insert newline in title."
@@ -2365,27 +1695,21 @@ msgstr ""
 "タイトルで改行を挿入する'\n"
 "'記法を有効にする。"
 
-#: ../lib/rabbit/theme/night-black/property.rb:2
 msgid "Night Black"
 msgstr "Night Black"
 
-#: ../lib/rabbit/theme/night-black/property.rb:3
 msgid "Night Black theme"
 msgstr "Night Blackテーマ"
 
-#: ../lib/rabbit/theme/pdf/property.rb:3
 msgid "Theme for PDF"
 msgstr "PDF用のテーマ"
 
-#: ../lib/rabbit/theme/per-slide-background-color/property.rb:2
 msgid "PerSlideBackgroundColor"
 msgstr "スライド毎の背景色"
 
-#: ../lib/rabbit/theme/per-slide-background-color/property.rb:3
 msgid "Toolkit to set background color of each slide"
 msgstr "各スライドの背景に色をつけるツールキット"
 
-#: ../lib/rabbit/theme/per-slide-background-color/property.rb:4
 msgid ""
 "Set background color of each slide.\n"
 "\n"
@@ -2411,15 +1735,12 @@ msgstr ""
 "  : background-color\n"
 "     black\n"
 
-#: ../lib/rabbit/theme/per-slide-background-image/property.rb:2
 msgid "PerSlideBackgroundImage"
 msgstr "スライド毎の背景画像"
 
-#: ../lib/rabbit/theme/per-slide-background-image/property.rb:3
 msgid "Toolkit to display an image as a background of each slide"
 msgstr "各スライドの背景として画像を表示するツールキット"
 
-#: ../lib/rabbit/theme/per-slide-background-image/property.rb:4
 msgid ""
 "Displays an image as a background of each slide.\n"
 "\n"
@@ -2445,606 +1766,410 @@ msgstr ""
 "  : background-image\n"
 "     my-picture.png\n"
 
-#: ../lib/rabbit/theme/powered-by/property.rb:2
 msgid "PoweredBy"
 msgstr "PoweredBy"
 
-#: ../lib/rabbit/theme/powered-by/property.rb:3
 msgid "Powered-by ad toolkit"
 msgstr "Powered-by 宣伝ツールキット"
 
-#: ../lib/rabbit/theme/powered-by/property.rb:4
-msgid "Displays programs the presentation slides are powered by (or displays some other ads) at the foot of the title slide and of the last slide. Images and/or a text are available as ads."
-msgstr "タイトルスライドと最終スライドの下部に、プレゼンテーションスライドを駆動しているプログラム (あるいは何かその他の宣伝) を表示します。宣伝として、画像とテキストのどちらか一方または両方が使えます。"
+msgid ""
+"Displays programs the presentation slides are powered by (or displays some oth"
+"er ads) at the foot of the title slide and of the last slide. Images and/or a "
+"text are available as ads."
+msgstr ""
+"タイトルスライドと最終スライドの下部に、プレゼンテーションスライドを駆動しているプログラム (あるいは何かその他の宣伝) を表示します。宣伝として、画像とテ"
+"キストのどちらか一方または両方が使えます。"
 
-#: ../lib/rabbit/theme/powered-by/property.rb:14
 msgid "Properties of the ad text, such as font family."
 msgstr "フォントファミリーなどの、宣伝文の属性。"
 
-#: ../lib/rabbit/theme/powered-by/property.rb:22
 msgid "Ad text."
 msgstr "宣伝文。"
 
-#: ../lib/rabbit/theme/rabbit-block-quote/property.rb:2
 msgid "Rabbit Block Quote"
 msgstr "Rabbit: 引用ブロック"
 
-#: ../lib/rabbit/theme/rabbit-block-quote/property.rb:3
 msgid "Displays quotation block with quote mark in frame."
 msgstr "枠の中に引用マーク付きで引用ブロックを表示します。"
 
-#: ../lib/rabbit/theme/rabbit-headline-logo/property.rb:2
 msgid "RabbitHeadlineLogo"
 msgstr "Rabbit: 見出しロゴ"
 
-#: ../lib/rabbit/theme/rabbit-headline-logo/property.rb:3
 msgid "Toolkit to display Lavie as a logo at the headlines"
 msgstr "見出しで Lavie をロゴとして表示するツールキット"
 
-#: ../lib/rabbit/theme/rabbit-headline-logo/property.rb:4
 msgid "Displays Lavie as a logo at the headlines of slides."
 msgstr "スライドの見出しで Lavie をロゴとして表示します。"
 
-#: ../lib/rabbit/theme/rabbit-icon/property.rb:2
 msgid "RabbitIcon"
 msgstr "Rabbit: アイコン"
 
-#: ../lib/rabbit/theme/rabbit-icon/property.rb:3
 msgid "Toolkit to use Lavie as icons"
 msgstr "アイコンとして Lavie を用いるツールキット"
 
-#: ../lib/rabbit/theme/rabbit-icon/property.rb:4
 msgid "Uses Lavie as icons."
 msgstr "Lavie をアイコンとして用います。"
 
-#: ../lib/rabbit/theme/rabbit-item-mark/property.rb:2
 msgid "RabbitItemMark"
 msgstr "Rabbit: 項目マーク"
 
-#: ../lib/rabbit/theme/rabbit-item-mark/property.rb:3
 msgid "Toolkit to display colorful balls as list item marks"
 msgstr "リスト項目のマークとしてカラフルなボールを表示するツールキット"
 
-#: ../lib/rabbit/theme/rabbit-item-mark/property.rb:4
 msgid "Displays colorful balls at the head of list items."
 msgstr "リスト項目の頭にカラフルなボールを表示します。"
 
-#: ../lib/rabbit/theme/rabbit-powered-by/property.rb:2
 msgid "RabbitPoweredBy"
 msgstr "Rabbit: PoweredBy"
 
-#: ../lib/rabbit/theme/rabbit-powered-by/property.rb:3
 msgid "Powered-by-Rabbit ad toolkit"
 msgstr "Powered-by-Rabbit 宣伝ツールキット"
 
-#: ../lib/rabbit/theme/rabbit-powered-by/property.rb:4
-msgid "Displays a text and an image showing the presentation slides are powered by Rabbit and COZMIXNG at the foot of the title slide and of the last slide."
-msgstr "タイトルスライドと最終スライドの下部に、プレゼンテーションスライドが Rabbit と COZMIXNG の力を使っていることを示すテキストと画像を表示します。"
+msgid ""
+"Displays a text and an image showing the presentation slides are powered by Ra"
+"bbit and COZMIXNG at the foot of the title slide and of the last slide."
+msgstr ""
+"タイトルスライドと最終スライドの下部に、プレゼンテーションスライドが Rabbit と COZMIXNG の力を使っていることを示すテキストと画像を表示しま"
+"す。"
 
-#: ../lib/rabbit/theme/rabbit-title-logo/property.rb:2
 msgid "RabbitTitleLogo"
 msgstr "Rabbit: タイトルロゴ"
 
-#: ../lib/rabbit/theme/rabbit-title-logo/property.rb:3
 msgid "Toolkit to display Lavie as a logo in the title slide"
 msgstr "タイトルスライドで Lavie をロゴとして表示するツールキット"
 
-#: ../lib/rabbit/theme/rabbit-title-logo/property.rb:4
 msgid "Displays Lavie as a logo in the title slide."
 msgstr "タイトルスライドで Lavie をロゴとして表示します。"
 
-#: ../lib/rabbit/theme/rabbit/property.rb:3
 msgid "Rabbit theme"
 msgstr "Rabbitテーマ"
 
-#: ../lib/rabbit/theme/ranguba/property.rb:2
 msgid "Ranguba"
 msgstr "ラングバ"
 
-#: ../lib/rabbit/theme/ranguba/property.rb:3
 msgid "Ranguba theme"
 msgstr "ラングバテーマ"
 
-#: ../lib/rabbit/theme/red-frame/property.rb:2
 msgid "RedFrame"
 msgstr "赤い枠"
 
-#: ../lib/rabbit/theme/red-frame/property.rb:3
 msgid "Red frame theme"
 msgstr "赤い枠のテーマ"
 
-#: ../lib/rabbit/theme/rotate-zoom-effect/property.rb:2
 msgid "Rotate Zoom Effect"
 msgstr "回転・拡大効果"
 
-#: ../lib/rabbit/theme/rotate-zoom-effect/property.rb:3
 msgid "Provide rotate_zoom_effect method that rotates and zooms content."
 msgstr "内容を回転・拡大するrotate_zoom_effectメソッドを提供します。"
 
-#: ../lib/rabbit/theme/ruby-gnome2-description/property.rb:2
 msgid "RubyGNOME2Description"
 msgstr "Ruby-GNOME2: 説明文"
 
-#: ../lib/rabbit/theme/ruby-gnome2-description/property.rb:3
-msgid "Toolkit to display description-list items like ones in the website of the Ruby-GNOME2 Project"
+msgid ""
+"Toolkit to display description-list items like ones in the website of the Ruby"
+"-GNOME2 Project"
 msgstr "Ruby-GNOME2 プロジェクトのウェブサイトの説明文リスト項目のように項目を表示するツールキット"
 
-#: ../lib/rabbit/theme/ruby-gnome2-description/property.rb:5
-msgid "Displays description-list items like ones in the website of the Ruby-GNOME2 Project; i.e. displays their text colored blue."
+msgid ""
+"Displays description-list items like ones in the website of the Ruby-GNOME2 Pr"
+"oject; i.e. displays their text colored blue."
 msgstr "Ruby-GNOME2 プロジェクトのウェブサイトの説明文リスト項目のように項目を表示します。すなわち、テキストに青色をつけて表示します。"
 
-#: ../lib/rabbit/theme/ruby-gnome2-foot-text/property.rb:2
 msgid "Ruby-GNOME2 Foot Text"
 msgstr "Ruby-GNOME2: 脚注テキスト"
 
-#: ../lib/rabbit/theme/ruby-gnome2-foot-text/property.rb:3
 msgid "Displays foot text at the footer of slide with Ruby-GNOME2 style."
 msgstr "Ruby-GNOME2スタイルでスライドのフッターに脚注テキストを表示します。"
 
-#: ../lib/rabbit/theme/ruby-gnome2-headline/property.rb:2
 msgid "RubyGNOME2Headline"
 msgstr "Ruby-GNOME2: 見出し"
 
-#: ../lib/rabbit/theme/ruby-gnome2-headline/property.rb:3
-msgid "Toolkit to display headlines like those in the website of the Ruby-GNOME2 Project"
+msgid ""
+"Toolkit to display headlines like those in the website of the Ruby-GNOME2 Proj"
+"ect"
 msgstr "Ruby-GNOME2 プロジェクトのウェブサイトの見出しのように見出しを表示するツールキット"
 
-#: ../lib/rabbit/theme/ruby-gnome2-headline/property.rb:5
-msgid "Displays headlines like ones in the website of the Ruby-GNOME2 Project; i.e. displays their text colored white and placed in the dark red boxes with pink frames."
-msgstr "Ruby-GNOME2 プロジェクトのウェブサイトの見出しのように見出しを表示します。すなわち、項目のテキストを白色にし、ピンク色の枠の暗赤色の箱の中に入れて表示します。"
+msgid ""
+"Displays headlines like ones in the website of the Ruby-GNOME2 Project; i.e. d"
+"isplays their text colored white and placed in the dark red boxes with pink fr"
+"ames."
+msgstr ""
+"Ruby-GNOME2 プロジェクトのウェブサイトの見出しのように見出しを表示します。すなわち、項目のテキストを白色にし、ピンク色の枠の暗赤色の箱の中に入れ"
+"て表示します。"
 
-#: ../lib/rabbit/theme/ruby-gnome2-icon/property.rb:2
 msgid "RubyGNOME2Icon"
 msgstr "Ruby-GNOME2: アイコン"
 
-#: ../lib/rabbit/theme/ruby-gnome2-icon/property.rb:3
 msgid "Toolkit to use a pink circle as icons"
 msgstr "ピンク色の丸をアイコンとして用いるツールキット"
 
-#: ../lib/rabbit/theme/ruby-gnome2-icon/property.rb:4
 msgid "Uses a pink circle as icons."
 msgstr "ピンク色の丸をアイコンとして用います。"
 
-#: ../lib/rabbit/theme/ruby-gnome2-item-mark/property.rb:2
 msgid "RubyGNOME2ItemMark"
 msgstr "Ruby-GNOME2: 項目マーク"
 
-#: ../lib/rabbit/theme/ruby-gnome2-item-mark/property.rb:3
-msgid "Toolkit to display list items like ones in the website of the Ruby-GNOME2 Project"
+msgid ""
+"Toolkit to display list items like ones in the website of the Ruby-GNOME2 Proj"
+"ect"
 msgstr "Ruby-GNOME2 プロジェクトのウェブサイトのリスト項目のように項目を表示するツールキット"
 
-#: ../lib/rabbit/theme/ruby-gnome2-item-mark/property.rb:5
-msgid "Displays list items like ones in the website of the Ruby-GNOME2 Project; i.e. displays text of the first-level items colored blue and underlined, the second- and third-level items marked with black squares and circles."
-msgstr "Ruby-GNOME2 プロジェクトのウェブサイトのリスト項目のように項目を表示します。すなわち、第 1 レベルの項目のテキストは青色にして下線をつけ、第 2 レベルと第 3 レベルの項目には黒い四角と丸のマークをつけます。"
+msgid ""
+"Displays list items like ones in the website of the Ruby-GNOME2 Project; i.e. "
+"displays text of the first-level items colored blue and underlined, the second"
+"- and third-level items marked with black squares and circles."
+msgstr ""
+"Ruby-GNOME2 プロジェクトのウェブサイトのリスト項目のように項目を表示します。すなわち、第 1 レベルの項目のテキストは青色にして下線をつけ、第 "
+"2 レベルと第 3 レベルの項目には黒い四角と丸のマークをつけます。"
 
-#: ../lib/rabbit/theme/ruby-gnome2-preformatted/property.rb:2
 msgid "Ruby-GNOME2 Preformatted"
 msgstr "Ruby-GNOME2: 整形済みテキスト"
 
-#: ../lib/rabbit/theme/ruby-gnome2-preformatted/property.rb:3
 msgid "Displays preformatted text with Ruby-GNOME2 style."
 msgstr "Ruby-GNOME2スタイルで整形済みテキストを表示します。"
 
-#: ../lib/rabbit/theme/ruby-gnome2-slide/property.rb:2
 msgid "Ruby-GNOME2 Slide"
 msgstr "Ruby-GNOME2: スライド"
 
-#: ../lib/rabbit/theme/ruby-gnome2-slide/property.rb:3
 msgid "Displays slides with Ruby-GNOME2 style."
 msgstr "Ruby-GNOME2スタイルでスライドを表示します。"
 
-#: ../lib/rabbit/theme/ruby-gnome2/property.rb:2
 msgid "Ruby-GNOME2"
 msgstr "Ruby-GNOME2"
 
-#: ../lib/rabbit/theme/ruby-gnome2/property.rb:3
 msgid "Ruby-GNOME2 theme"
 msgstr "Ruby-GNOME2テーマ"
 
-#: ../lib/rabbit/theme/rubykaigi2011/property.rb:2
 msgid "RubyKaigi2011"
 msgstr ""
 
-#: ../lib/rabbit/theme/rubykaigi2011/property.rb:3
 msgid "RubyKaigi2011 theme"
 msgstr "RubyKaigi2011のテーマ"
 
-#: ../lib/rabbit/theme/scroll-effect/property.rb:2
 msgid "Scroll Effect"
 msgstr "スクロール効果"
 
-#: ../lib/rabbit/theme/scroll-effect/property.rb:3
 msgid "Provide scroll_effect method that scrolls content."
 msgstr "内容をスクロールするscroll_effectメソッドを提供します。"
 
-#: ../lib/rabbit/theme/show-frame/property.rb:2
 msgid "ShowFrame"
 msgstr "枠の表示"
 
-#: ../lib/rabbit/theme/show-frame/property.rb:3
 msgid "Debug toolkit to show element frames"
 msgstr "要素の枠を表示するデバッグ用ツールキット"
 
-#: ../lib/rabbit/theme/show-frame/property.rb:4
 msgid "Show element frames useful for debug."
 msgstr "デバッグに便利な要素の枠を表示します。"
 
-#: ../lib/rabbit/theme/show-frame/property.rb:8
 msgid "Frame color."
 msgstr "枠の色。"
 
-#: ../lib/rabbit/theme/simple-item-mark/property.rb:2
 msgid "SimpleItemMark"
 msgstr "シンプル項目マーク"
 
-#: ../lib/rabbit/theme/simple-item-mark/property.rb:3
 msgid "Toolkit to display simple black circles as list item marks"
 msgstr "リスト項目のマークとしてシンプルな黒い丸を表示するツールキット"
 
-#: ../lib/rabbit/theme/simple-item-mark/property.rb:4
 msgid "Displays simple black circles at the head of list items."
 msgstr "リスト項目の頭にシンプルな黒い丸を表示します。"
 
-#: ../lib/rabbit/theme/slide-background-image/property.rb:2
 msgid "SlideBackgroundImage"
 msgstr "スライド背景画像"
 
-#: ../lib/rabbit/theme/slide-background-image/property.rb:3
 msgid "Toolkit to display an image as a background of slides"
 msgstr "スライドの背景として画像を表示するツールキット"
 
-#: ../lib/rabbit/theme/slide-background-image/property.rb:4
 msgid "Displays an image as a background of slides."
 msgstr "スライドの背景として画像を表示します。"
 
-#: ../lib/rabbit/theme/slide-background/property.rb:2
 msgid "SlideBackground"
 msgstr "スライド背景"
 
-#: ../lib/rabbit/theme/slide-background/property.rb:3
 msgid "Backward compatibility theme for ((<slide-background-image>))"
 msgstr "((<slide-background-image>))のための後方互換性のテーマ"
 
-#: ../lib/rabbit/theme/slide-background/property.rb:4
 msgid "See ((<slide-background-image>))"
 msgstr "((<slide-background-image>))を見てください."
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:2
-#: ../lib/rabbit/theme/slide-header-info/property.rb:2
 msgid "Slide Footer Info"
 msgstr "スライドフッター情報"
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:3
 msgid "Toolkit to display information at the footer"
 msgstr "フッターに情報を表示するツールキット"
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:4
 msgid "Displays information with a line at the footer of slides."
 msgstr "スライドのフッターに線付きで情報を表示します。"
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:8
-#: ../lib/rabbit/theme/slide-header-info/property.rb:8
 msgid "Line color."
 msgstr "線の色。"
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:12
-#: ../lib/rabbit/theme/slide-header-info/property.rb:12
 msgid "Line width."
 msgstr "線の太さ。"
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:15
-#: ../lib/rabbit/theme/slide-header-info/property.rb:15
 msgid "white <-> black gradation"
 msgstr "白<->黒のグラデーション"
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:16
-msgid "Line fill pattern. @slide_footer_info_line_color is ignored if this parameter is specified."
+msgid ""
+"Line fill pattern. @slide_footer_info_line_color is ignored if this parameter "
+"is specified."
 msgstr "線の塗りつぶしパターン。このパラメータが指定されると@slide_footer_info_line_colorは無視されます。"
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:21
-#: ../lib/rabbit/theme/slide-header-info/property.rb:21
 msgid "Text size."
 msgstr "テキストの大きさ。"
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:25
-#: ../lib/rabbit/theme/slide-header-info/property.rb:25
 msgid "x-axis margin."
 msgstr "X方向の余白。"
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:29
-#: ../lib/rabbit/theme/slide-header-info/property.rb:29
 msgid "Text color."
 msgstr "テキストの色。"
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:33
-#: ../lib/rabbit/theme/slide-header-info/property.rb:33
 msgid "Whether show a text over line or not."
 msgstr "線の上にテキストを表示するかどうか。"
 
-#: ../lib/rabbit/theme/slide-footer-info/property.rb:37
-#: ../lib/rabbit/theme/slide-header-info/property.rb:37
 msgid "Base y-axis position to stroke line."
 msgstr "線を描くためのY方向の基準位置。"
 
-#: ../lib/rabbit/theme/slide-header-info/property.rb:3
 msgid "Toolkit to display information at the header"
 msgstr "ヘッダーに情報を表示するツールキット"
 
-#: ../lib/rabbit/theme/slide-header-info/property.rb:4
 msgid "Displays information with a line at the header of slides."
 msgstr "スライドの上部に線付きで情報を表示します。"
 
-#: ../lib/rabbit/theme/slide-header-info/property.rb:16
-msgid "Line fill pattern. @slide_header_info_line_color is ignored if this parameter is specified."
+msgid ""
+"Line fill pattern. @slide_header_info_line_color is ignored if this parameter "
+"is specified."
 msgstr "線の塗りつぶしパターン。このパラメータが指定されると@slide_header_info_line_colorは無視されます。"
 
-#: ../lib/rabbit/theme/slide-logo/property.rb:2
 msgid "Slide Logo"
 msgstr "スライドロゴ"
 
-#: ../lib/rabbit/theme/slide-logo/property.rb:3
 msgid "Toolkit to display an image as logo at the top"
 msgstr "上部に画像をロゴとして表示するためのツールキット"
 
-#: ../lib/rabbit/theme/slide-logo/property.rb:4
 msgid "Displays an image as a logo at the top of all slides."
 msgstr "すべてのスライドの上部に画像をロゴとして表示します。"
 
-#: ../lib/rabbit/theme/slide-logo/property.rb:12
 msgid "Image position. :right or :left."
 msgstr "画像の位置。:rightか:left。"
 
-#: ../lib/rabbit/theme/slide-logo/property.rb:16
 msgid "Image width."
 msgstr "画像の幅。"
 
-#: ../lib/rabbit/theme/slide-logo/property.rb:20
 msgid "Image height."
 msgstr "画像の高さ。"
 
-#: ../lib/rabbit/theme/slide-logo/slide-logo.rb:4
-#: ../lib/rabbit/theme/title-logo/title-logo.rb:4
 msgid "must specify %s!!!"
 msgstr "%sを指定してください!!!"
 
-#: ../lib/rabbit/theme/slide-number/property.rb:2
 msgid "TextSlideNumber"
 msgstr "テキストスライド番号"
 
-#: ../lib/rabbit/theme/slide-number/property.rb:3
 msgid "Toolkit to display slide numbers, a text version"
 msgstr "スライド番号表示ツールキット (テキストバージョン)"
 
-#: ../lib/rabbit/theme/slide-number/property.rb:4
 msgid "Displays slide numbers with text at the bottom of the slides."
 msgstr "スライド下部にテキストでスライド番号を表示します。"
 
-#: ../lib/rabbit/theme/slide-number/property.rb:12
 msgid "Properties of the slide numbers, such as font family."
 msgstr "フォントファミリーなどの、スライド番号の属性。"
 
-#: ../lib/rabbit/theme/slide-show/property.rb:2
 msgid "Slide Show"
 msgstr "スライドショー"
 
-#: ../lib/rabbit/theme/slide-show/property.rb:3
 msgid "Toolkit to do slide show"
 msgstr "スライドショーをするためのツールキット"
 
-#: ../lib/rabbit/theme/slide-show/property.rb:4
 msgid "Move to the next slide automatically."
 msgstr "自動的に次のスライドに移動します。"
 
-#: ../lib/rabbit/theme/stream-comment/property.rb:2
 msgid "Stream Comment"
 msgstr "ストリームコメント"
 
-#: ../lib/rabbit/theme/stream-comment/property.rb:3
 msgid "Stream comments on canvas."
 msgstr "キャンバス上にコメントを流します。"
 
-#: ../lib/rabbit/theme/syntax-highlighting/property.rb:2
 msgid "Syntax Highlighting"
 msgstr "シンタックスハイライト"
 
-#: ../lib/rabbit/theme/syntax-highlighting/property.rb:3
 msgid "Toolkit for syntax highlighting"
 msgstr "シンタックスハイライト用のツールキット。"
 
-#: ../lib/rabbit/theme/syntax-highlighting/property.rb:4
 msgid "Applies syntax highlighting style."
 msgstr "シンタックスハイライトにスタイルを適用します。"
 
-#: ../lib/rabbit/theme/table/property.rb:2
 msgid "Table"
 msgstr "表"
 
-#: ../lib/rabbit/theme/table/property.rb:3
 msgid "table rendering"
 msgstr "表の表示"
 
-#: ../lib/rabbit/theme/tag/property.rb:2
 msgid "Tag"
 msgstr "タグ"
 
-#: ../lib/rabbit/theme/tag/property.rb:3
 msgid "Toolkit to apply custom tag"
 msgstr "カスタムタグを適用するツールキット。"
 
-#: ../lib/rabbit/theme/tag/property.rb:4
 msgid "Applies custom tag style."
 msgstr "カスタムタグスタイルを適用します。"
 
-#: ../lib/rabbit/theme/timer/property.rb:2
 msgid "TextTimer"
 msgstr "テキストタイマー"
 
-#: ../lib/rabbit/theme/timer/property.rb:3
 msgid "text version timer"
 msgstr "テキストーバージョンのタイマー"
 
-#: ../lib/rabbit/theme/title-background-color/property.rb:2
 msgid "TitleBackgroundColor"
 msgstr "タイトル背景色"
 
-#: ../lib/rabbit/theme/title-background-color/property.rb:3
 msgid "Toolkit to color a background of the title slide"
 msgstr "タイトルスライドの背景に色をつけるツールキット"
 
-#: ../lib/rabbit/theme/title-background-color/property.rb:4
 msgid "Color a background of the title slide."
 msgstr "タイトルスライドの背景に色をつけます。"
 
-#: ../lib/rabbit/theme/title-background-color/property.rb:8
 msgid "Background color."
 msgstr "背景色。"
 
-#: ../lib/rabbit/theme/title-background-image/property.rb:2
 msgid "TitleBackgroundImage"
 msgstr "タイトル背景画像"
 
-#: ../lib/rabbit/theme/title-background-image/property.rb:3
-#: ../lib/rabbit/theme/title-slide-background-image/property.rb:3
 msgid "Toolkit to display an image as a background of the title slide"
 msgstr "タイトルスライドの背景として画像を表示するツールキット"
 
-#: ../lib/rabbit/theme/title-background-image/property.rb:5
-#: ../lib/rabbit/theme/title-slide-background-image/property.rb:4
 msgid "Displays an image as a background of the title slide."
 msgstr "タイトルスライドの背景として画像を表示します。"
 
-#: ../lib/rabbit/theme/title-logo/property.rb:2
 msgid "TitleLogo"
 msgstr "タイトルロゴ"
 
-#: ../lib/rabbit/theme/title-logo/property.rb:3
 msgid "Toolkit to display an image as a logo in the title slide"
 msgstr "タイトルスライドに画像をロゴとして表示するためのツールキット"
 
-#: ../lib/rabbit/theme/title-logo/property.rb:4
 msgid "Displays an image as a logo in the title slide."
 msgstr "タイトルスライドに画像をロゴとして表示します。"
 
-#: ../lib/rabbit/theme/title-logo/property.rb:12
-msgid "Position of the logo. The logo will be set at the upper-right corner when '(({:right}))', and at the upper-left corner when '(({:left}))'."
+msgid ""
+"Position of the logo. The logo will be set at the upper-right corner when '(({"
+":right}))', and at the upper-left corner when '(({:left}))'."
 msgstr "ロゴの位置。ロゴは '(({:right}))' のとき右上隅に配置され、'(({:left}))' のとき左上隅に配置されます。"
 
-#: ../lib/rabbit/theme/title-on-image-toolkit/property.rb:2
 msgid "Title on Image Toolkit"
 msgstr "画像の上にタイトルツールキット"
 
-#: ../lib/rabbit/theme/title-on-image-toolkit/property.rb:3
 msgid "Displays title on image"
 msgstr "画像の上にタイトルを表示します。"
 
-#: ../lib/rabbit/theme/title-shadow/property.rb:2
 msgid "TitleShadow"
 msgstr "タイトル影つき"
 
-#: ../lib/rabbit/theme/title-shadow/property.rb:3
 msgid "Toolkit to display shadows behind the title"
 msgstr "タイトルの後ろに影を表示するツールキット"
 
-#: ../lib/rabbit/theme/title-shadow/property.rb:4
 msgid "Displays shadows behind the title string in the title slide."
 msgstr "タイトルスライドにおいて、タイトル文字列の後ろに影を表示します。"
 
-#: ../lib/rabbit/theme/title-shadow/property.rb:9
 msgid "Color of shadow."
 msgstr "影の色。"
 
-#: ../lib/rabbit/theme/title-slide-background-image/property.rb:2
 msgid "TitleSlideBackgroundImage"
 msgstr "タイトルスライド背景画像"
-
-#: ../lib/rabbit/slideshare.rb:100
-#~ msgid "Failed to upload: %s"
-#~ msgstr "アップロードに失敗しました: %s"
-
-#: ../lib/rabbit/command/rabbit-slide.rb:69
-#~ msgid ""
-#~ "Usage: %s new [options]\n"
-#~ " e.g.: %s new \\\n"
-#~ "          --id rubykaigi2012 \\\n"
-#~ "          --base-name rabbit-introduction \\\n"
-#~ "          --markup-language rd \\\n"
-#~ "          --name \"Kouhei Sutou\" \\\n"
-#~ "          --email kou at cozmixng.org \\\n"
-#~ "          --rubygems-user kou \\\n"
-#~ "          --slideshare-user kou \\\n"
-#~ "          --speaker-deck-user kou"
-#~ msgstr ""
-#~ "使い方: %s new [オプション]\n"
-#~ "    例: %s new \\\n"
-#~ "          --id rubykaigi2012 \\\n"
-#~ "          --base-name rabbit-introduction \\\n"
-#~ "          --markup-language rd \\\n"
-#~ "          --name \"Kouhei Sutou\" \\\n"
-#~ "          --email kou at cozmixng.org \\\n"
-#~ "          --rubygems-user kou \\\n"
-#~ "          --slideshare-user kou \\\n"
-#~ "          --speaker-deck-user kou"
-
-#: ../lib/rabbit/image/pdf.rb:49
-#~ msgid "%s page isn't exist in PDF"
-#~ msgstr "PDFの中に%sページはありません"
-
-#: ../lib/rabbit/theme-browser/page.rb:96
-#~ msgid "Go back"
-#~ msgstr "戻る"
-
-#: ../lib/rabbit/theme-browser/page.rb:101
-#~ msgid "Go forward"
-#~ msgstr "進む"
-
-#: ../lib/rabbit/theme-browser/page.rb:112
-#~ msgid "Go up"
-#~ msgstr "上へ"
-
-#: ../lib/rabbit/theme-browser/page.rb:119
-#~ msgid "Reload"
-#~ msgstr "再読み込み"
-
-#: ../lib/rabbit/theme-browser/document.rb:110
-#~ msgid "Images"
-#~ msgstr "画像"
-
-#: ../bin/rabbit-theme-manager:15
-#~ msgid "en"
-#~ msgstr "英語"
-
-#: ../bin/rabbit-theme-manager:15
-#~ msgid "ja"
-#~ msgstr "日本語"
-
-#: ../bin/rabbit-theme-manager:15
-#~ msgid "fr"
-#~ msgstr "フランス語"
-
-#: ../bin/rabbit-theme-manager:22
-#~ msgid "[COMMAND] is one of them: [%s]"
-#~ msgstr "[COMMAND] は次のいずれかです: [%s]"
-
-#: ../bin/rabbit-theme-manager:34
-#~ msgid "Show [THEME] when startup."
-#~ msgstr "起動時に [THEME] を表示します."
-
-#: ../bin/rabbit-theme-manager:69
-#~ msgid "Specify theme document directory as [DIR]."
-#~ msgstr "テーマドキュメントディレクトリを[DIR]とします."
-
-#: ../bin/rabbit-theme-manager:76
-#~ msgid "Specify target locales as [LOC1,LOC2,...]."
-#~ msgstr "対象ロケールを[LOC1,LOC2,...]とします."
-
-#: ../bin/rabbit-theme-manager:91
-#~ msgid "Generating documents for locale <%s>..."
-#~ msgstr "ロケール<%s>のためのドキュメントを生成しています..."
-
-#: ../bin/rabbit-theme-manager:124
-#~ msgid "Unknown command: %s"
-#~ msgstr "未知のコマンド: %s"
-
-#: ../bin/rabbit-theme-manager:125
-#~ msgid "Available commands: %s"
-#~ msgstr "利用可能なコマンド: %s"
diff --git a/rabbit.gemspec b/rabbit.gemspec
index 82eb9b5..be2a255 100644
--- a/rabbit.gemspec
+++ b/rabbit.gemspec
@@ -43,8 +43,10 @@ Gem::Specification.new do |spec|
     spec.executables = Dir.glob("*")
   end
 
-  spec.required_ruby_version = ">= 1.9.3"
+  spec.required_ruby_version = ">= 2.1.0"
 
+  spec.add_runtime_dependency("gio2")
+  spec.add_runtime_dependency("gdk_pixbuf2", ">= 3.0.9")
   spec.add_runtime_dependency("gtk2")
   spec.add_runtime_dependency("rsvg2")
   spec.add_runtime_dependency("poppler")
@@ -54,10 +56,11 @@ Gem::Specification.new do |spec|
   spec.add_runtime_dependency("rttool")
   spec.add_runtime_dependency("coderay", ">= 1.0.0")
   spec.add_runtime_dependency("kramdown")
-  spec.add_runtime_dependency("gettext")
+  spec.add_runtime_dependency("gettext", ">= 3.0.1")
   spec.add_runtime_dependency("faraday")
   # spec.add_runtime_dependency("gstreamer")
 
+  spec.add_development_dependency("gtk3")
   spec.add_development_dependency("test-unit")
   spec.add_development_dependency("test-unit-notify")
   spec.add_development_dependency("test-unit-rr")
diff --git a/sample/image-reflection.rab b/sample/image-reflection.rab
new file mode 100644
index 0000000..743126f
--- /dev/null
+++ b/sample/image-reflection.rab
@@ -0,0 +1,12 @@
+= Image reflection
+
+: author
+   Kouhei Sutou
+
+= SVG
+
+  # image
+  # src = rabbit-slide-show-logo.svg
+  # relative_width = 80
+  # reflect_ratio = 0.5
+
diff --git a/sample/note.rab b/sample/note.rab
new file mode 100644
index 0000000..d2386c0
--- /dev/null
+++ b/sample/note.rab
@@ -0,0 +1,31 @@
+= Note
+
+: subtitle
+   Test for note
+: author
+   Kouhei Sutou
+
+= Page1
+
+  * Have note
+
+== comment
+
+: note
+
+  This is note long note text.
+
+  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.
+  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.
+
+= Page2
+
+  * Not have note
diff --git a/sample/rabbit-en.hiki b/sample/rabbit-en.hiki
index 76fe3b2..99122ca 100644
--- a/sample/rabbit-en.hiki
+++ b/sample/rabbit-en.hiki
@@ -182,10 +182,10 @@ Relative image sizes
 
 Download an image from a URL
 
-{{image("http://www.cozmixng.org/repos/images/cozmixchu.png",
+{{image("https://raw.githubusercontent.com/rabbit-shocker/rabbit/master/data/rabbit/image/cozmixng-images/cozmixchu.png",
         :caption => "COZMIX Chu")}}
 
-// [[COZMIX Chu|http://www.cozmixng.org/repos/images/cozmixchu.png]]
+// [[COZMIX Chu|https://raw.githubusercontent.com/rabbit-shocker/rabbit/master/data/rabbit/image/cozmixng-images/cozmixchu.png]]
 // This syntax isn't supported yet.
 
 ! Math. expressions
@@ -258,7 +258,7 @@ N   O   P   Q   R   S   T   U   V   W   X   Y   Z
 
 {{blockdiag("
 {
-  fontsize = 25;
+  default_fontsize = 25;
   RD -> Rabbit;
   Hiki -> Rabbit;
   PDF -> Rabbit;
diff --git a/sample/rabbit-en.md b/sample/rabbit-en.md
index 8d6ce46..b8b07d7 100644
--- a/sample/rabbit-en.md
+++ b/sample/rabbit-en.md
@@ -20,7 +20,7 @@ A presentation tool
 * Env.: PC-UNIX/Win/Mac
 * Format:
   RD/Wiki/Markdown/PDF
-* View: Ruby
+* View: Ruby {::note}(separated with format){:/note}
 
 # Features: Display (1)
 
@@ -53,7 +53,8 @@ A presentation tool
 
 * Index page
 * Graffiti
-* I18N
+* {::wait/}Pause
+* {::wait/}I18N
 * Search
 
 # Features: UI (3)
@@ -156,11 +157,11 @@ Relative image sizes
 
 Download an image from a URL
 
-![](http://www.cozmixng.org/repos/images/cozmixchu.png "COZMIX Chu")
+![](https://raw.githubusercontent.com/rabbit-shocker/rabbit/master/data/rabbit/image/cozmixng-images/cozmixchu.png "COZMIX Chu")
 
 # Math. expressions
 
-* TeX format
+* TeX {::note}(like){:/note} format
 * Backends
   * LaTeX
 
@@ -190,6 +191,24 @@ Create EPS ahead of time
 
 ![](rabbit.xcf){:relative_height="100"}
 
+= blockdiag
+
+```blockdiag
+{
+  default_fontsize = 25;
+  RD -> Rabbit;
+  Hiki -> Rabbit;
+  PDF -> Rabbit;
+  group {
+    Rabbit -> Display;
+  }
+}
+```
+{:
+  relative_width="90"
+  fonts="/usr/share/fonts/opentype/ipafont/ipag.ttf, /usr/share/fonts/truetype/vlgothic/VL-Gothic-Regular.ttf"
+}
+
 # Word Wrapping
 
 looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong
@@ -224,12 +243,12 @@ End of source code.
 
 # Enumeration
 
-* Level 1-1
-  * Level 2-1
-    * Level 3-1
-    * Level 3-2
-  * Level 2-2
-* Level 1-2
+1. Level 1-1
+   1. Level 2-1
+      1. Level 3-1
+      2. Level 3-2
+   2. Level 2-2
+2. Level 1-2
 
 # Labeled list
 
diff --git a/sample/rabbit-en.rd b/sample/rabbit-en.rd
index 0378ec5..fbc1344 100644
--- a/sample/rabbit-en.rd
+++ b/sample/rabbit-en.rd
@@ -194,7 +194,7 @@ Relative image sizes
 Download an image from a URL
 
   # image
-  # src = http://www.cozmixng.org/repos/images/cozmixchu.png
+  # src = https://raw.githubusercontent.com/rabbit-shocker/rabbit/master/data/rabbit/image/cozmixng-images/cozmixchu.png
   # caption = COZMIX Chu
 
 = Math. expressions
@@ -274,7 +274,7 @@ Create EPS ahead of time((-needs gs-))
 #  # antialias = true
   # fonts = /usr/share/fonts/opentype/ipafont/ipag.ttf, /usr/share/fonts/truetype/vlgothic/VL-Gothic-Regular.ttf
   {
-    fontsize = 25;
+    default_fontsize = 25;
     RD -> Rabbit;
     Hiki -> Rabbit;
     PDF -> Rabbit;
diff --git a/sample/rabbit-slide-show-logo.svg b/sample/rabbit-slide-show-logo.svg
new file mode 100644
index 0000000..d7c3fc5
--- /dev/null
+++ b/sample/rabbit-slide-show-logo.svg
@@ -0,0 +1,597 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   id="レイヤー_1"
+   x="0px"
+   y="0px"
+   width="542px"
+   height="129px"
+   viewBox="0 0 542 129"
+   enable-background="new 0 0 542 129"
+   xml:space="preserve"
+   inkscape:version="0.48.3.1 r9886"
+   sodipodi:docname="rabbit-slide-show-logo.svg"
+   inkscape:export-filename="rabbit-slide-show-logo.png"
+   inkscape:export-xdpi="33.290001"
+   inkscape:export-ydpi="33.290001"><metadata
+   id="metadata3431"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+   id="defs3429"><mask
+     id="SVGID_1_-7"
+     height="37.859"
+     width="34.84"
+     y="60.094"
+     x="118.894"
+     maskUnits="userSpaceOnUse"><g
+       style="filter:url(#Adobe_OpacityMaskFilter-1)"
+       id="g3964"><image
+         id="image3966"
+         transform="translate(116.0234,58.0303)"
+         xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA EAMCAwYAAAGlAAAB+QAAAj//2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIACoAKAMBIgACEQEDEQH/ xAB5AAADAAMBAQAAAAAAAAAAAAAABQYBAwQCBwEBAAAAAAAAAAAAAAAAAAAAABAAAgMBAAIDAAAA AAAAAAAAAQIDBAUSMBEAIBMRAAIDAAEEAwAAAAAAAAAAAAABESExURAgQQISIjI [...]
+         height="42"
+         width="40"
+         overflow="visible"
+         style="overflow:visible" /></g></mask><filter
+     height="37.859001"
+     width="34.84"
+     y="60.094002"
+     x="118.894"
+     filterUnits="userSpaceOnUse"
+     id="Adobe_OpacityMaskFilter-1"
+     color-interpolation-filters="sRGB"><feFlood
+       id="feFlood3959"
+       result="back" /><feBlend
+       id="feBlend3961"
+       mode="normal"
+       in2="back"
+       in="SourceGraphic" /></filter><mask
+     id="SVGID_2_-9"
+     height="38.365"
+     width="38.838"
+     y="81.705"
+     x="238.931"
+     maskUnits="userSpaceOnUse"><g
+       style="filter:url(#Adobe_OpacityMaskFilter_2_-0)"
+       id="g4014"><image
+         id="image3999"
+         transform="translate(236.0234,79.0303)"
+         xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA EAMCAwYAAAGqAAACCAAAAlf/2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIACwALAMBIgACEQEDEQH/ xAB6AAABBAMAAAAAAAAAAAAAAAAGAAQFBwECAwEBAAAAAAAAAAAAAAAAAAAAABAAAQUAAgMBAAAA AAAAAAAAAQISAwQFABAwERMjEQACAgICAgMAAAAAAAAAAAAAAREhMQIQQSASYSI [...]
+         height="44"
+         width="44"
+         overflow="visible"
+         style="overflow:visible" /></g></mask><filter
+     height="38.365002"
+     width="38.838001"
+     y="81.705002"
+     x="238.931"
+     filterUnits="userSpaceOnUse"
+     id="Adobe_OpacityMaskFilter_2_-0"
+     color-interpolation-filters="sRGB"><feFlood
+       id="feFlood3992"
+       result="back" /><feBlend
+       id="feBlend3994"
+       mode="normal"
+       in2="back"
+       in="SourceGraphic" /></filter><filter
+     color-interpolation-filters="sRGB"
+     height="1.3113215"
+     y="-0.15566073"
+     width="1.3126816"
+     x="-0.15634075"
+     id="filter5362"
+     inkscape:collect="always"><feGaussianBlur
+       id="feGaussianBlur5364"
+       stdDeviation="2.1351809"
+       inkscape:collect="always" /></filter><filter
+     color-interpolation-filters="sRGB"
+     height="1.3176662"
+     y="-0.15883312"
+     width="1.3065324"
+     x="-0.15326618"
+     id="filter5366"
+     inkscape:collect="always"><feGaussianBlur
+       id="feGaussianBlur5368"
+       stdDeviation="1.6294148"
+       inkscape:collect="always" /></filter></defs><sodipodi:namedview
+   pagecolor="#ffffff"
+   bordercolor="#666666"
+   borderopacity="1"
+   objecttolerance="10"
+   gridtolerance="10"
+   guidetolerance="10"
+   inkscape:pageopacity="0"
+   inkscape:pageshadow="2"
+   inkscape:window-width="897"
+   inkscape:window-height="480"
+   id="namedview3427"
+   showgrid="false"
+   inkscape:zoom="0.3961005"
+   inkscape:cx="-201.32728"
+   inkscape:cy="-52.569023"
+   inkscape:window-x="1864"
+   inkscape:window-y="371"
+   inkscape:window-maximized="0"
+   inkscape:current-layer="レイヤー_1" />
+
+<g
+   id="g3317">
+	<g
+   id="g3319">
+		<path
+   fill="#5E382A"
+   d="M303.79,34.874c0,11.501,9.056,20.823,20.228,20.823c11.171,0,20.228-9.322,20.228-20.823    c0-11.499-9.057-20.821-20.228-20.821C312.846,14.053,303.79,23.375,303.79,34.874z M313.815,34.874    c0-5.799,4.567-10.501,10.202-10.501c5.634,0,10.2,4.702,10.2,10.501c0,5.8-4.566,10.501-10.2,10.501    C318.383,45.375,313.815,40.674,313.815,34.874z"
+   id="path3321" />
+		<g
+   id="g3323">
+			<rect
+   x="303.812"
+   y="0.798"
+   fill="#5E382A"
+   width="10"
+   height="34.154"
+   id="rect3325" />
+		</g>
+	</g>
+	<g
+   id="g3327">
+		<path
+   fill="#5E382A"
+   d="M257.04,34.874c0,11.501,9.056,20.823,20.228,20.823c11.171,0,20.228-9.322,20.228-20.823    c0-11.499-9.057-20.821-20.228-20.821C266.096,14.053,257.04,23.375,257.04,34.874z M267.065,34.874    c0-5.799,4.567-10.501,10.202-10.501c5.634,0,10.2,4.702,10.2,10.501c0,5.8-4.566,10.501-10.2,10.501    C271.633,45.375,267.065,40.674,267.065,34.874z"
+   id="path3329" />
+		<g
+   id="g3331">
+			<rect
+   x="257.062"
+   y="0.798"
+   fill="#5E382A"
+   width="10"
+   height="34.154"
+   id="rect3333" />
+		</g>
+	</g>
+	<g
+   id="g3335">
+		<rect
+   x="163.542"
+   y="21.541"
+   fill="#5E382A"
+   width="10"
+   height="34"
+   id="rect3337" />
+		<polygon
+   fill="#5E382A"
+   points="203.578,55.541 191.26,55.541 178.701,35.541 191.021,35.541   "
+   id="polygon3339" />
+		<path
+   fill="#5E382A"
+   d="M183.788,0.449c-11.171,0-20.228,9.322-20.228,20.821c0,11.501,9.057,20.823,20.228,20.823    c11.172,0,20.228-9.322,20.228-20.823C204.016,9.771,194.96,0.449,183.788,0.449z M183.788,31.771    c-5.634,0-10.2-4.701-10.2-10.501c0-5.799,4.566-10.501,10.2-10.501c5.635,0,10.202,4.702,10.202,10.501    C193.99,27.07,189.423,31.771,183.788,31.771z"
+   id="path3341" />
+	</g>
+	<g
+   id="g3343">
+		<path
+   fill="#5E382A"
+   d="M228.768,14.053c-11.171,0-20.228,9.322-20.228,20.821c0,11.501,9.057,20.823,20.228,20.823    c11.172,0,20.228-9.322,20.228-20.823C248.995,23.375,239.939,14.053,228.768,14.053z M228.768,45.375    c-5.634,0-10.2-4.701-10.2-10.501c0-5.799,4.566-10.501,10.2-10.501c5.635,0,10.202,4.702,10.202,10.501    C238.97,40.674,234.402,45.375,228.768,45.375z"
+   id="path3345" />
+		<g
+   id="g3347">
+			<rect
+   x="238.974"
+   y="14.048"
+   fill="#5E382A"
+   width="10"
+   height="20.904"
+   id="rect3349" />
+		</g>
+	</g>
+	<g
+   id="g3351">
+		<rect
+   x="370.542"
+   y="14.916"
+   fill="#5E382A"
+   width="21"
+   height="10"
+   id="rect3353" />
+		<rect
+   x="370.542"
+   y="0.791"
+   fill="#5E382A"
+   width="10"
+   height="35.125"
+   id="rect3355" />
+		<path
+   fill="#5E382A"
+   d="M390.542,44.912c-6,0-10.063-0.559-10.063-10.689l-9.938,0.389c0,17.367,9,20.822,20,20.822V44.912z"
+   id="path3357" />
+	</g>
+	<g
+   id="g3359">
+		<rect
+   x="350.542"
+   y="14.541"
+   fill="#5E382A"
+   width="10"
+   height="41"
+   id="rect3361" />
+		<circle
+   fill="#5E382A"
+   cx="355.667"
+   cy="6.166"
+   r="5.5"
+   id="circle3363" />
+	</g>
+</g>
+<g
+   id="g3365">
+	<g
+   id="g3367">
+		<path
+   fill="#683D1F"
+   d="M168.202,99.787c-1.09-0.898-1.075-0.788-1.594-1.222c-4.65-3.874-7.01-8.752-7.01-14.497    c0-5.765,2.359-10.652,7.011-14.527c4.31-3.592,9.462-5.413,15.315-5.413c5.85,0,11.001,1.815,15.309,5.397    c4.655,3.87,7.259,6.963,7.259,12.874c0,4.605-2.478,7.745-7.083,7.745c-0.309,0-0.613-0.016-0.91-0.043    c0,0-2.813-0.243-4.488-1.916c-1.676-1.675-2.286-3.81-3.411-5.609c-1.125-1.801-4.492-2.934-6.675-2.934    c-2.197,0-3.869,0.545-5.261,1.713c-1.362,1.144-1.55,1.979-1.55,2.713c0,0.719,0.1 [...]
+   id="path3369" />
+		<path
+   fill="#FFFFFF"
+   d="M182.968,121.93c-4.963,0-9.475-0.541-13.081-3.092c-3.95-2.803-6.688-5.315-6.688-9.533    c0-1.978,1.278-3.257,3.257-3.257c3.057,0,3.318,5.253,7.012,7.297c3.695,2.044,5.863,2.072,9.514,2.072    c3.602,0,6.641-0.908,9.033-2.698c2.195-1.579,3.249-3.297,3.249-5.271c0-1.873-1.202-3.595-3.677-5.263    c-2.663-1.795-5.915-2.706-9.662-2.706c-4.773,0-8.957-1.469-12.436-4.368c-3.576-2.98-5.391-6.695-5.391-11.042    c0-4.365,1.814-8.091,5.391-11.07c3.479-2.9,7.662-4.37,12.436-4.37c4.771,0,8.8 [...]
+   id="path3371" />
+	</g>
+	<g
+   id="g3373">
+		<path
+   fill="#683D1F"
+   d="M356.302,99.787c-1.09-0.898-1.074-0.788-1.594-1.222c-4.65-3.874-7.009-8.752-7.009-14.497    c0-5.765,2.358-10.652,7.01-14.527c4.31-3.592,9.462-5.413,15.315-5.413c5.85,0,11.001,1.815,15.31,5.397    c4.654,3.87,7.258,6.963,7.258,12.874c0,4.605-2.478,7.745-7.083,7.745c-0.309,0-0.612-0.016-0.909-0.043    c0,0-2.813-0.243-4.489-1.916c-1.675-1.675-2.286-3.81-3.411-5.609c-1.125-1.801-4.491-2.934-6.675-2.934    c-2.197,0-3.868,0.545-5.261,1.713c-1.362,1.144-1.55,1.979-1.55,2.713c0,0.719,0. [...]
+   id="path3375" />
+		<path
+   fill="#FFFFFF"
+   d="M371.067,121.93c-4.963,0-9.475-0.541-13.08-3.092c-3.951-2.803-6.688-5.315-6.688-9.533    c0-1.978,1.279-3.257,3.258-3.257c3.056,0,3.317,5.253,7.012,7.297s5.862,2.072,9.514,2.072c3.601,0,6.64-0.908,9.032-2.698    c2.195-1.579,3.249-3.297,3.249-5.271c0-1.873-1.202-3.595-3.677-5.263c-2.662-1.795-5.914-2.706-9.662-2.706    c-4.772,0-8.957-1.469-12.435-4.368c-3.577-2.98-5.391-6.695-5.391-11.042c0-4.365,1.813-8.091,5.391-11.07    c3.479-2.9,7.662-4.37,12.435-4.37c4.771,0,8.817,1.642,12.4 [...]
+   id="path3377" />
+	</g>
+	<g
+   id="g3379">
+		<path
+   fill="#683D1F"
+   d="M218.042,126.43c-4.433,0-7.5-3.262-7.5-7.756V71.885c0-4.512,3.067-7.785,7.5-7.785s7.5,3.273,7.5,7.785    v46.789C225.542,123.168,222.475,126.43,218.042,126.43z"
+   id="path3381" />
+		<path
+   fill="#FFFFFF"
+   d="M217.542,121.93c-1.979,0-3-1.277-3-3.256V71.885c0-1.996,1.021-3.285,3-3.285s3,1.289,3,3.285v46.789    C220.542,120.652,219.521,121.93,217.542,121.93z"
+   id="path3383" />
+	</g>
+	<g
+   id="g3385">
+		<path
+   fill="#683D1F"
+   d="M246.542,81.48c0-4.494-3.566-7.757-7.998-7.757c-4.434,0-8.002,3.263-8.002,7.757v1.243    c0,4.495,3.566,7.757,8,7.757c4.432,0,8-3.262,8-7.757V81.48z"
+   id="path3387" />
+		<path
+   fill="#FFFFFF"
+   d="M241.542,81.48c0-1.979-1.021-3.257-3-3.257s-3,1.278-3,3.257v1.243c0,1.979,1.021,3.257,3,3.257    s3-1.278,3-3.257V81.48z"
+   id="path3389" />
+		<path
+   fill="#683D1F"
+   d="M246.542,118.674c0,4.494-3.566,7.756-7.998,7.756c-4.434,0-8.002-3.262-8.002-7.756V100.33    c0-4.495,3.566-7.757,8-7.757c4.432,0,8,3.262,8,7.757V118.674z"
+   id="path3391" />
+		<path
+   fill="#FFFFFF"
+   d="M241.542,118.674c0,1.979-1.021,3.256-3,3.256s-3-1.277-3-3.256V100.33c0-1.979,1.021-3.257,3-3.257    s3,1.278,3,3.257V118.674z"
+   id="path3393" />
+	</g>
+	<g
+   id="g3395">
+		<path
+   fill="#683D1F"
+   d="M284.614,126.43c-1.939,0-3.666-0.621-5.085-1.727c-2.547,1.135-5.364,1.727-8.348,1.727    c-5.83,0-10.848-2.154-14.958-6.403c-4.017-4.253-6.03-9.429-6.03-15.406c0-5.887,2.056-11.018,6.099-15.25    c4.109-4.297,9.066-6.476,14.874-6.476c1.898,0,3.376,0.231,5.376,0.691V71.885c0-4.365,3.458-7.785,8-7.785s8,3.42,8,7.785    v46.789C292.542,123.023,289.157,126.43,284.614,126.43z M271.401,98.408c-1.552,0-2.709,0.519-3.868,1.733    c-1.247,1.288-1.772,2.623-1.772,4.479c0,1.935,0.53,3.317,1.7 [...]
+   id="path3397" />
+		<path
+   fill="#FFFFFF"
+   d="M285.544,121.93c-1.979,0-3.002-1.277-3.002-3.256v-0.239c-4,2.331-6.722,3.495-10.551,3.495    c-4.619,0-8.805-1.692-12.039-5.031c-3.203-3.396-4.923-7.522-4.923-12.278c0-4.706,1.573-8.79,4.775-12.142    c3.227-3.373,7.619-5.084,12.241-5.084c3.818,0,6.496,1.177,10.496,3.5v-0.781l0,0V71.885c0-1.996,1.023-3.285,3.002-3.285    c1.977,0,2.998,1.289,2.998,3.285v18.48v1.801v24.047l0,0v2.461C288.542,120.652,287.521,121.93,285.544,121.93z M271.581,93.908    c-2.787,0-5.116,1.023-7.123,3.127c- [...]
+   id="path3399" />
+	</g>
+	<g
+   id="g3401">
+		<path
+   fill="#683D1F"
+   d="M432.542,126.43c-4.541,0-8-3.406-8-7.756v-14.226c0-1.874-0.59-3.152-1.678-4.274    c-1.215-1.274-2.341-1.766-3.866-1.766c-1.524,0-2.584,0.486-3.773,1.732c-1.181,1.22-1.683,2.421-1.683,4.028v14.505    c0,4.494-3.068,7.756-7.5,7.756s-7.5-3.262-7.5-7.756V71.885c0-4.512,3.068-7.785,7.5-7.785s7.5,3.273,7.5,7.785v11.723    c2-0.474,3.608-0.713,5.564-0.713c5.907,0,11.189,2.258,15.25,6.53c4.034,4.198,6.186,9.392,6.186,15.008v14.241    C440.542,123.023,437.085,126.43,432.542,126.43z"
+   id="path3403" />
+		<path
+   fill="#FFFFFF"
+   d="M432.542,121.93c-1.979,0-3-1.277-3-3.256v-14.226c0-2.917-1.021-5.346-3.012-7.403    c-2.016-2.113-4.35-3.137-7.136-3.137s-5.473,1.023-7.48,3.127c-1.935,2.002-3.372,4.333-3.372,7.134v14.505    c0,1.979-1.021,3.256-3,3.256s-3-1.277-3-3.256V71.885c0-1.996,1.021-3.285,3-3.285s3,1.289,3,3.285v19.061    c4-2.36,6.654-3.551,10.495-3.551c4.625,0,8.536,1.727,11.771,5.131c3.146,3.272,4.734,7.281,4.734,11.906v14.242    C435.542,120.652,434.521,121.93,432.542,121.93z"
+   id="path3405" />
+	</g>
+	<g
+   id="g3407">
+		<path
+   fill="#683D1F"
+   d="M465.033,126.43c-5.901,0-10.974-2.178-15.08-6.473c-4.03-4.219-6.073-9.378-6.073-15.337    c0-5.902,2.042-11.032,6.072-15.25c4.107-4.297,9.182-6.476,15.081-6.476c5.9,0,10.974,2.179,15.08,6.475    c4.03,4.218,6.073,9.349,6.073,15.251c0,5.959-2.042,11.118-6.072,15.336C476.007,124.252,470.934,126.43,465.033,126.43z     M465.033,98.408c-1.563,0-2.725,0.516-3.887,1.723c-1.229,1.281-1.754,2.624-1.754,4.489c0,1.925,0.525,3.294,1.757,4.576    c1.159,1.206,2.321,1.721,3.884,1.721s2.725-0.515 [...]
+   id="path3409" />
+		<path
+   fill="#FFFFFF"
+   d="M465.033,121.93c-4.625,0-8.604-1.71-11.827-5.083c-3.202-3.351-4.826-7.464-4.826-12.227    c0-4.706,1.624-8.79,4.826-12.142c3.225-3.373,7.203-5.084,11.827-5.084s8.603,1.711,11.827,5.084    c3.202,3.352,4.826,7.436,4.826,12.142c0,4.763-1.624,8.876-4.826,12.227C473.637,120.22,469.658,121.93,465.033,121.93z     M465.033,93.908c-2.79,0-5.121,1.016-7.13,3.104c-2.025,2.11-3.011,4.599-3.011,7.608c0,3.066,0.985,5.583,3.012,7.693    c2.008,2.089,4.339,3.104,7.129,3.104s5.121-1.015,7.13-3.104 [...]
+   id="path3411" />
+	</g>
+	<g
+   id="g3413">
+		<path
+   fill="#683D1F"
+   d="M497.412,126.315c-4.432,0-7.87-3.262-7.87-7.756V90.823c0-4.494,3.568-7.757,8-7.757    c4.434,0,8,3.263,8,7.757v17.976c0,0.386-0.049,0.867,0.531,1.512c0.395,0.435,0.481,0.435,0.627,0.435    c0.151,0,0.086,0,0.494-0.449c0.409-0.464,0.348-1.017,0.348-1.765V90.823c0-4.494,3.479-7.757,7.968-7.757    c4.491,0,7.862,3.263,7.862,7.757l0.109,17.41c0.019,1.191,0.389,1.74,0.723,2.117c0.359,0.395,0.546,0.395,0.672,0.395    c0.119,0,0.275,0,0.685-0.45c0.286-0.323,0.61-0.825,0.653-1.894l-0.059-1 [...]
+   id="path3415" />
+		<path
+   fill="#FFFFFF"
+   d="M497.662,121.815c-1.979,0-3.12-1.278-3.12-3.256V90.823c0-1.979,1.021-3.257,3-3.257s3,1.278,3,3.257    v17.976c0,1.799,0.816,3.279,1.941,4.526c1.172,1.29,2.552,1.92,4.092,1.92c1.562,0,2.962-0.63,4.138-1.924    c1.147-1.299,1.829-2.871,1.829-4.79V90.823c0-1.979,1.239-3.257,3.218-3.257c1.978,0,3.237,1.278,3.237,3.257l0.047,17.424    c0.031,2.062,0.625,3.736,1.826,5.09c1.162,1.278,2.48,1.908,4.021,1.908c1.521,0,2.831-0.63,4.008-1.924    c1.156-1.309,1.755-2.891,1.817-4.817l-0.06-17.674 [...]
+   id="path3417" />
+	</g>
+	<g
+   id="g3419">
+		<path
+   fill="#683D1F"
+   d="M316.985,126.373c-5.783,0-10.813-2.057-14.951-6.116c-4.129-4.208-6.203-9.255-6.203-15.037    c0-5.731,2.023-10.858,6.015-15.24c4.151-4.585,9.267-6.913,15.197-6.913c10.044,0,15.973,4.629,19.178,13.037    c0.235,0.552,0.541,2.1,0.541,4.285s-0.608,3.833-0.899,4.237c1.16,1.238,1.585,2.257,1.74,4.092    c0.375,4.397-1.772,8.557-6.382,12.359C326.949,124.592,322.161,126.373,316.985,126.373z M311.626,107.192    c0.271,0.709,0.716,1.354,1.361,1.999c1.168,1.169,2.36,1.668,3.983,1.668c1.587,0 [...]
+   id="path3421" />
+		<path
+   fill="#FFFFFF"
+   d="M317.166,121.873c-4.563,0-8.533-1.624-11.8-4.828c-3.229-3.292-4.854-7.262-4.854-11.825    c0-4.574,1.628-8.683,4.839-12.21c3.271-3.611,7.267-5.443,11.871-5.443c11.739,0,14.814,9.372,14.814,12.447    c0,2.699,0.225,2.721-2.396,2.721c-0.586,0-22.273-0.053-22.273-0.053c-0.182,0.816-0.308,1.666-0.308,2.538    c0,2.803,0.96,5.143,2.969,7.153c2.01,2.01,4.342,2.986,7.146,2.986c2.67,0,5.085-0.825,7.201-2.743    c3.311-3.003,3.461-6.512,5.645-6.512c1.838,0,3.277,0.898,3.277,2.991s-2.161,6.2 [...]
+   id="path3423" />
+		<path
+   fill="#683D1F"
+   d="M326.337,98.514c-0.899-2.999-3.75-6.059-8.479-6.059c-3.67,0-5.11,1.083-6.521,2.309    c-1.409,1.226-2.174,2.851-2.624,3.792L326.337,98.514z"
+   id="path3425" />
+	</g>
+</g>
+<g
+   id="g3968"
+   transform="matrix(0.40992003,0,0,0.40992003,-1.6249735,-1.279185)"><g
+     display="none"
+     id="レイヤー_4"
+     style="display:none"><path
+       id="path3921"
+       d="m 399.023,359.03 c 0,4.418 -3.582,8 -8,8 h -399 c -4.418,0 -8,-3.582 -8,-8 v -383 c 0,-4.418 3.582,-8 8,-8 h 399 c 4.418,0 8,3.582 8,8 v 383 z"
+       clip-rule="evenodd"
+       display="inline"
+       inkscape:connector-curvature="0"
+       style="fill:#ff3f36;fill-rule:evenodd;display:inline" /></g><g
+     id="レイヤー_3"><path
+       id="path3924"
+       d="m 191.69,18.03 c -5.636,4.312 -17.891,2.714 -25,6.333 -11.999,10.666 -21.001,19.001 -33,29.667 -6.51,6.936 -6.569,22.306 -11.831,34.891 -3,4.333 -6,8.667 -9,13 -15.586,40.654 33.791,63.745 62,74 -0.333,0.667 -0.667,1.333 -1,2 -4.333,1 -8.667,2 -13,3 0,1.333 0,2.667 0,4 6.007,1.188 10.224,2.188 12,8 -0.333,0 -0.667,0 -1,0 -5.677,-1.797 -12.806,-2.23 -19.169,-1.558 6.614,40.71 -34.286,24.702 -50.333,15 -2,1 -5.333,3.334 -7.333,4.334 -2.125,8.787 -2.325,12.722 -3.667,19.333 -1.333 [...]
+       clip-rule="evenodd"
+       inkscape:connector-curvature="0"
+       style="fill:#ffffff;fill-rule:evenodd" /><path
+       id="path3926"
+       d="m 161.357,7.03 c -7.146,7.452 -23.782,12.064 -34.667,15.333 -4.517,12.407 -6.141,29.117 -5.333,45.333 0.333,0 0.667,0 1,0 2.212,-2.063 4.548,-3.048 5.667,-6.667 5.999,-7.332 10.334,-13.668 16.333,-21 C 157.37,29.765 166.442,25.308 181.69,16.362 175.691,14.031 167.356,9.363 161.357,7.03 z"
+       clip-rule="evenodd"
+       inkscape:connector-curvature="0"
+       style="fill:#ffffff;fill-rule:evenodd" /><path
+       id="path3928"
+       d="m 270.69,28.697 c 0.177,5.398 5.743,8.727 10.333,12 4.871,10.018 11.994,2.245 15.334,11.333 -2.333,0 -3.667,-1 -6,-1 2.89,15.715 16.786,31.274 13.666,51 -3,19.664 -6,39.336 -9,59 1.14,12.688 6.02,21.966 6,39 0,13.332 0,26.668 0,40 2.572,7.084 31.628,38.421 42,40 1.333,-1 2.667,-2 4,-3 5.666,-16.332 11.334,-32.668 17,-49 16.639,-36.516 -15.649,-121.726 -25,-145.333 -11.36,-28.68 -0.138,-36.668 -30.333,-48 -8.479,-3.181 -18.333,-10 -38,-6 z"
+       clip-rule="evenodd"
+       inkscape:connector-curvature="0"
+       style="fill:#ffffff;fill-rule:evenodd" /><path
+       id="path3930"
+       d="m 114.023,144.03 c -1.674,8.578 -6.374,28.475 -2.667,36.334 0.333,0 0.667,0 1,0 14.166,-4.117 24.771,3.354 39.333,5.333 2.666,-2 10.667,-7.667 13.333,-9.667 0,-0.333 0,-0.667 0,-1 -22.159,-3.867 -35.418,-20.66 -50.999,-31 z"
+       clip-rule="evenodd"
+       inkscape:connector-curvature="0"
+       style="fill:#dad3d0;fill-rule:evenodd" /><path
+       id="path3932"
+       d="m 127.273,179.78 c -12,1.75 -23,6.5 -23.25,17.25 1.75,17.75 31.25,19 35,18 3.75,-1 14,-6.5 12,-19 -3.25,-10 -12.946,-13.662 -23.75,-16.25 z"
+       clip-rule="evenodd"
+       inkscape:connector-curvature="0"
+       style="fill:#ffffff;fill-rule:evenodd" /><path
+       id="path3934"
+       d="m 167.357,215.364 c -2.564,5.95 -14.667,6.333 -10.333,25.666 4.999,9.999 7,21.335 12,31.334 -1.419,11.515 9.263,29.716 15,37 18.839,-0.025 14.46,-5.432 18.667,-17.667 0.333,0 -1.333,-6.667 -1,-6.667 1.333,7.333 1,10.334 2.333,17.667 14.022,0.247 20.585,2.477 28.667,0.667 2.948,-10.054 14.157,-14.093 17.333,-24.667 -29.447,-18.622 -27,-71.667 -69,-62.333 0,1 1.333,5 1.333,6 4.684,8.422 17.775,28.62 13.667,38.666 -0.667,-2 0,-7 -0.667,-9 -6.165,-4.733 -6.669,-25.415 -17,-32.333 - [...]
+       clip-rule="evenodd"
+       inkscape:connector-curvature="0"
+       style="fill:#ffffff;fill-rule:evenodd" /><path
+       id="path3936"
+       d="m 257.69,226.697 c -2.023,15.851 18.815,24.88 16,44.333 -11.667,4.667 -23.334,2.667 -33.334,33.667 1,0.333 5,3.334 6,3.667 37.333,14.667 57,-67.334 27.667,-76.334 -4.666,-1.333 -11.667,-4 -16.333,-5.333 z"
+       clip-rule="evenodd"
+       inkscape:connector-curvature="0"
+       style="fill:#ffffff;fill-rule:evenodd" /></g><g
+     id="レイヤー_7"><path
+       id="path3939"
+       d="m 170.023,9.03 c -4,-0.667 -16.667,16.667 -18.667,26.667 12.667,-5.333 19.333,-12 19.333,-12 l 18,-6.667 -18.666,-8 z"
+       clip-rule="evenodd"
+       inkscape:connector-curvature="0"
+       style="fill:#dad3d0;fill-rule:evenodd" /><path
+       id="path3941"
+       d="m 289.357,51.697 c 0,0 17.333,2 12,8.667 -5.333,6.667 -10.667,-2 -10.667,-2 l -1.333,-6.667 z"
+       clip-rule="evenodd"
+       inkscape:connector-curvature="0"
+       style="fill:#dad3d0;fill-rule:evenodd" /><path
+       id="path3943"
+       d="m 296.023,77.03 c -4,15.333 -13.333,59.333 -28.666,74 -13.29,12.713 -42,37.333 -112,18.667 4,2.666 12,6 12,6 l -18.667,14.666 c 0,0 14.833,-2.833 21,7 5.896,9.4 10.667,6.667 12.667,2.667 2,-4 -2,-10 -2,-10 0,0 41.397,0.562 47.667,7.667 10,11.333 13.334,0 13.334,0 l -8.667,-14.667 26,-5.333 32,-16.667 10,-44.667 -4.668,-39.333 z"
+       clip-rule="evenodd"
+       inkscape:connector-curvature="0"
+       style="fill:#dad3d0;fill-rule:evenodd" /><path
+       id="path3945"
+       d="m 302.023,102.53 c 1.333,-4.667 4,7 4,9 0,2 -0.666,49.499 0.667,52.833 1.333,3.334 12.667,56 14.667,60.667 2,4.667 19.333,35.999 21.333,37.333 2,1.334 6.001,12 4.667,18.667 -1.334,6.667 -8,3.333 -8,3.333 l -33.334,-28 -7.333,-26.666 -2.667,-40 -2.666,-32 5.333,-34.667 3.333,-20.5 z"
+       clip-rule="evenodd"
+       inkscape:connector-curvature="0"
+       style="fill:#dad3d0;fill-rule:evenodd" /><path
+       id="path3947"
+       d="m 212.273,218.28 c 3,-1.5 6.625,1.875 7.625,3.375 1,1.5 8.815,27.269 34.125,43.375 5.5,3.5 12.969,-3.969 14.469,-5.469 1.5,-1.5 4.516,5.484 5.016,8.484 0.5,3 13.008,1.992 14.008,4.992 1,3 -9.996,23.246 -9.996,23.246 l -12.496,11.746 h -19 l -10.5,-2.5 -31,2 -25.5,0.5 -27,-1 -41,-11 -25,5 h -29 l -13,4.5 -10.5,-1 -6,-24 -8.75,-23 -10.75,-25.5 2.5,-18 c 0,0 3.5,2.5 5,5 9,15 19.252,48.938 23.375,51 4,2 5.563,-24.5 4.063,-21.5 -1.5,3 4.582,-6.893 6.531,-5.5 3.5,2.5 6.516,-15 6.516, [...]
+       clip-rule="evenodd"
+       inkscape:connector-curvature="0"
+       style="fill:#dad3d0;fill-rule:evenodd" /><path
+       id="path3949"
+       d="m 148.69,190.363 c -2.167,1.167 -7.667,4.667 -9.167,7.167 -1.5,2.5 -6,7 -7.5,7.5 -1.5,0.5 -14.5,2.5 -17,7.5 12,5 29.5,3 29.5,3 l 7,-7.5 1.5,-11 -4.333,-6.667 z"
+       clip-rule="evenodd"
+       inkscape:connector-curvature="0"
+       style="fill:#dad3d0;fill-rule:evenodd" /><path
+       id="path3951"
+       d="m 179.523,219.53 c 0,0 5.5,-4 7.5,-3.5 2,0.5 13,18 6,22.5 -5.5,-6.5 -13.5,-19 -13.5,-19 z"
+       clip-rule="evenodd"
+       inkscape:connector-curvature="0"
+       style="fill:#dad3d0;fill-rule:evenodd" /></g><g
+     id="レイヤー_5"><g
+       id="g3954"><defs
+         id="defs3956"><filter
+           height="37.859001"
+           width="34.84"
+           y="60.094002"
+           x="118.894"
+           filterUnits="userSpaceOnUse"
+           id="filter4087"
+           color-interpolation-filters="sRGB"><feFlood
+             id="feFlood4089"
+             result="back" /><feBlend
+             id="feBlend4091"
+             mode="normal"
+             in2="back"
+             in="SourceGraphic" /></filter></defs><mask
+         id="mask4093"
+         height="37.859"
+         width="34.84"
+         y="60.094"
+         x="118.894"
+         maskUnits="userSpaceOnUse"><g
+           style="filter:url(#Adobe_OpacityMaskFilter-1)"
+           id="g4095"><image
+             id="image4097"
+             transform="translate(116.0234,58.0303)"
+             xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA EAMCAwYAAAGlAAAB+QAAAj//2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIACoAKAMBIgACEQEDEQH/ xAB5AAADAAMBAQAAAAAAAAAAAAAABQYBAwQCBwEBAAAAAAAAAAAAAAAAAAAAABAAAgMBAAIDAAAA AAAAAAAAAQIDBAUSMBEAIBMRAAIDAAEEAwAAAAAAAAAAAAABESExURAgQQI [...]
+             height="42"
+             width="40"
+             overflow="visible"
+             style="overflow:visible" /></g></mask><g
+         id="g3997"
+         mask="url(#SVGID_1_-7)"><defs
+           id="defs3970"><filter
+             height="37.859001"
+             width="34.84"
+             y="60.094002"
+             x="118.894"
+             filterUnits="userSpaceOnUse"
+             id="Adobe_OpacityMaskFilter_1_-4"
+             color-interpolation-filters="sRGB"><feFlood
+               id="feFlood3973"
+               result="back" /><feBlend
+               id="feBlend3975"
+               mode="normal"
+               in2="back"
+               in="SourceGraphic" /></filter></defs><mask
+           id="mask3977"
+           height="37.859"
+           width="34.84"
+           y="60.094"
+           x="118.894"
+           maskUnits="userSpaceOnUse"><g
+             style="filter:url(#Adobe_OpacityMaskFilter_1_-4)"
+             id="g3979"><image
+               id="image3981"
+               transform="translate(116.0234,58.0303)"
+               xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA EAMCAwYAAAGoAAACAgAAAlj/2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIACoAKAMBIgACEQEDEQH/ xAB6AAACAwEBAQAAAAAAAAAAAAAABgQFBwECAwEBAAAAAAAAAAAAAAAAAAAAABAAAgMAAgMBAAAA AAAAAAAAAQIDBAUSBgAwEyARAAICAgEEAwAAAAAAAAAAAAABEQIhMVEgQ [...]
+               height="42"
+               width="40"
+               overflow="visible"
+               style="overflow:visible" /></g></mask><g
+           id="g3983"><path
+             id="path3985"
+             d="m 152.824,83.927 c -3.382,10.597 -10.007,15.996 -22.682,13.369 -12.675,-2.627 -12.297,-11.514 -9.99,-21.872 2.307,-10.358 12.245,-16.445 20.892,-15.16 8.647,1.285 15.161,13.066 11.78,23.663 z"
+             clip-rule="evenodd"
+             inkscape:connector-curvature="0"
+             style="fill:#ff7676;fill-rule:evenodd" /></g></g></g><g
+       id="g3987"><defs
+         id="defs3989"><filter
+           height="38.365002"
+           width="38.838001"
+           y="81.705002"
+           x="238.931"
+           filterUnits="userSpaceOnUse"
+           id="filter4111"
+           color-interpolation-filters="sRGB"><feFlood
+             id="feFlood4113"
+             result="back" /><feBlend
+             id="feBlend4115"
+             mode="normal"
+             in2="back"
+             in="SourceGraphic" /></filter></defs><mask
+         id="mask4117"
+         height="38.365"
+         width="38.838"
+         y="81.705"
+         x="238.931"
+         maskUnits="userSpaceOnUse"><g
+           style="filter:url(#Adobe_OpacityMaskFilter_2_-0)"
+           id="g4119"><image
+             id="image4121"
+             transform="translate(236.0234,79.0303)"
+             xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA EAMCAwYAAAGqAAACCAAAAlf/2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIACwALAMBIgACEQEDEQH/ xAB6AAABBAMAAAAAAAAAAAAAAAAGAAQFBwECAwEBAAAAAAAAAAAAAAAAAAAAABAAAQUAAgMBAAAA AAAAAAAAAQISAwQFABAwERMjEQACAgICAgMAAAAAAAAAAAAAAREhMQIQQSA [...]
+             height="44"
+             width="44"
+             overflow="visible"
+             style="overflow:visible" /></g></mask><g
+         id="g4001"
+         mask="url(#SVGID_2_-9)"><defs
+           id="defs4003"><filter
+             height="38.365002"
+             width="38.838001"
+             y="81.705002"
+             x="238.931"
+             filterUnits="userSpaceOnUse"
+             id="Adobe_OpacityMaskFilter_3_-4"
+             color-interpolation-filters="sRGB"><feFlood
+               id="feFlood4006"
+               result="back" /><feBlend
+               id="feBlend4008"
+               mode="normal"
+               in2="back"
+               in="SourceGraphic" /></filter></defs><mask
+           id="mask4010"
+           height="38.365"
+           width="38.838"
+           y="81.705"
+           x="238.931"
+           maskUnits="userSpaceOnUse"><g
+             style="filter:url(#Adobe_OpacityMaskFilter_3_-4)"
+             id="g4012"><image
+               id="image4014"
+               transform="translate(236.0234,79.0303)"
+               xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA EAMCAwYAAAGsAAACEgAAAnT/2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIACwALAMBIgACEQEDEQH/ xAB/AAACAwADAAAAAAAAAAAAAAAFBgADBwECBAEBAAAAAAAAAAAAAAAAAAAAABAAAQMEAgMBAAAA AAAAAAAAAgEEBQASAwYQMBETFCMRAAIBAgUFAQAAAAAAAAAAAAABESECE [...]
+               height="44"
+               width="44"
+               overflow="visible"
+               style="overflow:visible" /></g></mask><g
+           id="g4016"><path
+             id="path4018"
+             d="m 276.282,97.527 c -4.699,-11.761 -13.124,-16.098 -22.967,-15.808 -10.142,0.298 -16.703,11.931 -13.617,24.248 2.312,9.23 12.203,15.899 23.251,13.672 11.047,-2.228 18.032,-10.351 13.333,-22.112 z"
+             clip-rule="evenodd"
+             inkscape:connector-curvature="0"
+             style="fill:#ff7676;fill-rule:evenodd" /></g></g></g></g><g
+     id="レイヤー_1-8"><g
+       id="g4021"><g
+         id="g4023"><path
+           id="path4025"
+           d="m 350.023,101.03 c -4.392,-12.871 -14.997,-54.879 -23,-61 -9.724,-7.437 -34.417,-17.235 -49,-17 -5.999,1.333 -12.001,2.667 -18,4 -8.666,-2.667 -17.334,-5.333 -26,-8 -15.998,-1.667 -32.002,-3.333 -48,-5 -9.108,-2.602 -20.5,-11.5 -26,-9 -0.948,0.189 -5.436,3.337 -11.5,5.75 -9.934,3.952 -23.103,8.008 -24.5,9.25 -2.25,2 -12.731,32.334 -10,50 1,4.333 2,8.667 3,13 -2.049,10.163 -10.908,20.762 -13,35 -1.186,8.068 2.5,22 4.5,25.25 -0.75,6.5 -0.909,33.138 -1.5,38.75 -3,1.5 -10.75,10 [...]
+           clip-rule="evenodd"
+           inkscape:connector-curvature="0"
+           style="fill:#683d1f;fill-rule:evenodd" /></g></g></g><g
+     id="レイヤー_6"><polyline
+       id="polyline4028"
+       points="179.69,74.697 170.357,90.03 181.69,94.697    194.356,97.364 191.69,86.697 179.69,74.697  "
+       clip-rule="evenodd"
+       style="fill:#ffb9b9;fill-rule:evenodd" /></g><g
+     id="レイヤー_2"><g
+       id="g4031"><g
+         id="g4033"><path
+           id="path4035"
+           d="m 166.69,56.697 c -1.083,-1.583 -10.001,-0.267 -15,-0.6 -4.333,1 -7.667,2.6 -12,3.6 -0.333,1.666 -1.066,1.533 -1.4,3.2 0.667,0.999 1.733,1.601 2.4,2.6 13.833,-5.216 21.333,-2.716 23.2,-3.399 1.867,-0.683 3.883,-3.818 2.8,-5.401 z m 108.333,30.666 c -0.75,-1.167 -40,-21.583 -41.333,-20.666 -1.333,0.917 0,4.334 0,6 10.331,2.756 27.694,12.014 38.333,20.666 0.334,0 2.5,0.917 3.334,0 0.834,-0.917 0.416,-4.833 -0.334,-6 z m -93.333,-14.666 -3,1 c -5,6 -9.9,12.363 -14.9,18.362 0,1 [...]
+           clip-rule="evenodd"
+           inkscape:connector-curvature="0"
+           style="fill:#683d1f;fill-rule:evenodd" /></g></g></g><path
+     inkscape:connector-curvature="0"
+     id="path4043"
+     d="m 253.10613,90.223876 c 5.37427,-0.866834 12.09213,-2.600505 15.22711,-0.433417 3.135,2.167089 11.19642,5.634426 10.74856,9.968612 -0.44786,4.334169 0.44786,15.169619 -4.92642,18.203539 -5.37428,3.03393 -16.57068,5.63444 -19.70568,1.73368 -3.13499,-3.90076 -7.61356,-6.06787 -8.06142,-12.13571 -0.44785,-6.06784 1.34358,-14.30278 6.71785,-17.336704 z"
+     style="fill:#ff7676;fill-opacity:1;stroke:none;filter:url(#filter5362)" /><path
+     inkscape:connector-curvature="0"
+     id="path4043-1"
+     d="m 131.0252,65.56903 c 4.18352,-0.648293 9.41295,-1.94488 11.85333,-0.324147 2.44039,1.620734 8.71569,4.213907 8.36706,7.455377 -0.34863,3.241462 0.34863,11.345135 -3.8349,13.614159 -4.18353,2.269032 -12.89921,4.213916 -15.33961,1.296594 -2.44039,-2.917321 -5.92667,-4.538071 -6.2753,-9.076118 -0.34862,-4.538049 1.04589,-10.69684 5.22942,-12.965865 z"
+     style="fill:#ff7777;fill-opacity:1;stroke:none;filter:url(#filter5366)" /></g></svg>
\ No newline at end of file
diff --git a/sample/rabbit.hiki b/sample/rabbit.hiki
index c406fd6..1a37d34 100644
--- a/sample/rabbit.hiki
+++ b/sample/rabbit.hiki
@@ -181,10 +181,10 @@
 
 URL先の画像をダウンロード
 
-{{image("http://www.cozmixng.org/repos/images/cozmixchu.png",
+{{image("https://raw.githubusercontent.com/rabbit-shocker/rabbit/master/data/rabbit/image/cozmixng-images/cozmixchu.png",
         :caption => "こずみっくちゅー")}}
 
-// [[こずみっくちゅー|http://www.cozmixng.org/repos/images/cozmixchu.png]]
+// [[こずみっくちゅー|https://raw.githubusercontent.com/rabbit-shocker/rabbit/master/data/rabbit/image/cozmixng-images/cozmixchu.png]]
 // ↑の書式はまだ使えない
 
 ! 数式
@@ -257,7 +257,7 @@ N   O   P   Q   R   S   T   U   V   W   X   Y   Z
 
 {{blockdiag("
 {
-  fontsize = 25;
+  default_fontsize = 25;
   RD -> Rabbit;
   Hiki -> Rabbit;
   PDF -> Rabbit;
diff --git a/sample/rabbit.md b/sample/rabbit.md
index e0988b9..59b3bc3 100644
--- a/sample/rabbit.md
+++ b/sample/rabbit.md
@@ -20,11 +20,11 @@ theme
 * 動作: PC-UNIX/Win/Mac
 * 書式:
   Wiki/RD/Markdown/PDF
-* 見た目: Ruby
+* 見た目: Ruby{::note}(ソースと分離){:/note}
 
 # 機能: 表示(1)
 
-* *強調*
+* *強調*・~~削除~~
 * ソースの色付け
 
 # 機能: 表示(2)
@@ -53,7 +53,8 @@ theme
 
 * 一覧ページ
 * 落書き
-* 国際化
+* {::wait/}ポーズ
+* {::wait/}国際化
 * スライド内検索
 
 # 機能: UI(3)
@@ -102,6 +103,16 @@ theme
 * テーマの再読み込み
 * テーマの切り替え
 
+# 機能: タグ
+
+{::tag name="x-large"}大きなテキスト{:/tag}
+
+{:.center}
+中央寄せされたテキスト
+
+{:.right}
+右寄せされたテキスト
+
 # ToDo
 
 * インラインでの画像表示
@@ -157,11 +168,11 @@ background-image-relative-margin-right
 
 URL先の画像をダウンロード
 
-![](http://www.cozmixng.org/repos/images/cozmixchu.png "こずみっくちゅー")
+![](https://raw.githubusercontent.com/rabbit-shocker/rabbit/master/data/rabbit/image/cozmixng-images/cozmixchu.png "こずみっくちゅー")
 
 # 数式
 
-* 書式: TeX
+* 書式: TeX{::note}(っぽい){:/note}
 * バックエンド
   * LaTeX
 
@@ -191,6 +202,24 @@ $$
 
 ![](rabbit.xcf){:relative_height="100"}
 
+# blockdiag
+
+```blockdiag
+{
+  default_fontsize = 25;
+  RD -> Rabbit;
+  Hiki -> Rabbit;
+  PDF -> Rabbit;
+  group {
+    Rabbit -> 画面;
+  }
+}
+```
+{:
+  relative_width="90"
+  fonts="/usr/share/fonts/opentype/ipafont/ipag.ttf, /usr/share/fonts/truetype/vlgothic/VL-Gothic-Regular.ttf"
+}
+
 # 折り返し
 
 なーーーーーーーーーーーーーーーーーーーーーーーーーーーーーがーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーい行は?
@@ -225,12 +254,12 @@ $$
 
 # 箇条書き
 
-* レベル1-1
-  * レベル2-1
-    * レベル3-1
-    * レベル3-2
-  * レベル2-2
-* レベル1-2
+1. レベル1-1
+   1. レベル2-1
+      1. レベル3-1
+      2. レベル3-2
+   2. レベル2-2
+2. レベル1-2
 
 # ラベル付きリスト
 
diff --git a/sample/rabbit.rd b/sample/rabbit.rd
index 1d7c455..bc9948e 100644
--- a/sample/rabbit.rd
+++ b/sample/rabbit.rd
@@ -193,7 +193,7 @@
 URL先の画像をダウンロード
 
   # image
-  # src = http://www.cozmixng.org/repos/images/cozmixchu.png
+  # src = https://raw.githubusercontent.com/rabbit-shocker/rabbit/master/data/rabbit/image/cozmixng-images/cozmixchu.png
   # caption = こずみっくちゅー
 
 = 数式
@@ -273,7 +273,7 @@ URL先の画像をダウンロード
 #  # antialias = true
   # fonts = /usr/share/fonts/opentype/ipafont/ipag.ttf, /usr/share/fonts/truetype/vlgothic/VL-Gothic-Regular.ttf
   {
-    fontsize = 25;
+    default_fontsize = 25;
     RD -> Rabbit;
     Hiki -> Rabbit;
     PDF -> Rabbit;
diff --git a/test/image/test-dia.rb b/test/image/test-dia.rb
index 53b03cd..183528a 100644
--- a/test/image/test-dia.rb
+++ b/test/image/test-dia.rb
@@ -1,4 +1,4 @@
-# Copyright (C) 2012  Kouhei Sutou <kou at cozmixng.org>
+# Copyright (C) 2012-2015  Kouhei Sutou <kou at cozmixng.org>
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -17,7 +17,7 @@
 require "rabbit/image/dia"
 
 class TestImageDia < Test::Unit::TestCase
-  include RabbitTestUtils
+  include RabbitTestUtils::Fixture
 
   private
   def fixture_path(base_name)
diff --git a/test/image/test-eps.rb b/test/image/test-eps.rb
index 9763843..1abe551 100644
--- a/test/image/test-eps.rb
+++ b/test/image/test-eps.rb
@@ -1,4 +1,4 @@
-# Copyright (C) 2012  Kouhei Sutou <kou at cozmixng.org>
+# Copyright (C) 2012-2015  Kouhei Sutou <kou at cozmixng.org>
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -17,7 +17,7 @@
 require "rabbit/image/eps"
 
 class TestImageEPS < Test::Unit::TestCase
-  include RabbitTestUtils
+  include RabbitTestUtils::Fixture
 
   private
   def fixture_path(base_name)
diff --git a/test/parser/test-markdown.rb b/test/parser/test-markdown.rb
new file mode 100644
index 0000000..5e1d010
--- /dev/null
+++ b/test/parser/test-markdown.rb
@@ -0,0 +1,409 @@
+# Copyright (C) 2014-2016  Kouhei Sutou <kou at cozmixng.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+require "rabbit-test-utils"
+
+require "rabbit/logger"
+require "rabbit/slide"
+require "rabbit/source/memory"
+require "rabbit/parser/markdown"
+
+class RabbitParserMarkdownTest < Test::Unit::TestCase
+  include RabbitTestUtils::Fixture
+  include RabbitTestUtils::Parser
+
+  private
+  def parse(markdown)
+    super(Rabbit::Parser::Markdown, markdown)
+  end
+
+  class TitlePageTest < self
+    def parse(markdown)
+      inspect_canvas(super(markdown))
+    end
+
+    def test_title
+      assert_equal([
+                     [
+                       "TitleSlide", [
+                         "Title", [
+                           "Text",
+                           "Title",
+                         ],
+                       ],
+                     ],
+                   ],
+                   parse("# Title"))
+    end
+  end
+
+  class BodyTest < self
+    def parse(markdown)
+      full_markdown = <<-MARKDOWN
+\# Title
+
+\# Page
+
+#{markdown}
+      MARKDOWN
+      inspect_element(super(full_markdown)[1].body)
+    end
+
+    class TextEscapeTest < self
+      def test_html_tag
+        assert_equal([
+                       "Body", [
+                         "Paragraph", [
+                           "Code", [
+                             "Text",
+                             "<pre>",
+                           ],
+                         ],
+                       ],
+                     ],
+                     parse("`<pre>`"))
+      end
+    end
+
+    class WaitTest < self
+      def test_in_list_item
+        assert_equal([
+                       "Body", [
+                         "ItemList", [
+                           "ItemListItem", [
+                             "Paragraph",
+                             ["Text", "Hello"],
+                             ["WaitTag", ""],
+                             ["Text", " World"],
+                           ],
+                         ],
+                       ],
+                     ],
+                     parse("* Hello{::wait/} World"))
+      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([
+                       "Body", [
+                         "SyntaxHighlightingBlock", [
+                           "TextContainer",
+                           [
+                             "CustomTag",
+                           ],
+                           [
+                             "CustomTag", [
+                               "SyntaxHighlightingText", ["Text", "\""],
+                             ],
+                           ],
+                           [
+                             "CustomTag", [
+                               "SyntaxHighlightingText", ["Text", "Hello World"],
+                             ],
+                           ],
+                           [
+                             "CustomTag", [
+                               "SyntaxHighlightingText", ["Text", "\""],
+                             ],
+                           ],
+                         ],
+                       ],
+                     ],
+                     parse(<<-MARKDOWN))
+    "Hello World"
+{: lang="ruby"}
+                           MARKDOWN
+      end
+
+      def test_indent_language
+        assert_equal([
+                       "Body", [
+                         "SyntaxHighlightingBlock", [
+                           "TextContainer",
+                           [
+                             "CustomTag",
+                           ],
+                           [
+                             "CustomTag", [
+                               "SyntaxHighlightingText", ["Text", "\""],
+                             ],
+                           ],
+                           [
+                             "CustomTag", [
+                               "SyntaxHighlightingText", ["Text", "Hello World"],
+                             ],
+                           ],
+                           [
+                             "CustomTag", [
+                               "SyntaxHighlightingText", ["Text", "\""],
+                             ],
+                           ],
+                         ],
+                       ],
+                     ],
+                     parse(<<-MARKDOWN))
+    "Hello World"
+{: language="ruby"}
+                           MARKDOWN
+      end
+
+      def test_fence_kramdown
+        assert_equal([
+                       "Body", [
+                         "SyntaxHighlightingBlock", [
+                           "TextContainer",
+                           [
+                             "CustomTag",
+                           ],
+                           [
+                             "CustomTag", [
+                               "SyntaxHighlightingText", ["Text", "\""],
+                             ],
+                           ],
+                           [
+                             "CustomTag", [
+                               "SyntaxHighlightingText", ["Text", "Hello World"],
+                             ],
+                           ],
+                           [
+                             "CustomTag", [
+                               "SyntaxHighlightingText", ["Text", "\""],
+                             ],
+                           ],
+                         ],
+                       ],
+                     ],
+                     parse(<<-MARKDOWN))
+~~~ruby
+"Hello World"
+~~~
+                           MARKDOWN
+      end
+
+      def test_fence_gfm
+        assert_equal([
+                       "Body", [
+                         "SyntaxHighlightingBlock", [
+                           "TextContainer",
+                           [
+                             "CustomTag",
+                           ],
+                           [
+                             "CustomTag", [
+                               "SyntaxHighlightingText", ["Text", "\""],
+                             ],
+                           ],
+                           [
+                             "CustomTag", [
+                               "SyntaxHighlightingText", ["Text", "Hello World"],
+                             ],
+                           ],
+                           [
+                             "CustomTag", [
+                               "SyntaxHighlightingText", ["Text", "\""],
+                             ],
+                           ],
+                         ],
+                       ],
+                     ],
+                     parse(<<-MARKDOWN))
+```ruby
+"Hello World"
+```
+                           MARKDOWN
+      end
+    end
+
+    class BlockDiagTest < self
+      def test_codeblock_fence
+        assert_equal([
+                       "Body", [
+                         "Image",
+                         ""
+                       ],
+                     ],
+                     parse(<<-MARKDOWN))
+```blockdiag
+{
+  A -> B -> C;
+}
+```
+                           MARKDOWN
+      end
+    end
+
+    class ListTest < self
+      class UnorderedListTest < self
+        class NesetedTest < self
+          def test_no_new_line_after_first_line
+            assert_equal([
+                           "Body", [
+                             "ItemList", [
+                               "ItemListItem", [
+                                 "Paragraph", ["Text", "First"],
+                               ], [
+                                 "ItemList", [
+                                   "ItemListItem", [
+                                     "Paragraph", ["Text", "Second"],
+                                   ],
+                                 ],
+                               ],
+                             ],
+                           ],
+                         ],
+                         parse(<<-MARKDOWN))
+* First
+  * Second
+                         MARKDOWN
+          end
+
+          def test_have_new_line_after_first_line
+            assert_equal([
+                           "Body", [
+                             "ItemList", [
+                               "ItemListItem", [
+                                 "Paragraph", ["Text", "First"],
+                               ], [
+                                 "ItemList", [
+                                   "ItemListItem", [
+                                     "Paragraph", ["Text", "Second"],
+                                   ],
+                                 ],
+                               ],
+                             ],
+                           ],
+                         ],
+                         parse(<<-MARKDOWN))
+* First
+
+  * Second
+                         MARKDOWN
+          end
+        end
+      end
+    end
+
+    class ImageTest < self
+      class InlineTest < self
+        include Rabbit::GetText
+
+        def test_unsupported
+          image_path = fixture_path("image/png/lavie.png")
+          message = _("multiple ![alt]{image} in a paragraph isn't supported.")
+          assert_raise(Rabbit::ParseError.new(message)) do
+            parse(<<-MARKDOWN)
+a ![](#{image_path})
+            MARKDOWN
+          end
+        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
+
+    class TagTest < self
+      include Rabbit::GetText
+
+      def test_no_name
+        message = _("tag name is missing.")
+        assert_raise(Rabbit::ParseError.new(message)) do
+          parse(<<-MARKDOWN)
+{::tag}content{:/tag}
+          MARKDOWN
+        end
+      end
+
+      def test_inline
+        assert_equal([
+                       "Body", [
+                         "Paragraph", [
+                           "CustomTag", [
+                             "Text",
+                             "Hello",
+                           ],
+                         ],
+                       ],
+                     ],
+                     parse(<<-MARKDOWN))
+{::tag name="x-large"}Hello{:/tag}
+        MARKDOWN
+      end
+
+      def test_paragraph
+        assert_equal([
+                       "Body", [
+                         "Paragraph", [
+                           "CustomTag", [
+                             "Text",
+                             "Hello",
+                           ],
+                         ],
+                       ],
+                     ],
+                     parse(<<-MARKDOWN))
+{:.x-large}
+Hello
+        MARKDOWN
+      end
+    end
+  end
+end
diff --git a/test/image/test-eps.rb b/test/parser/test-rd.rb
similarity index 54%
copy from test/image/test-eps.rb
copy to test/parser/test-rd.rb
index 9763843..ee2f3ae 100644
--- a/test/image/test-eps.rb
+++ b/test/parser/test-rd.rb
@@ -1,4 +1,4 @@
-# Copyright (C) 2012  Kouhei Sutou <kou at cozmixng.org>
+# Copyright (C) 2014  Kouhei Sutou <kou at cozmixng.org>
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -14,28 +14,32 @@
 # with this program; if not, write to the Free Software Foundation, Inc.,
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-require "rabbit/image/eps"
+require "rabbit-test-utils"
 
-class TestImageEPS < Test::Unit::TestCase
-  include RabbitTestUtils
+require "rabbit/slide"
+require "rabbit/source/memory"
+require "rabbit/parser/rd"
 
-  private
-  def fixture_path(base_name)
-    super("image", "eps", base_name)
-  end
-
-  class TestMatch < self
-    private
-    def match?(base_name)
-      Rabbit::ImageManipulable::EPS.match?(fixture_path(base_name))
+class RabbitParserRDTest < Test::Unit::TestCase
+  class MatchTest < self
+    def match?(source)
+      Rabbit::Parser::RD.match?(source)
     end
 
-    def test_have_extension
-      assert_true(match?("rabbit.eps"))
-    end
+    class ContentTest < self
+      def match?(content)
+        source = Rabbit::Source::Memory.new("UTF-8", nil)
+        source.source = content
+        super(source)
+      end
+
+      def test_with_space
+        assert_true(match?("= Hello"))
+      end
 
-    def test_no_extension
-      assert_true(match?("rabbit"))
+      def test_no_space
+        assert_true(match?("=Hello"))
+      end
     end
   end
 end
diff --git a/test/parser/test-wiki.rb b/test/parser/test-wiki.rb
new file mode 100644
index 0000000..e28ccb2
--- /dev/null
+++ b/test/parser/test-wiki.rb
@@ -0,0 +1,73 @@
+# Copyright (C) 2015  Kouhei Sutou <kou at cozmixng.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+require "rabbit-test-utils"
+
+require "rabbit/logger"
+require "rabbit/slide"
+require "rabbit/source/memory"
+require "rabbit/parser/wiki"
+
+class RabbitParserWikiTest < Test::Unit::TestCase
+  include RabbitTestUtils::Fixture
+  include RabbitTestUtils::Parser
+
+  private
+  def parse(wiki_text)
+    super(Rabbit::Parser::Wiki, wiki_text)
+  end
+
+  class ImageTest < self
+    include Rabbit::GetText
+
+    class InlineTest < self
+      test "unsupported" do
+        image_path = fixture_path("image/png/lavie.png")
+        wiki_text = <<-WIKI
+! Title
+
+! Slide
+
+a {{image(#{image_path.dump})}}
+        WIKI
+        message = _("inline {{image(...)}} isn't supported.")
+        assert_raise(Rabbit::ParseError.new(message)) do
+          parse(wiki_text)
+        end
+      end
+    end
+
+    class BlockTest < self
+      test ":align => :right: twice" do
+        image_path = fixture_path("image/png/lavie.png")
+        wiki_text = <<-WIKI
+! Title
+
+! Slide
+
+{{image(#{image_path.dump}, {:align => :right})}}
+
+{{image(#{image_path.dump}, :align => :right)}}
+        WIKI
+
+        message = _("multiple {{image(..., :align => :right)}} isn't supported.")
+        assert_raise(Rabbit::ParseError.new(message)) do
+          parse(wiki_text)
+        end
+      end
+    end
+  end
+end
diff --git a/test/rabbit-test-utils.rb b/test/rabbit-test-utils.rb
index 86ad5e9..a5e2968 100644
--- a/test/rabbit-test-utils.rb
+++ b/test/rabbit-test-utils.rb
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2012  Kouhei Sutou <kou at cozmixng.org>
+# Copyright (C) 2004-2015  Kouhei Sutou <kou at cozmixng.org>
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -18,9 +18,5 @@ require "test-unit"
 require "test/unit/notify"
 require "test/unit/rr"
 
-module RabbitTestUtils
-  private
-  def fixture_path(*components)
-    File.join(File.dirname(__FILE__), "fixtures", *components)
-  end
-end
+require "rabbit-test-utils/fixture"
+require "rabbit-test-utils/parser"
diff --git a/test/rabbit-test-utils.rb b/test/rabbit-test-utils/fixture.rb
similarity index 75%
copy from test/rabbit-test-utils.rb
copy to test/rabbit-test-utils/fixture.rb
index 86ad5e9..e868e1e 100644
--- a/test/rabbit-test-utils.rb
+++ b/test/rabbit-test-utils/fixture.rb
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2012  Kouhei Sutou <kou at cozmixng.org>
+# Copyright (C) 2012-2015  Kouhei Sutou <kou at cozmixng.org>
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -14,13 +14,11 @@
 # with this program; if not, write to the Free Software Foundation, Inc.,
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-require "test-unit"
-require "test/unit/notify"
-require "test/unit/rr"
-
 module RabbitTestUtils
-  private
-  def fixture_path(*components)
-    File.join(File.dirname(__FILE__), "fixtures", *components)
+  module Fixture
+    private
+    def fixture_path(*components)
+      File.join(File.dirname(__FILE__), "..", "fixtures", *components)
+    end
   end
 end
diff --git a/test/image/test-dia.rb b/test/rabbit-test-utils/parser.rb
similarity index 50%
copy from test/image/test-dia.rb
copy to test/rabbit-test-utils/parser.rb
index 53b03cd..ba4bf0e 100644
--- a/test/image/test-dia.rb
+++ b/test/rabbit-test-utils/parser.rb
@@ -1,4 +1,4 @@
-# Copyright (C) 2012  Kouhei Sutou <kou at cozmixng.org>
+# Copyright (C) 2014-2015  Kouhei Sutou <kou at cozmixng.org>
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -14,41 +14,35 @@
 # with this program; if not, write to the Free Software Foundation, Inc.,
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-require "rabbit/image/dia"
-
-class TestImageDia < Test::Unit::TestCase
-  include RabbitTestUtils
-
-  private
-  def fixture_path(base_name)
-    super("image", "dia", base_name)
-  end
-
-  class TestMatch < self
+module RabbitTestUtils
+  module Parser
     private
-    def match?(base_name)
-      Rabbit::ImageManipulable::Dia.match?(fixture_path(base_name))
-    end
-
-    class TestWithExtension < self
-      def test_not_compressed
-        assert_true(match?("not-compressed.dia"))
-      end
-
-      def test_compressed
-        assert_true(match?("compressed.dia"))
+    def parse(parser_class, text)
+      canvas = []
+      def canvas.logger
+        Rabbit::Logger.default
       end
+      source = Rabbit::Source::Memory.new("UTF-8", nil)
+      source.source = text
+      parser = parser_class.new(canvas, source)
+      parser.parse
+      canvas
     end
 
-    class TestWithoutExtension < self
-      def test_not_compressed
-        assert_true(match?("not-compressed"))
+    def inspect_canvas(canvas)
+      canvas.collect do |page|
+        inspect_element(page)
       end
+    end
 
-      def test_compressed
-        # Not supported yet.
-        assert_false(match?("compressed"))
+    def inspect_element(element)
+      name = element.class.name.split(/::/).last
+      if element.respond_to?(:elements)
+        children = element.elements.collect {|child| inspect_element(child)}
+      else
+        children = [element.text]
       end
+      [name, *children]
     end
   end
 end
diff --git a/test/run-test.rb b/test/run-test.rb
index f2d923d..36c2717 100755
--- a/test/run-test.rb
+++ b/test/run-test.rb
@@ -17,9 +17,11 @@
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
 base_dir = File.expand_path(File.join(File.dirname(__FILE__), ".."))
+test_dir = File.join(base_dir, "test")
+
 $LOAD_PATH.unshift(File.join(base_dir, "lib"))
-$LOAD_PATH.unshift(File.join(base_dir, "test"))
+$LOAD_PATH.unshift(test_dir)
 
 require "rabbit-test-utils"
 
-exit Test::Unit::AutoRunner.run(true)
+exit Test::Unit::AutoRunner.run(true, test_dir)
diff --git a/test/source-generator/test-markdown.rb b/test/source-generator/test-markdown.rb
index 1581a95..82e07ba 100644
--- a/test/source-generator/test-markdown.rb
+++ b/test/source-generator/test-markdown.rb
@@ -39,10 +39,10 @@ class TestSourceGeneratorMarkdown < Test::Unit::TestCase
   def test_definition_list_item
     item = @generator.definition_list_item("Rabbit",
                                            "The presentation tool for Rubyist")
-    assert_equal(<<-EOM.rstrip, item)
+    assert_equal(<<-MARKDOWN, item)
 Rabbit
-   The presentation tool for Rubyist
-EOM
+:   The presentation tool for Rubyist
+    MARKDOWN
   end
 
   def test_unordered_list_item
diff --git a/test/test-readme-parser.rb b/test/test-readme-parser.rb
index 170b55b..f4fb59c 100644
--- a/test/test-readme-parser.rb
+++ b/test/test-readme-parser.rb
@@ -19,41 +19,139 @@ require "rabbit/readme-parser"
 class TestREADMEParser < Test::Unit::TestCase
   def setup
     @parser = Rabbit::READMEParser.new
-  end
-
-  def test_rd
-    title = "Theme benchmark"
-    description = <<-EOD.strip
+    @title = "Theme benchmark"
+    @description = <<-DESCRIPTION.strip
 It's a slide for checking a Rabbit's theme. It contains many
 elements. So it's useful for confirming your theme.
 
 Please try to create your original theme!
-EOD
+    DESCRIPTION
+  end
+
+  private
+  def assert_parse(content, extension=nil)
+    readme_path = "README#{extension}"
+    stub(File).read(readme_path) {content}
+    @parser.parse(readme_path)
+    assert_equal({
+                   :title       => @title,
+                   :description => @description,
+                 },
+                 {
+                   :title       => @parser.title,
+                   :description => @parser.description,
+                 })
+  end
 
-    assert_parse(title, description, <<-EOR)
-= #{title}
+  class TestRD < self
+    private
+    def readme_content
+      <<-README
+= #{@title}
 
-#{description}
+#{@description}
 
 == For author
 
 === Show
 
   rake
-EOR
+      README
+    end
+
+    class TestExtension < self
+      def test_no_extension
+        assert_parse(readme_content)
+      end
+
+      def test_rd
+        assert_parse(readme_content, ".rd")
+      end
+
+      def test_rab
+        assert_parse(readme_content, ".rab")
+      end
+    end
   end
 
-  private
-  def assert_parse(title, description, content)
-    stub(File).read("README") {content}
-    @parser.parse("README")
-    assert_equal({
-                   :title       => title,
-                   :description => description,
-                 },
-                 {
-                   :title       => @parser.title,
-                   :description => @parser.description,
-                 })
+  class TestHiki < self
+    private
+    def readme_content
+      <<-README
+! #{@title}
+
+#{@description}
+
+!! For author
+
+!!! Show
+
+  rake
+      README
+    end
+
+    class TestExtension < self
+      def test_no_extension
+        assert_parse(readme_content)
+      end
+
+      def test_hiki
+        assert_parse(readme_content, ".hiki")
+      end
+    end
+  end
+
+  class TestMarkdown < self
+    private
+    def readme_content
+      <<-README
+# #{@title}
+
+#{@description}
+
+## For author
+
+### Show
+
+  rake
+      README
+    end
+
+    class TestExtension < self
+      def test_no_extension
+        assert_parse(readme_content)
+      end
+
+      def test_md
+        assert_parse(readme_content, ".md")
+      end
+    end
+  end
+
+  class TestTextile < self
+    private
+    def readme_content
+      <<-README
+h1. #{@title}
+
+#{@description}
+
+h2. For author
+
+h3. Show
+
+  rake
+      README
+    end
+
+    class TestExtension < self
+      def test_no_extension
+        assert_parse(readme_content)
+      end
+
+      def test_textile
+        assert_parse(readme_content, ".textile")
+      end
+    end
   end
 end
diff --git a/test/test-size.rb b/test/test-size.rb
new file mode 100644
index 0000000..4dc5fc2
--- /dev/null
+++ b/test/test-size.rb
@@ -0,0 +1,152 @@
+# Copyright (C) 2015  Kouhei Sutou <kou at cozmixng.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+require "rabbit-test-utils"
+
+require "rabbit/size"
+
+class RabbitSizeTest < Test::Unit::TestCase
+  sub_test_case("width > height") do
+    setup do
+      @size = Rabbit::Size.new(1920, 1018, 4.0 / 3.0)
+    end
+
+    test "#logical_width" do
+      assert_equal(1357, @size.logical_width.round)
+    end
+
+    test "#logical_height" do
+      assert_equal(1018, @size.logical_height)
+    end
+
+    test "#logical_margin_left" do
+      assert_equal(281, @size.logical_margin_left.round)
+    end
+
+    test "#logical_margin_right" do
+      assert_equal(281, @size.logical_margin_right.round)
+    end
+
+    test "#logical_margin_top" do
+      assert_equal(0, @size.logical_margin_top)
+    end
+
+    test "#logical_margin_bottom" do
+      assert_equal(0, @size.logical_margin_bottom)
+    end
+  end
+
+  sub_test_case("width < height") do
+    setup do
+      @size = Rabbit::Size.new(1018, 1920, 4.0 / 3.0)
+    end
+
+    test "#logical_width" do
+      assert_equal(1018, @size.logical_width)
+    end
+
+    test "#logical_height" do
+      assert_equal(764, @size.logical_height.round)
+    end
+
+    test "#logical_margin_left" do
+      assert_equal(0, @size.logical_margin_left)
+    end
+
+    test "#logical_margin_right" do
+      assert_equal(0, @size.logical_margin_right)
+    end
+
+    test "#logical_margin_top" do
+      assert_equal(578, @size.logical_margin_top.round)
+    end
+
+    test "#logical_margin_bottom" do
+      assert_equal(578, @size.logical_margin_bottom.round)
+    end
+  end
+
+  sub_test_case("predicates") do
+    sub_test_case("#have_logical_margin_x?") do
+      test "width > height" do
+        size = Rabbit::Size.new(1920, 1018, 4.0 / 3.0)
+        assert do
+          size.have_logical_margin_x?
+        end
+      end
+
+      test "width < height" do
+        size = Rabbit::Size.new(1018, 1920, 4.0 / 3.0)
+        assert do
+          not size.have_logical_margin_x?
+        end
+      end
+
+      test "width / height == ratio" do
+        size = Rabbit::Size.new(800, 600, 4.0 / 3.0)
+        assert do
+          not size.have_logical_margin_x?
+        end
+      end
+    end
+
+    sub_test_case("#have_logical_margin_y?") do
+      test "width > height" do
+        size = Rabbit::Size.new(1920, 1018, 4.0 / 3.0)
+        assert do
+          not size.have_logical_margin_y?
+        end
+      end
+
+      test "width < height" do
+        size = Rabbit::Size.new(1018, 1920, 4.0 / 3.0)
+        assert do
+          size.have_logical_margin_y?
+        end
+      end
+
+      test "width / height == ratio" do
+        size = Rabbit::Size.new(800, 600, 4.0 / 3.0)
+        assert do
+          not size.have_logical_margin_y?
+        end
+      end
+    end
+
+    sub_test_case("#have_logical_margin?") do
+      test "width > height" do
+        size = Rabbit::Size.new(1920, 1018, 4.0 / 3.0)
+        assert do
+          size.have_logical_margin?
+        end
+      end
+
+      test "width < height" do
+        size = Rabbit::Size.new(1018, 1920, 4.0 / 3.0)
+        assert do
+          size.have_logical_margin?
+        end
+      end
+
+      test "width / height == ratio" do
+        size = Rabbit::Size.new(800, 600, 4.0 / 3.0)
+        assert do
+          not size.have_logical_margin?
+        end
+      end
+    end
+  end
+end
diff --git a/test/test-slide-configuration.rb b/test/test-slide-configuration.rb
index 7c40cfa..e11b781 100644
--- a/test/test-slide-configuration.rb
+++ b/test/test-slide-configuration.rb
@@ -1,4 +1,4 @@
-# Copyright (C) 2012  Kouhei Sutou <kou at cozmixng.org>
+# Copyright (C) 2012-2014  Kouhei Sutou <kou at cozmixng.org>
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -41,6 +41,7 @@ class TestSlideConfiguration < Test::Unit::TestCase
       "speaker_deck_id"   => "rabbit-debian",
       "ustream_id"        => "25451894",
       "vimeo_id"          => "00000000",
+      "youtube_id"        => "XXXXX-xxxxx",
       "author"            => author_conf,
     }
     @slide.id = "RubyKaigi2012"
diff --git a/test/test-source.rb b/test/test-source.rb
index 65e463e..d4b9c05 100644
--- a/test/test-source.rb
+++ b/test/test-source.rb
@@ -1,3 +1,5 @@
+# -*- coding: utf-8 -*-
+
 require 'fileutils'
 
 require "rabbit-test-utils"
@@ -6,42 +8,105 @@ require "rabbit/source"
 require "rabbit/logger"
 
 class RabbitSourceTest < Test::Unit::TestCase
+  class BaseTest < self
+    class EncodingDetectionTest < self
+      def test_euc_jp_like_utf8
+        assert_equal(Encoding::UTF_8, guess_encoding("résumé"))
+      end
+
+      private
+      def guess_encoding(string)
+        logger = Rabbit::Logger::STDERR.new
+        source = Rabbit::Source::Memory.new(nil, logger)
+        source.source = string
+        source.__send__(:guess_encoding, string)
+      end
+    end
 
-  def setup
-    logger = Rabbit::Logger::STDERR.new
-    
-    @argf_input, @argf_output = IO.pipe
-    @argf = Rabbit::Source::ARGF.new("UTF-8", logger, @argf_input)
+    class ReadTest < self
+      def test_binary
+        pdf_header = "%PDF-1.5\n%\xb5\xed\xae\xfb\n"
+        pdf_header.force_encoding("ASCII-8BIT")
+        assert_equal(pdf_header, read(pdf_header))
+      end
 
-    @file_dir_name = File.dirname(__FILE__)
-    @file_name = File.join(@file_dir_name, "sample.rd")
-    FileUtils.touch(@file_name)
-    @file = Rabbit::Source::File.new("UTF-8", logger, @file_name)
+      private
+      def read(string)
+        logger = Rabbit::Logger::STDERR.new
 
-    @uri_name = "http://example.com/sample/rabbit.rd"
-    @uri_base_name = File.dirname(@uri_name)
-    @uri = Rabbit::Source::URI.new("UTF-8", logger, @uri_name)
+        source = Rabbit::Source::Memory.new(string.encoding, logger)
+        source.source = string
+        source.read
+      end
+    end
   end
 
-  def teardown
-    FileUtils.rm_f(@file_name)
+  class ARGFTest < self
+    def setup
+      logger = Rabbit::Logger::STDERR.new
+
+      @input, @output = IO.pipe
+      @source = Rabbit::Source::ARGF.new("UTF-8", logger, @input)
+    end
+
+    def teardown
+      @input.close
+      @output.close
+    end
+
+    def test_base
+      assert_equal(".", @source.base)
+    end
+
+    def test_full_path
+      image = "sample.png"
+
+      assert_equal(File.join(".", image), @source.full_path(image))
+    end
   end
-  
-  def test_base
-    assert_equal(".", @argf.base)
-    assert_equal(File.dirname(@file_name), @file.base)
-
-    base_uri = URI.parse(@uri_name)
-    base_uri.path = File.dirname(base_uri.path)
-    assert_equal(base_uri.to_s, @uri.base)
+
+  class FileTest < self
+    def setup
+      logger = Rabbit::Logger::STDERR.new
+
+      @dir = File.dirname(__FILE__)
+      @file = File.join(@dir, "sample.rd")
+      FileUtils.touch(@file)
+      @source = Rabbit::Source::File.new("UTF-8", logger, @file)
+    end
+
+    def teardown
+      FileUtils.rm_f(@file)
+    end
+
+    def test_base
+      assert_equal(@dir, @source.base)
+    end
+
+    def test_full_path
+      image = "sample.png"
+
+      assert_equal(File.join(@dir, image), @source.full_path(image))
+    end
   end
 
-  def test_full_path
-    image = "sample.png"
-    
-    assert_equal(File.join(".", image), @argf.full_path(image))
-    assert_equal(File.join(@file_dir_name, image), @file.full_path(image))
-    assert_equal(File.join(@uri_base_name, image), @uri.full_path(image))
+  class URITest < self
+    def setup
+      logger = Rabbit::Logger::STDERR.new
+
+      @base = "http://example.com/sample"
+      @uri = "#{@base}/rabbit.rd"
+      @source = Rabbit::Source::URI.new("UTF-8", logger, @uri)
+    end
+
+    def test_base
+      assert_equal(@base, @source.base)
+    end
+
+    def test_full_path
+      image = "sample.png"
+
+      assert_equal("#{@base}/#{image}", @source.full_path(image))
+    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