Quellcode durchsuchen

Добавлена поддержка тегов 'sup' и 'sub'

Book Pauk vor 4 Jahren
Ursprung
Commit
37256255bf

+ 8 - 2
client/components/Reader/TextPage/DrawHelper.js

@@ -77,9 +77,15 @@ export default class DrawHelper {
             let j = 0;
             //формируем строку
             for (const part of line.parts) {
-                let tOpen = (part.style.bold ? '<b>' : '');
+                let tOpen = '';
+                tOpen += (part.style.bold ? '<b>' : '');
                 tOpen += (part.style.italic ? '<i>' : '');
-                let tClose = (part.style.italic ? '</i>' : '');
+                tOpen += (part.style.sup ? '<span style="vertical-align: baseline; position: relative; line-height: 0; top: -0.3em">' : '');
+                tOpen += (part.style.sub ? '<span style="vertical-align: baseline; position: relative; line-height: 0; top: 0.3em">' : '');
+                let tClose = '';
+                tClose += (part.style.sub ? '</span>' : '');
+                tClose += (part.style.sup ? '</span>' : '');
+                tClose += (part.style.italic ? '</i>' : '');
                 tClose += (part.style.bold ? '</b>' : '');
 
                 let text = '';

+ 15 - 3
client/components/Reader/share/BookParser.js

@@ -285,7 +285,7 @@ export default class BookParser {
                     sectionLevel++;
                 }
 
-                if (tag == 'emphasis' || tag == 'strong') {
+                if (tag == 'emphasis' || tag == 'strong' || tag == 'sup' || tag == 'sub') {
                     growParagraph(`<${tag}>`, 0);
                 }
 
@@ -343,7 +343,7 @@ export default class BookParser {
                         sectionLevel--;
                     }
 
-                    if (tag == 'emphasis' || tag == 'strong') {
+                    if (tag == 'emphasis' || tag == 'strong' || tag == 'sup' || tag == 'sub') {
                         growParagraph(`</${tag}>`, 0);
                     }
 
@@ -507,7 +507,7 @@ export default class BookParser {
 
     splitToStyle(s) {
         let result = [];/*array of {
-            style: {bold: Boolean, italic: Boolean, center: Boolean, space: Number},
+            style: {bold: Boolean, italic: Boolean, sup: Boolean, sub: Boolean, center: Boolean, space: Number},
             image: {local: Boolean, inline: Boolean, id: String},
             text: String,
         }*/
@@ -530,6 +530,12 @@ export default class BookParser {
                 case 'emphasis':
                     style.italic = true;
                     break;
+                case 'sup': 
+                    style.sup = true;
+                    break;
+                case 'sub':
+                    style.sub = true;
+                    break;
                 case 'center':
                     style.center = true;
                     break;
@@ -580,6 +586,12 @@ export default class BookParser {
                 case 'emphasis':
                     style.italic = false;
                     break;
+                case 'sup': 
+                    style.sup = false;
+                    break;
+                case 'sub':
+                    style.sub = false;
+                    break;
                 case 'center':
                     style.center = false;
                     break;