/** * \file lengthcommon.C * This file is part of LyX, the document processor. * Licence details can be found in the file COPYING. * * \author Lars Gullik Bjønnes * \author Matthias Ettrich * \author John Levon * * Full author contact details are available in file CREDITS. */ #include #include "lengthcommon.h" #include "gettext.h" using std::string; // I am not sure if "mu" should be possible to select (Lgb) // unit_name is for compatibility. Can be deleted when all works well. // means, when we have full language support for the lengths // in all gui's (Herbert 2002-11-01) char const * const unit_name[] = { "sp", "pt", "bp", "dd", "mm", "pc", "cc", "cm", "in", "ex", "em", "mu", "text%", "col%", "page%", "line%", "theight%", "pheight%", "" }; int const num_units = int(sizeof(unit_name) / sizeof(unit_name[0]) - 1); // the latex units char const * const unit_name_ltx[] = { "sp", "pt", "bp", "dd", "mm", "pc", "cc", "cm", "in", "ex", "em", "mu", // in 1.4 the following names should be used. then no // translation into the latex ones are needed // "textheight", "columnwidth", "pagewidth", "linewidth", // "textheight", "pageheight" }; "text%", "col%", "page%", "line%", "theight%", "pheight%", "" }; // the LyX gui units char const * const unit_name_gui[] = { N_("sp"), N_("pt"), N_("bp"), N_("dd"), N_("mm"), N_("pc"), N_("cc"), N_("cm"), N_("in"), N_("ex"), N_("em"), N_("mu"), N_("text%"), N_("col%"), N_("page%"), N_("line%"), N_("theight%"), N_("pheight%"), "" }; // this one maybe better ???? but there can be problems with // xforms (Herbert) // N_("textwidth%"), N_("columnwidth%"), N_("pagewidth%"), N_("linewidth%"), // N_("textheight%"), N_("pageheight%") }; // or altenative this ones // N_("twidth%"), N_("cwidth%"), N_("pwidth%"), N_("lwidth%"), // N_("theight%"), N_("pheight%") }; LyXLength::UNIT unitFromString(string const & data) { int i = 0; while (i < num_units && data != unit_name[i]) ++i; return static_cast(i); }