/* * This file is part of LaTeXDraw. * Copyright (c) 2005-2017 Arnaud BLOUIN * LaTeXDraw 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. * LaTeXDraw is distributed 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. */ package net.sf.latexdraw.models.interfaces.shape; /** * This enumeration defines the concept of text size for latex texts. * @author Arnaud Blouin */ public enum TextSize { /** \tiny size */ TINY { @Override public String getLatexToken() { return "tiny"; //$NON-NLS-1$ } }, /** \scriptsize size */ SCRIPT { @Override public String getLatexToken() { return "scriptsize"; //$NON-NLS-1$ } }, /** \footnotesize size */ FOOTNOTE { @Override public String getLatexToken() { return "footnotesize"; //$NON-NLS-1$ } }, /** \small size */ SMALL { @Override public String getLatexToken() { return "small"; //$NON-NLS-1$ } }, /** \small size */ NORMAL { @Override public String getLatexToken() { return "normalsize"; //$NON-NLS-1$ } }, /** \large size */ LARGE1 { @Override public String getLatexToken() { return "large"; //$NON-NLS-1$ } }, /** \Large size */ LARGE2 { @Override public String getLatexToken() { return "Large"; //$NON-NLS-1$ } }, /** \LARGE size */ LARGE3 { @Override public String getLatexToken() { return "LARGE"; //$NON-NLS-1$ } }, /** \huge size */ HUGE1 { @Override public String getLatexToken() { return "huge"; //$NON-NLS-1$ } }, /** \Huge size */ HUGE2 { @Override public String getLatexToken() { return "Huge"; //$NON-NLS-1$ } }; /** * @return The latex token corresponding to the text size. * @since 3.0 */ public abstract String getLatexToken(); /** * @param size The text size value to analyse. * @return The corresponding text size item or null. * @since 3.0 */ public static TextSize getTextSizeFromSize(final int size) { switch(size) { case 11: return TINY; case 16: return FOOTNOTE; case 35: return HUGE1; case 44: return HUGE2; case 22: return LARGE1; case 24: return LARGE2; case 30: return LARGE3; case 18: return NORMAL; case 14: return SCRIPT; case 17: return SMALL; default: return null; } } }