All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.vandermeer.translation.characters.Html2Latex Maven / Gradle / Ivy

/* Copyright 2015 Sven van der Meer 
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *     http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package de.vandermeer.translation.characters;

import org.apache.commons.lang3.StringUtils;

import de.vandermeer.skb.interfaces.translators.CharacterTranslator;

/**
 * Translator for HTML characters to LaTeX.
 *
 * @author     Sven van der Meer <[email protected]> - auto-generated by SKB Datatool from SKB CharacterMap data
 * @version    v0.0.2 build 170404 (04-Apr-17) for Java 1.8
 * @since      v0.0.1
 */
public class Html2Latex implements CharacterTranslator {

	/** Array of source strings. */
	protected String[] sourceArray = new String[]{
		" ", " ", "$", "%", "*", "<", "<", ">", ">", "?", "@", "[", """, """, "\", "]", "^", "ˆ", "_", "{", "|", "}", "~", "˜", "¡", "¡", "¢", "¢", "£", "£", "¤", "¤", "§", "§", "¨", "¨", "©", "©", "ª", "ª", "¬", "¬", "®", "®", "¯", "¯", "°", "°", "±", "±", "²", "²", "³", "³", "µ", "µ", "¶", "¶", "·", "·", "¹", "¹", "º", "º", "¼", "¼", "½", "½", "¾", "¾", "¿", "¿", "À", "À", "Á", "Á", "Â", "Â", "Ã", "Ã", "Ä", "Ä", "Å", "Å", "Æ", "Æ", "Ç", "Ç", "È", "È", "É", "É", "Ê", "Ê", "Ë", "Ë", "Ì", "Ì", "Í", "Í", "Î", "Î", "Ï", "Ï", "Ð", "Ð", "Ñ", "Ñ", "Ò", "Ò", "Ó", "Ó", "Ô", "Ô", "Õ", "Õ", "Ö", "Ö", "×", "×", "Ø", "Ø", "Ù", "Ù", "Ú", "Ú", "Û", "Û", "Ü", "Ü", "Ý", "Ý", "Þ", "Þ", "ß", "ß", "à", "à", "á", "á", "â", "â", "ã", "ã", "ä", "ä", "å", "å", "æ", "æ", "ç", "ç", "è", "è", "é", "é", "ê", "ê", "ë", "ë", "ì", "ì", "í", "í", "î", "î", "ï", "ï", "ð", "ð", "ñ", "ñ", "ò", "ò", "ó", "ó", "ô", "ô", "õ", "õ", "ö", "ö", "÷", "÷", "ø", "ø", "ù", "ù", "ú", "ú", "û", "û", "ü", "ü", "ý", "ý", "þ", "þ", "ÿ", "ÿ", "Š", "Š", "š", "š", "Ÿ", "Ÿ", "ˆ", "˜", "Α", "Α", "Β", "Beta;", "Γ", "Γ", "Δ", "Δ", "Ε", "Ε", "Ζ", "Ζ", "Η", "Η", "Θ", "Θ", "Ι", "Ι", "Κ", "Κ", "Λ", "Λ", "Μ", "Μ", "Ν", "Ν", "Ξ", "Ξ", "Ο", "Ο", "Π", "Π", "Ρ", "Ρ", "Σ", "Σ", "Τ", "Τ", "Υ", "Υ", "Φ", "Φ", "Χ", "Χ", "Ψ", "Ψ", "Ω", "Ω", "α", "α", "β", "β", "γ", "γ", "δ", "δ", "ε", "ε", "ζ", "ζ", "η", "η", "θ", "θ", "ι", "ι", "κ", "κ", "λ", "λ", "μ", "μ", "ν", "ν", "ξ", "ξ", "ο", "ο", "π", "π", "ρ", "ρ", "ς", "ς", "σ", "σ", "τ", "τ", "υ", "υ", "φ", "φ", "χ", "χ", "ψ", "ψ", "ω", "ω", "ϑ", "ϑ", "ϖ", "ϖ", "–", "–", "—", "—", "‘", "‘", "’", "’", "‚", "‚", "“", "“", "”", "”", "†", "†", "‡", "‡", "…", "…", "€", "€", "™", "™", "←", "←", "↑", "↑", "→", "→", "↓", "↓", "↔", "↔", "⇐", "⇐", "⇑", "⇑", "⇒", "⇒", "⇓", "⇓", "⇔", "⇔", "∀", "∀", "∃", "∃", "∈", "∈", "∉", "∉", "∏", "∏", "∑", "∑", "∞", "∞", "∧", "∧", "∨", "∨", "∩", "∩", "∪", "∪", "≈", "≈", "≠", "≠", "≤", "≤", "≥", "≥"
	};

	/** Array of target strings. */
	protected String[] targetArray = new String[]{
		" ", " ", "\\$", "\\%", "\\textasteriskcentered", "\\textless", "\\textless", "\\textgreater", "\\textgreater", "\\?", "\\@", "\\[", "\"", "\"", "\\textbackslash", "\\]", "\\textasciicircum", "\\textasciicircum", "\\_", "\\{", "\\textbar", "\\}", "\\textasciitilde", "\\textasciitilde", "\\textexclamdown", "\\textexclamdown", "\\cent", "\\cent", "\\pounds", "\\pounds", "\\currency", "\\currency", "{\\S}", "{\\S}", "\\textasciidieresis", "\\textasciidieresis", "{\\copyright}", "{\\copyright}", "\\textordfeminine", "\\textordfeminine", "\\textlnot", "\\textlnot", "{\\textregistered}", "{\\textregistered}", "\\textasciimacron", "\\textasciimacron", "\\textdegree", "\\textdegree", "\\textpm", "\\textpm", "\\texttwosuperior", "\\texttwosuperior", "\\textthreesuperior", "\\textthreesuperior", "\\textmu", "\\textmu", "\\P", "\\P", "\\textperiodcentered", "\\textperiodcentered", "\\textonesuperior", "\\textonesuperior", "\\textordmasculine", "\\textordmasculine", "\\textonequarter", "\\textonequarter", "\\textonehalf", "\\textonehalf", "\\textthreequarters", "\\textthreequarters", "\\textquestiondown", "\\textquestiondown", "\\`{A}", "\\`{A}", "\\'{A}", "\\'{A}", "\\^{A}", "\\^{A}", "\\~{A}", "\\~{A}", "\\\"{A}", "\\\"{A}", "\\AA", "\\AA", "\\AE", "\\AE", "\\c{C}", "\\c{C}", "\\`{E}", "\\`{E}", "\\'{E}", "\\'{E}", "\\^{E}", "\\^{E}", "\\\"{E}", "\\\"{E}", "\\`{I}", "\\`{I}", "\\'{I}", "\\'{I}", "\\^{I}", "\\^{I}", "\\\"{I}", "\\\"{I}", "\\DH", "\\DH", "\\~{N}", "\\~{N}", "\\`{O}", "\\`{O}", "\\'{O}", "\\'{O}", "\\^{O}", "\\^{O}", "\\~{O}", "\\~{O}", "\\\"{O}", "\\\"{O}", "\\texttimes", "\\texttimes", "\\O", "\\O", "\\`{U}", "\\`{U}", "\\'{U}", "\\'{U}", "\\^{U}", "\\^{U}", "\\\"{U}", "\\\"{U}", "\\'{Y}", "\\'{Y}", "\\TH", "\\TH", "{\\ss}", "{\\ss}", "\\'{a}", "\\'{a}", "\\^{a}", "\\^{a}", "\\`{a}", "\\`{a}", "\\~{a}", "\\~{a}", "\\\"{a}", "\\\"{a}", "\\aa", "\\aa", "\\ae", "\\ae", "\\c{c}", "\\c{c}", "\\`{e}", "\\`{e}", "\\'{e}", "\\'{e}", "\\^{e}", "\\^{e}", "\\\"{e}", "\\\"{e}", "\\`{i}", "\\`{i}", "\\'{i}", "\\'{i}", "\\^{i}", "\\^{i}", "\\\"{i}", "\\\"{i}", "\\dh", "\\dh", "\\~{n}", "\\~{n}", "\\`{o}", "\\`{o}", "\\'{o}", "\\'{o}", "\\^{o}", "\\^{o}", "\\~{o}", "\\~{o}", "\\\"{o}", "\\\"{o}", "\\textdiv", "\\textdiv", "\\o", "\\o", "\\`{u}", "\\`{u}", "\\'{u}", "\\'{u}", "\\^{u}", "\\^{u}", "\\\"{u}", "\\\"{u}", "\\'{y}", "\\'{y}", "\\th", "\\th", "\\\"{u}", "\\\"{u}", "\\v{S}", "\\v{S}", "\\v{s}", "\\v{s}", "\\\"{Y}", "\\\"{Y}", "\\texcuub", "	extasciitilde", "A", "A", "B", "B", "\\Gamma", "\\Gamma", "\\Delta", "\\Delta", "E", "E", "Z", "Z", "H", "H", "\\Theta", "\\Theta", "I", "I", "K", "K", "\\Lambda", "\\Lambda", "M", "M", "N", "N", "\\Xi", "\\Xi", "O", "O", "\\Pi", "\\Pi", "P", "P", "\\Sigma", "\\Sigma", "T", "T", "\\Upsilon", "\\Upsilon", "\\Phi", "\\Phi", "X", "X", "\\Psi", "\\Psi", "\\Omega", "\\Omega", "\\alpha", "\\alpha", "\\beta", "\\beta", "\\gamma", "\\gamma", "\\delta", "\\delta", "\\epsilon", "\\epsilon", "\\zeta", "\\zeta", "\\eta", "\\eta", "\\theta", "\\theta", "\\iota", "\\iota", "\\kappa", "\\kappa", "\\lambda", "\\lambda", "\\mu", "\\mu", "\\nu", "\\nu", "\\xi", "\\xi", "o", "o", "\\pi", "\\pi", "\\rho", "\\rho", "\\varsigma", "\\varsigma", "\\sigma", "\\sigma", "\\tau", "\\tau", "\\upsilon", "\\upsilon", "\\phi", "\\phi", "\\chi", "\\chi", "\\psi", "\\psi", "\\omega", "\\omega", "\\vartheta", "\\vartheta", "\\varpi", "\\varpi", "--", "--", "---", "---", "`", "`", "'", "'", ",", ",", "``", "``", "''", "''", "\\dag", "\\dag", "\\ddag", "\\ddag", "{\\dots}", "{\\dots}", "{\\euro}", "{\\euro}", "{\\texttrademark}", "{\\texttrademark}", "\\(\\leftarrow{}\\)", "\\(\\leftarrow{}\\)", "\\(\\uparrow\\)", "\\(\\uparrow\\)", "\\(\\rightarrow{}\\)", "\\(\\rightarrow{}\\)", "\\(\\downarrow{}\\)", "\\(\\downarrow{}\\)", "\\(\\leftrightarrow{}\\)", "\\(\\leftrightarrow{}\\)", "\\(\\Leftarrow{}\\)", "\\(\\Leftarrow{}\\)", "\\(\\Uparrow\\)", "\\(\\Uparrow\\)", "\\(\\Rightarrow{}\\)", "\\(\\Rightarrow{}\\)", "\\(\\Downarrow{}\\)", "\\(\\Downarrow{}\\)", "\\(\\Leftrightarrow{}\\)", "\\(\\Leftrightarrow{}\\)", "$\\forall$", "$\\forall$", "$\\exists$", "$\\exists$", "$\\in$", "$\\in$", "$\\notin$", "$\\notin$", "$\\prod$", "$\\prod$", "$\\sum$", "$\\sum$", "$infty$", "$infty$", "$\\wedge$", "$\\wedge$", "$\\vee$", "$\\vee$", "$\\cap$", "$\\cap$", "$\\cup$", "$\\cup$", "$\\approx{}$", "$\\approx{}$", "$\\neq$", "$\\neq$", "$\\leq$", "$\\leq$", "$\\geq$", "$\\geq$"
	};

	@Override
	public String translateCharacters(String input){
		return StringUtils.replaceEach(input, this.sourceArray, this.targetArray);
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy