parent
c0ad3e2b9a
commit
c50db721b9
|
@ -5,6 +5,10 @@ All notable changes to this project will be documented in this file.
|
|||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## docx-wasm@0.0.219 (6. January, 2022)
|
||||
|
||||
- [Internal]Support runFonts reader.
|
||||
|
||||
## docx-wasm@0.0.218 (6. January, 2022)
|
||||
|
||||
- Support minimum ToC API for JS (see https://github.com/bokuweb/docx-rs/pull/394).
|
||||
|
|
|
@ -13,9 +13,13 @@ use crate::xml_builder::*;
|
|||
*/
|
||||
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
|
||||
pub struct RunFonts {
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
ascii: Option<String>,
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
hi_ansi: Option<String>,
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
east_asia: Option<String>,
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
cs: Option<String>,
|
||||
}
|
||||
|
||||
|
@ -100,9 +104,6 @@ mod tests {
|
|||
fn test_run_fonts_cs_build() {
|
||||
let c = RunFonts::new().cs("Arial");
|
||||
let b = c.build();
|
||||
assert_eq!(
|
||||
str::from_utf8(&b).unwrap(),
|
||||
r#"<w:rFonts w:cs="Arial" />"#
|
||||
);
|
||||
assert_eq!(str::from_utf8(&b).unwrap(), r#"<w:rFonts w:cs="Arial" />"#);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,6 +8,29 @@ use crate::VertAlignType;
|
|||
|
||||
use super::*;
|
||||
|
||||
fn read_run_fonts(attributes: &[OwnedAttribute]) -> Result<RunFonts, ReaderError> {
|
||||
let mut f = RunFonts::new();
|
||||
for a in attributes {
|
||||
let local_name = &a.name.local_name;
|
||||
match local_name.as_str() {
|
||||
"asciiTheme" => {
|
||||
f = f.ascii(&a.value);
|
||||
}
|
||||
"eastAsiaTheme" => {
|
||||
f = f.east_asia(&a.value);
|
||||
}
|
||||
"hAnsiTheme" => {
|
||||
f = f.hi_ansi(&a.value);
|
||||
}
|
||||
"cstheme" => {
|
||||
f = f.cs(&a.value);
|
||||
}
|
||||
_ => {}
|
||||
}
|
||||
}
|
||||
Ok(f)
|
||||
}
|
||||
|
||||
impl ElementReader for RunProperty {
|
||||
fn read<R: Read>(
|
||||
r: &mut EventReader<R>,
|
||||
|
@ -50,8 +73,11 @@ impl ElementReader for RunProperty {
|
|||
rp = rp.spacing(v)
|
||||
}
|
||||
}
|
||||
// TODO: Implement later
|
||||
XMLElement::RunFonts => {}
|
||||
XMLElement::RunFonts => {
|
||||
if let Ok(f) = read_run_fonts(&attributes) {
|
||||
rp = rp.fonts(f);
|
||||
}
|
||||
}
|
||||
XMLElement::Underline => rp = rp.underline(&attributes[0].value.clone()),
|
||||
XMLElement::Italic => {
|
||||
if !read_bool(&attributes) {
|
||||
|
|
|
@ -24,8 +24,9 @@ impl FromXML for Styles {
|
|||
continue;
|
||||
}
|
||||
XMLElement::DocDefaults => {
|
||||
let d = DocDefaults::read(&mut parser, &attributes)?;
|
||||
styles = styles.doc_defaults(d);
|
||||
if let Ok(d) = DocDefaults::read(&mut parser, &attributes) {
|
||||
styles = styles.doc_defaults(d);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
_ => {}
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "docx-wasm",
|
||||
"version": "0.0.218",
|
||||
"version": "0.0.219",
|
||||
"main": "dist/node/index.js",
|
||||
"browser": "dist/web/index.js",
|
||||
"author": "bokuweb <bokuweb12@gmail.com>",
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue