#include <config.h>
#include "InsetMathKern.h"
-#include "MathStream.h"
+
#include "MathStream.h"
#include "MathSupport.h"
+
#include "Dimension.h"
+#include "MetricsInfo.h"
#include "support/docstring.h"
{
dim.asc = 0;
dim.des = 0;
- dim.wid = wid_.inPixels(0, mathed_char_width(mi.base.font, 'M'));
+ dim.wid = mi.base.inPixels(wid_);
}
void InsetMathKern::write(WriteStream & os) const
{
- os << "\\kern" << from_utf8(wid_.asLatexString()) << ' ';
+ if (wid_.empty())
+ os << "\\kern" << ' ';
+ else if (wid_.unit() == Length::MU)
+ os << "\\mkern" << from_utf8(wid_.asLatexString()) << ' ';
+ else
+ os << "\\kern" << from_utf8(wid_.asLatexString()) << ' ';
}
void InsetMathKern::normalize(NormalStream & os) const
{
- os << "[kern " << from_utf8(wid_.asLatexString()) << ']';
+ if (wid_.empty())
+ os << "[kern]";
+ else
+ os << "[kern " << from_utf8(wid_.asLatexString()) << ']';
+}
+
+
+void InsetMathKern::infoize2(odocstream & os) const
+{
+ os << "Kern";
+ if (!wid_.empty())
+ os << ": " << from_utf8(wid_.asLatexString());
}