From 09f30f873f3e1a0510d5a51dfc97f41f3967b1ae Mon Sep 17 00:00:00 2001 From: Nikolay Pultsin Date: Thu, 5 Jun 2014 06:36:25 +0100 Subject: [PATCH] CSS-like file for default styles definitions --- assets/default/styles.css | 100 +++++++++ assets/default/styles.xml | 18 +- .../fbreader/src/bookmodel/FBTextKind.h | 2 + .../src/formats/xhtml/XHTMLReader.cpp | 79 ++++---- .../fbreader/src/formats/xhtml/XHTMLReader.h | 2 + .../fbreader/bookmodel/FBTextKind.java | 2 + .../zlibrary/text/model/ZLTextMetrics.java | 12 +- .../zlibrary/text/model/ZLTextStyleEntry.java | 29 +-- .../zlibrary/text/view/ZLTextView.java | 6 +- .../zlibrary/text/view/ZLTextViewBase.java | 23 ++- .../text/view/style/SimpleCSSReader.java | 117 +++++++++++ .../text/view/style/ZLTextBaseStyle.java | 2 + .../text/view/style/ZLTextDecoratedStyle.java | 8 +- .../style/ZLTextExplicitlyDecoratedStyle.java | 23 ++- .../view/style/ZLTextFullyDecoratedStyle.java | 4 +- .../text/view/style/ZLTextNGStyle.java | 161 +++++++++++++++ .../view/style/ZLTextNGStyleDescription.java | 189 ++++++++++++++++++ .../style/ZLTextPartiallyDecoratedStyle.java | 4 +- .../view/style/ZLTextStyleCollection.java | 12 ++ 19 files changed, 691 insertions(+), 102 deletions(-) create mode 100644 assets/default/styles.css create mode 100644 src/org/geometerplus/zlibrary/text/view/style/SimpleCSSReader.java create mode 100644 src/org/geometerplus/zlibrary/text/view/style/ZLTextNGStyle.java create mode 100644 src/org/geometerplus/zlibrary/text/view/style/ZLTextNGStyleDescription.java diff --git a/assets/default/styles.css b/assets/default/styles.css new file mode 100644 index 000000000..81cb01cfd --- /dev/null +++ b/assets/default/styles.css @@ -0,0 +1,100 @@ +p { + fbreader-id: 51; + fbreader-name: xhtml-tag-p; + margin-top: 1em; + margin-bottom: 1em; +} + +pre { + fbreader-id: 9; + fbreader-name: "Preformatted text"; + font-family: Monospace; + text-align: left; + hyphens: none; +} + +code { + fbreader-id: 21; + fbreader-name: "Code"; + font-family: Monospace; + hyphens: none; +} + +h1 { + fbreader-id: 31; + fbreader-name: "Header 1"; + font-size: 2em; + font-weight: bold; + margin-top: 0.67em; + margin-bottom: 0.67em; + hyphens: none; +} + +h2 { + fbreader-id: 32; + fbreader-name: "Header 2"; + font-size: 1.5em; + font-weight: bold; + margin-top: 0.83em; + margin-bottom: 0.83em; + hyphens: none; +} + +h3 { + fbreader-id: 33; + fbreader-name: "Header 3"; + font-size: 1.17em; + font-weight: bold; + margin-top: 1em; + margin-bottom: 1em; +} + +h4 { + fbreader-id: 34; + fbreader-name: "Header 4"; + font-weight: bold; + margin-top: 1.33em; + margin-bottom: 1.33em; +} + +h5 { + fbreader-id: 35; + fbreader-name: "Header 5"; + font-size: 0.83em; + font-weight: bold; + margin-top: 1.67em; + margin-bottom: 1.67em; +} + +h6 { + fbreader-id: 36; + fbreader-name: "Header 6"; + font-size: 0.67em; + font-weight: bold; + margin-top: 2.33em; + margin-bottom: 2.33em; +} + +em { + fbreader-id: 17; + fbreader-name: "Emphasis"; + font-style: italic; +} + +strong { + fbreader-id: 18; + fbreader-name: "Strong"; + font-weight: bold; +} + +i { + fbreader-id: 27; + fbreader-name: "Italic"; + font-style: italic; +} + +b { + fbreader-id: 28; + fbreader-name: "Bold"; + font-weight: bold; +} diff --git a/assets/default/styles.xml b/assets/default/styles.xml index f55f55d3e..7cef792f8 100644 --- a/assets/default/styles.xml +++ b/assets/default/styles.xml @@ -6,34 +6,22 @@