fix: disable bool el (#811)

main
bokuweb 2025-03-31 17:35:53 +09:00 committed by GitHub
parent a4c38a7b0e
commit 6c1d6e89b2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 46 additions and 5 deletions

View File

@ -40,6 +40,10 @@ impl BuildXML for Bold {
&self, &self,
stream: xml::writer::EventWriter<W>, stream: xml::writer::EventWriter<W>,
) -> xml::writer::Result<xml::writer::EventWriter<W>> { ) -> xml::writer::Result<xml::writer::EventWriter<W>> {
if self.val {
XMLBuilder::from(stream).b()?.into_inner() XMLBuilder::from(stream).b()?.into_inner()
} else {
XMLBuilder::from(stream).disable_bold()?.into_inner()
}
} }
} }

View File

@ -40,6 +40,10 @@ impl BuildXML for Dstrike {
&self, &self,
stream: xml::writer::EventWriter<W>, stream: xml::writer::EventWriter<W>,
) -> xml::writer::Result<xml::writer::EventWriter<W>> { ) -> xml::writer::Result<xml::writer::EventWriter<W>> {
if self.val {
XMLBuilder::from(stream).dstrike()?.into_inner() XMLBuilder::from(stream).dstrike()?.into_inner()
} else {
XMLBuilder::from(stream).disable_dstrike()?.into_inner()
}
} }
} }

View File

@ -40,6 +40,10 @@ impl BuildXML for Italic {
&self, &self,
stream: xml::writer::EventWriter<W>, stream: xml::writer::EventWriter<W>,
) -> xml::writer::Result<xml::writer::EventWriter<W>> { ) -> xml::writer::Result<xml::writer::EventWriter<W>> {
if self.val {
XMLBuilder::from(stream).i()?.into_inner() XMLBuilder::from(stream).i()?.into_inner()
} else {
XMLBuilder::from(stream).disable_italic()?.into_inner()
}
} }
} }

View File

@ -40,6 +40,10 @@ impl BuildXML for Strike {
&self, &self,
stream: xml::writer::EventWriter<W>, stream: xml::writer::EventWriter<W>,
) -> xml::writer::Result<xml::writer::EventWriter<W>> { ) -> xml::writer::Result<xml::writer::EventWriter<W>> {
if self.val {
XMLBuilder::from(stream).strike()?.into_inner() XMLBuilder::from(stream).strike()?.into_inner()
} else {
XMLBuilder::from(stream).disable_strike()?.into_inner()
}
} }
} }

View File

@ -183,14 +183,39 @@ impl<W: Write> XMLBuilder<W> {
closed!(b, "w:b"); closed!(b, "w:b");
closed!(b_cs, "w:bCs"); closed!(b_cs, "w:bCs");
pub(crate) fn disable_bold(self) -> Result<Self> {
let f = "false";
self.write(XmlEvent::start_element("w:b").attr("w:val", &f))?
.close()
}
closed_with_str!(caps, "w:caps"); closed_with_str!(caps, "w:caps");
closed!(i, "w:i"); closed!(i, "w:i");
closed!(i_cs, "w:iCs"); closed!(i_cs, "w:iCs");
pub(crate) fn disable_italic(self) -> Result<Self> {
let f = "false";
self.write(XmlEvent::start_element("w:i").attr("w:val", &f))?
.close()
}
closed!(strike, "w:strike"); closed!(strike, "w:strike");
pub(crate) fn disable_strike(self) -> Result<Self> {
let f = "false";
self.write(XmlEvent::start_element("w:strike").attr("w:val", &f))?
.close()
}
closed!(dstrike, "w:dstrike"); closed!(dstrike, "w:dstrike");
pub(crate) fn disable_dstrike(self) -> Result<Self> {
let f = "false";
self.write(XmlEvent::start_element("w:dstrike").attr("w:val", &f))?
.close()
}
// Build w:style element // Build w:style element
// i.e. <w:style ... > // i.e. <w:style ... >
pub(crate) fn open_style(self, style_type: StyleType, id: &str) -> Result<Self> { pub(crate) fn open_style(self, style_type: StyleType, id: &str) -> Result<Self> {