diff --git a/include/xlnt/styles/font.hpp b/include/xlnt/styles/font.hpp
index 5705caf8..195ebcbe 100644
--- a/include/xlnt/styles/font.hpp
+++ b/include/xlnt/styles/font.hpp
@@ -97,6 +97,26 @@ public:
///
bool strikethrough() const;
+ ///
+ ///
+ ///
+ font &outlinethrough(bool outlinethrough);
+
+ ///
+ ///
+ ///
+ bool outlinethrough() const;
+
+ ///
+ ///
+ ///
+ font &shadowthrough(bool shadowthrough);
+
+ ///
+ ///
+ ///
+ bool shadowthrough() const;
+
///
///
///
@@ -172,6 +192,21 @@ public:
///
std::size_t family() const;
+ ///
+ ///
+ ///
+ bool has_charset() const;
+
+ ///
+ ///
+ ///
+ font &charset(std::size_t charset);
+
+ ///
+ ///
+ ///
+ std::size_t charset() const;
+
///
///
///
@@ -238,6 +273,16 @@ private:
///
bool strikethrough_ = false;
+ ///
+ ///
+ ///
+ bool outlinethrough_ = false;
+
+ ///
+ ///
+ ///
+ bool shadowthrough_ = false;
+
///
///
///
@@ -253,6 +298,12 @@ private:
///
optional family_;
+ ///
+ ///
+ ///
+ optional charset_;
+
+
///
///
///
diff --git a/source/styles/font.cpp b/source/styles/font.cpp
index 02a96253..ff118bdd 100644
--- a/source/styles/font.cpp
+++ b/source/styles/font.cpp
@@ -36,6 +36,8 @@ font::font()
superscript_(false),
subscript_(false),
strikethrough_(false),
+ outlinethrough_(false),
+ shadowthrough_(false),
underline_(underline_style::none)
{
}
@@ -84,6 +86,28 @@ bool font::strikethrough() const
return strikethrough_;
}
+font &font::outlinethrough(bool outlinethrough)
+{
+ outlinethrough_ = outlinethrough;
+ return *this;
+}
+
+bool font::outlinethrough() const
+{
+ return outlinethrough_;
+}
+
+font &font::shadowthrough(bool shadowthrough)
+{
+ shadowthrough_ = shadowthrough;
+ return *this;
+}
+
+bool font::shadowthrough() const
+{
+ return shadowthrough_;
+}
+
font &font::underline(underline_style new_underline)
{
underline_ = new_underline;
@@ -154,6 +178,17 @@ font &font::family(std::size_t family)
return *this;
}
+bool font::has_charset() const
+{
+ return charset_.is_set();
+}
+
+font &font::charset(std::size_t charset)
+{
+ charset_ = charset;
+ return *this;
+}
+
bool font::has_scheme() const
{
return scheme_.is_set();