+LyXFont::LyXFont()
+ : bits(sane), lang(default_language)
+{}
+
+
+LyXFont::LyXFont(LyXFont::FONT_INIT1)
+#ifndef INHERIT_LANGUAGE
+ : bits(inherit), lang(default_language)
+#else
+ : bits(inherit), lang(inherit_language)
+#endif
+{}
+
+
+LyXFont::LyXFont(LyXFont::FONT_INIT2)
+ : bits(ignore), lang(ignore_language)
+{}
+
+
+LyXFont::LyXFont(LyXFont::FONT_INIT3)
+ : bits(sane), lang(default_language)
+{}
+
+
+LyXFont::LyXFont(LyXFont::FONT_INIT1, Language const * l)
+ : bits(inherit), lang(l)
+{}
+
+
+LyXFont::LyXFont(LyXFont::FONT_INIT2, Language const * l)
+ : bits(ignore), lang(l)
+{}
+
+
+LyXFont::LyXFont(LyXFont::FONT_INIT3, Language const * l)
+ : bits(sane), lang(l)
+{}
+
+
+LyXFont::FONT_MISC_STATE LyXFont::underbar() const
+{
+ return bits.underbar;
+}
+
+
+LColor::color LyXFont::color() const
+{
+ return bits.color;
+}
+
+
+Language const * LyXFont::language() const
+{
+ return lang;
+}
+
+
+LyXFont::FONT_MISC_STATE LyXFont::number() const
+{
+ return bits.number;
+}
+
+
+bool LyXFont::isRightToLeft() const
+{
+ return lang->RightToLeft();
+}
+
+
+bool LyXFont::isVisibleRightToLeft() const
+{
+ return (lang->RightToLeft() &&
+ number() != ON);
+}
+
+
+LyXFont & LyXFont::setFamily(LyXFont::FONT_FAMILY f)
+{
+ bits.family = f;
+ return *this;
+}
+
+
+LyXFont & LyXFont::setSeries(LyXFont::FONT_SERIES s)
+{
+ bits.series = s;
+ return *this;
+}
+
+
+LyXFont & LyXFont::setShape(LyXFont::FONT_SHAPE s)
+{
+ bits.shape = s;
+ return *this;
+}
+
+
+LyXFont & LyXFont::setSize(LyXFont::FONT_SIZE s)
+{
+ bits.size = s;
+ return *this;
+}
+
+
+LyXFont & LyXFont::setEmph(LyXFont::FONT_MISC_STATE e)
+{
+ bits.emph = e;
+ return *this;
+}
+
+
+LyXFont & LyXFont::setUnderbar(LyXFont::FONT_MISC_STATE u)
+{
+ bits.underbar = u;
+ return *this;
+}
+
+
+LyXFont & LyXFont::setNoun(LyXFont::FONT_MISC_STATE n)
+{
+ bits.noun = n;
+ return *this;
+}
+
+
+LyXFont & LyXFont::setColor(LColor::color c)
+{
+ bits.color = c;
+ return *this;
+}
+
+
+LyXFont & LyXFont::setLanguage(Language const * l)
+{
+ lang = l;
+ return *this;
+}
+
+
+LyXFont & LyXFont::setNumber(LyXFont::FONT_MISC_STATE n)
+{
+ bits.number = n;
+ return *this;
+}
+
+