+
+LaTeXLength table[] = {
+ { "nu", 0, 0, 0, 0 },
+ { "nu+nu", 2, 0, 2, 0 },
+ { "nu+nu-nu", 2, 3, 2, 3 },
+ { "nu+-nu", 2, 2, 2, 2 },
+ { "nu-nu", 0, 2, 0, 2 },
+ { "nu-nu+nu", 3, 2, 3, 2 },
+ { "nu-+nu", 2, 2, 2, 2 },
+ { "n+nu", 2, 0, 1, 0 },
+ { "n+n-nu", 2, 3, 1, 1 },
+ { "n+-nu", 2, 2, 1, 1 },
+ { "n-nu", 0, 2, 0, 1 },
+ { "n-n+nu", 3, 2, 1, 1 },
+ { "n-+nu", 2, 2, 1, 1 },
+ { "", 0, 0, 0, 0 } // sentinel, must be empty
+};
+
+} // namespace anon
+
+const char * stringFromUnit(int unit)
+{
+ if (unit < 0 || unit >= num_units)
+ return 0;
+ return unit_name[unit];
+}
+
+
+LyXLength::UNIT unitFromString (string const & data)
+{
+ int i = 0;
+ while ((i < num_units) && (data != unit_name[i])) ++i;
+ return static_cast<LyXLength::UNIT>(i);
+}
+
+