docx_rust/formatting/
lang.rs

1use std::borrow::Cow;
2
3use hard_xml::{XmlRead, XmlWrite};
4
5use crate::{__setter, __xml_test_suites};
6
7/// Size
8///
9/// ```rust
10/// use docx_rust::formatting::*;
11///
12/// let sz = Size::from(42isize);
13/// ```
14#[derive(Debug, XmlRead, XmlWrite, Clone, Default)]
15#[cfg_attr(test, derive(PartialEq))]
16#[xml(tag = "w:lang")]
17pub struct Lang<'a> {
18    #[xml(attr = "w:val")]
19    pub val: Option<Cow<'a, str>>,
20    #[xml(attr = "w:eastAsia")]
21    pub east_asia: Option<Cow<'a, str>>,
22    #[xml(attr = "w:bidi")]
23    pub bidi: Option<Cow<'a, str>>,
24}
25
26impl<'a> Lang<'a> {
27    __setter!(east_asia: Option<Cow<'a, str>>);
28    __setter!(bidi: Option<Cow<'a, str>>);
29    __setter!(val: Option<Cow<'a, str>>);
30}
31
32__xml_test_suites!(
33    Lang,
34    Lang::default().east_asia("zh-CN"),
35    r#"<w:lang w:eastAsia="zh-CN"/>"#,
36);