# Autogenerated by util/gen-special-replace.el

module Orgmode
  HtmlEntities = {
    "Agrave"         => "&Agrave;",
    "agrave"         => "&agrave;",
    "Aacute"         => "&Aacute;",
    "aacute"         => "&aacute;",
    "Acirc"          => "&Acirc;",
    "acirc"          => "&acirc;",
    "Atilde"         => "&Atilde;",
    "atilde"         => "&atilde;",
    "Auml"           => "&Auml;",
    "auml"           => "&auml;",
    "Aring"          => "&Aring;",
    "AA"             => "&Aring;",
    "aring"          => "&aring;",
    "AElig"          => "&AElig;",
    "aelig"          => "&aelig;",
    "Ccedil"         => "&Ccedil;",
    "ccedil"         => "&ccedil;",
    "Egrave"         => "&Egrave;",
    "egrave"         => "&egrave;",
    "Eacute"         => "&Eacute;",
    "eacute"         => "&eacute;",
    "Ecirc"          => "&Ecirc;",
    "ecirc"          => "&ecirc;",
    "Euml"           => "&Euml;",
    "euml"           => "&euml;",
    "Igrave"         => "&Igrave;",
    "igrave"         => "&igrave;",
    "Iacute"         => "&Iacute;",
    "iacute"         => "&iacute;",
    "Icirc"          => "&Icirc;",
    "icirc"          => "&icirc;",
    "Iuml"           => "&Iuml;",
    "iuml"           => "&iuml;",
    "Ntilde"         => "&Ntilde;",
    "ntilde"         => "&ntilde;",
    "Ograve"         => "&Ograve;",
    "ograve"         => "&ograve;",
    "Oacute"         => "&Oacute;",
    "oacute"         => "&oacute;",
    "Ocirc"          => "&Ocirc;",
    "ocirc"          => "&ocirc;",
    "Otilde"         => "&Otilde;",
    "otilde"         => "&otilde;",
    "Ouml"           => "&Ouml;",
    "ouml"           => "&ouml;",
    "Oslash"         => "&Oslash;",
    "oslash"         => "&oslash;",
    "OElig"          => "&OElig;",
    "oelig"          => "&oelig;",
    "Scaron"         => "&Scaron;",
    "scaron"         => "&scaron;",
    "szlig"          => "&szlig;",
    "Ugrave"         => "&Ugrave;",
    "ugrave"         => "&ugrave;",
    "Uacute"         => "&Uacute;",
    "uacute"         => "&uacute;",
    "Ucirc"          => "&Ucirc;",
    "ucirc"          => "&ucirc;",
    "Uuml"           => "&Uuml;",
    "uuml"           => "&uuml;",
    "Yacute"         => "&Yacute;",
    "yacute"         => "&yacute;",
    "Yuml"           => "&Yuml;",
    "yuml"           => "&yuml;",
    "fnof"           => "&fnof;",
    "real"           => "&real;",
    "image"          => "&image;",
    "weierp"         => "&weierp;",
    "Alpha"          => "&Alpha;",
    "alpha"          => "&alpha;",
    "Beta"           => "&Beta;",
    "beta"           => "&beta;",
    "Gamma"          => "&Gamma;",
    "gamma"          => "&gamma;",
    "Delta"          => "&Delta;",
    "delta"          => "&delta;",
    "Epsilon"        => "&Epsilon;",
    "epsilon"        => "&epsilon;",
    "varepsilon"     => "&epsilon;",
    "Zeta"           => "&Zeta;",
    "zeta"           => "&zeta;",
    "Eta"            => "&Eta;",
    "eta"            => "&eta;",
    "Theta"          => "&Theta;",
    "theta"          => "&theta;",
    "thetasym"       => "&thetasym;",
    "vartheta"       => "&thetasym;",
    "Iota"           => "&Iota;",
    "iota"           => "&iota;",
    "Kappa"          => "&Kappa;",
    "kappa"          => "&kappa;",
    "Lambda"         => "&Lambda;",
    "lambda"         => "&lambda;",
    "Mu"             => "&Mu;",
    "mu"             => "&mu;",
    "nu"             => "&nu;",
    "Nu"             => "&Nu;",
    "Xi"             => "&Xi;",
    "xi"             => "&xi;",
    "Omicron"        => "&Omicron;",
    "omicron"        => "&omicron;",
    "Pi"             => "&Pi;",
    "pi"             => "&pi;",
    "Rho"            => "&Rho;",
    "rho"            => "&rho;",
    "Sigma"          => "&Sigma;",
    "sigma"          => "&sigma;",
    "sigmaf"         => "&sigmaf;",
    "varsigma"       => "&sigmaf;",
    "Tau"            => "&Tau;",
    "Upsilon"        => "&Upsilon;",
    "upsih"          => "&upsih;",
    "upsilon"        => "&upsilon;",
    "Phi"            => "&Phi;",
    "phi"            => "&phi;",
    "Chi"            => "&Chi;",
    "chi"            => "&chi;",
    "acutex"         => "&acute;x",
    "Psi"            => "&Psi;",
    "psi"            => "&psi;",
    "tau"            => "&tau;",
    "Omega"          => "&Omega;",
    "omega"          => "&omega;",
    "piv"            => "&piv;",
    "partial"        => "&part;",
    "alefsym"        => "&alefsym;",
    "ETH"            => "&ETH;",
    "eth"            => "&eth;",
    "THORN"          => "&THORN;",
    "thorn"          => "&thorn;",
    "dots"           => "&hellip;",
    "hellip"         => "&hellip;",
    "middot"         => "&middot;",
    "iexcl"          => "&iexcl;",
    "iquest"         => "&iquest;",
    "shy"            => "&shy;",
    "ndash"          => "&ndash;",
    "mdash"          => "&mdash;",
    "quot"           => "&quot;",
    "acute"          => "&acute;",
    "ldquo"          => "&ldquo;",
    "rdquo"          => "&rdquo;",
    "bdquo"          => "&bdquo;",
    "lsquo"          => "&lsquo;",
    "rsquo"          => "&rsquo;",
    "sbquo"          => "&sbquo;",
    "laquo"          => "&laquo;",
    "raquo"          => "&raquo;",
    "lsaquo"         => "&lsaquo;",
    "rsaquo"         => "&rsaquo;",
    "circ"           => "&circ;",
    "vert"           => "&#124;",
    "brvbar"         => "&brvbar;",
    "sect"           => "&sect;",
    "amp"            => "&amp;",
    "lt"             => "&lt;",
    "gt"             => "&gt;",
    "tilde"          => "&tilde;",
    "slash"          => "/",
    "plus"           => "+",
    "under"          => "_",
    "equal"          => "=",
    "asciicirc"      => "^",
    "dagger"         => "&dagger;",
    "Dagger"         => "&Dagger;",
    "nbsp"           => "&nbsp;",
    "ensp"           => "&ensp;",
    "emsp"           => "&emsp;",
    "thinsp"         => "&thinsp;",
    "curren"         => "&curren;",
    "cent"           => "&cent;",
    "pound"          => "&pound;",
    "yen"            => "&yen;",
    "euro"           => "&euro;",
    "EUR"            => "&euro;",
    "EURdig"         => "&euro;",
    "EURhv"          => "&euro;",
    "EURcr"          => "&euro;",
    "EURtm"          => "&euro;",
    "copy"           => "&copy;",
    "reg"            => "&reg;",
    "trade"          => "&trade;",
    "minus"          => "&minus;",
    "pm"             => "&plusmn;",
    "plusmn"         => "&plusmn;",
    "times"          => "&times;",
    "frasl"          => "&frasl;",
    "div"            => "&divide;",
    "frac12"         => "&frac12;",
    "frac14"         => "&frac14;",
    "frac34"         => "&frac34;",
    "permil"         => "&permil;",
    "sup1"           => "&sup1;",
    "sup2"           => "&sup2;",
    "sup3"           => "&sup3;",
    "radic"          => "&radic;",
    "sum"            => "&sum;",
    "prod"           => "&prod;",
    "micro"          => "&micro;",
    "macr"           => "&macr;",
    "prime"          => "&prime;",
    "Prime"          => "&Prime;",
    "infin"          => "&infin;",
    "infty"          => "&infin;",
    "prop"           => "&prop;",
    "proptp"         => "&prop;",
    "not"            => "&not;",
    "neg"            => "&not;",
    "land"           => "&and;",
    "wedge"          => "&and;",
    "lor"            => "&or;",
    "vee"            => "&or;",
    "cap"            => "&cap;",
    "cup"            => "&cup;",
    "int"            => "&int;",
    "there4"         => "&there4;",
    "sim"            => "&sim;",
    "cong"           => "&cong;",
    "simeq"          => "&cong;",
    "asymp"          => "&asymp;",
    "approx"         => "&asymp;",
    "ne"             => "&ne;",
    "neq"            => "&ne;",
    "equiv"          => "&equiv;",
    "le"             => "&le;",
    "ge"             => "&ge;",
    "sub"            => "&sub;",
    "subset"         => "&sub;",
    "sup"            => "&sup;",
    "supset"         => "&sup;",
    "nsub"           => "&nsub;",
    "sube"           => "&sube;",
    "nsup"           => "&nsup;",
    "supe"           => "&supe;",
    "forall"         => "&forall;",
    "exist"          => "&exist;",
    "exists"         => "&exist;",
    "empty"          => "&empty;",
    "emptyset"       => "&empty;",
    "isin"           => "&isin;",
    "in"             => "&isin;",
    "notin"          => "&notin;",
    "ni"             => "&ni;",
    "nabla"          => "&nabla;",
    "ang"            => "&ang;",
    "angle"          => "&ang;",
    "perp"           => "&perp;",
    "sdot"           => "&sdot;",
    "cdot"           => "&sdot;",
    "lceil"          => "&lceil;",
    "rceil"          => "&rceil;",
    "lfloor"         => "&lfloor;",
    "rfloor"         => "&rfloor;",
    "lang"           => "&lang;",
    "rang"           => "&rang;",
    "larr"           => "&larr;",
    "leftarrow"      => "&larr;",
    "gets"           => "&larr;",
    "lArr"           => "&lArr;",
    "Leftarrow"      => "&lArr;",
    "uarr"           => "&uarr;",
    "uparrow"        => "&uarr;",
    "uArr"           => "&uArr;",
    "Uparrow"        => "&uArr;",
    "rarr"           => "&rarr;",
    "to"             => "&rarr;",
    "rightarrow"     => "&rarr;",
    "rArr"           => "&rArr;",
    "Rightarrow"     => "&rArr;",
    "darr"           => "&darr;",
    "downarrow"      => "&darr;",
    "dArr"           => "&dArr;",
    "Downarrow"      => "&dArr;",
    "harr"           => "&harr;",
    "leftrightarrow" => "&harr;",
    "hArr"           => "&hArr;",
    "Leftrightarrow" => "&hArr;",
    "crarr"          => "&crarr;",
    "hookleftarrow"  => "&crarr;",
    "arccos"         => "arccos",
    "arcsin"         => "arcsin",
    "arctan"         => "arctan",
    "arg"            => "arg",
    "cos"            => "cos",
    "cosh"           => "cosh",
    "cot"            => "cot",
    "coth"           => "coth",
    "csc"            => "csc",
    "deg"            => "&deg;",
    "det"            => "det",
    "dim"            => "dim",
    "exp"            => "exp",
    "gcd"            => "gcd",
    "hom"            => "hom",
    "inf"            => "inf",
    "ker"            => "ker",
    "lg"             => "lg",
    "lim"            => "lim",
    "liminf"         => "liminf",
    "limsup"         => "limsup",
    "ln"             => "ln",
    "log"            => "log",
    "max"            => "max",
    "min"            => "min",
    "Pr"             => "Pr",
    "sec"            => "sec",
    "sin"            => "sin",
    "sinh"           => "sinh",
    "tan"            => "tan",
    "tanh"           => "tanh",
    "bull"           => "&bull;",
    "bullet"         => "&bull;",
    "star"           => "*",
    "lowast"         => "&lowast;",
    "ast"            => "&lowast;",
    "odot"           => "o",
    "oplus"          => "&oplus;",
    "otimes"         => "&otimes;",
    "checkmark"      => "&#10003;",
    "para"           => "&para;",
    "ordf"           => "&ordf;",
    "ordm"           => "&ordm;",
    "cedil"          => "&cedil;",
    "oline"          => "&oline;",
    "uml"            => "&uml;",
    "zwnj"           => "&zwnj;",
    "zwj"            => "&zwj;",
    "lrm"            => "&lrm;",
    "rlm"            => "&rlm;",
    "smile"          => "&#9786;",
    "smiley"         => "&#9786;",
    "blacksmile"     => "&#9787;",
    "sad"            => "&#9785;",
    "clubs"          => "&clubs;",
    "clubsuit"       => "&clubs;",
    "spades"         => "&spades;",
    "spadesuit"      => "&spades;",
    "hearts"         => "&hearts;",
    "heartsuit"      => "&heartsuit;",
    "diams"          => "&diams;",
    "diamondsuit"    => "&diams;",
    "Diamond"        => "&diamond;",
    "loz"            => "&loz;"
  }
  @org_entities_regexp = /\\(there4|sup[123]|frac[13][24]|[a-zA-Z]+)($|\{\}|[^a-zA-Z])/

  def Orgmode.special_symbols_to_html str
    str.gsub! @org_entities_regexp do |match|
      if HtmlEntities[$1]
        if $2 == "{}" then "#{HtmlEntities[$1]}"
        else "#{HtmlEntities[$1]}#{$2}"
        end
      else
        $&
      end
    end
  end
end # module Orgmode
