Рефакторинг

This commit is contained in:
Book Pauk
2019-01-17 05:00:35 +07:00
parent 3bca059ac3
commit f25d39c316

View File

@@ -309,30 +309,36 @@ export default class BookParser {
} }
}*/ }*/
const text = this.removeTags(para.text); let text = this.removeTags(para.text);
const words = text.split(' ');
let line = {begin: para.offset, parts: []}; let line = {begin: para.offset, parts: []};
let prevPart = ''; let prevPart = '';
let part = ''; let part = '';
let prevW = 0; let prevW = 0;
let j = 0; let j = 0;
let word = '';
let newPara = true;
text += ' ';
// тут начинается самый замес, перенос и стилизация // тут начинается самый замес, перенос и стилизация
for (let i = 0; i < words.length; i++) { for (let i = 0; i < text.length; i++) {
const word = words[i]; if (text[i] != ' ') {
part += word; word += text[i];
continue;
}
part += (newPara ? '' : ' ') + word;
newPara = false;
let p = (j == 0 ? parsed.p : 0); let p = (j == 0 ? parsed.p : 0);
let w = this.measureText(part) + p; let w = this.measureText(part) + p;
if (w > parsed.w) { if (w > parsed.w) {
let wordTail; let wordTail;
let pw;
if (parsed.wordWrap) { if (parsed.wordWrap) {
let slogi = this.splitToSlogi(word); let slogi = this.splitToSlogi(word);
if (slogi.length > 1) { if (slogi.length > 1) {
let s = prevPart + ' '; let s = prevPart + ' ';
let pw;
const slogiLen = slogi.length; const slogiLen = slogi.length;
for (let k = 0; k < slogiLen - 1; k++) { for (let k = 0; k < slogiLen - 1; k++) {
@@ -363,7 +369,7 @@ export default class BookParser {
} }
line.parts.push({style: '', text: prevPart}); line.parts.push({style: '', text: prevPart});
line.end = line.begin + prevPart.length - (wordTail != word ? 2 : 0);//это как, ы ? 2 и 0 line.end = para.offset + i;
line.width = prevW; line.width = prevW;
line.first = (j == 0); line.first = (j == 0);
line.last = false; line.last = false;
@@ -375,11 +381,11 @@ export default class BookParser {
} }
prevW = w; prevW = w;
prevPart = part; prevPart = part;
part += ' '; word = '';
} }
line.parts.push({style: '', text: prevPart}); line.parts.push({style: '', text: prevPart});
line.end = line.begin + prevPart.length - 1; line.end = para.offset + para.length - 1;
line.width = prevW; line.width = prevW;
line.first = (j == 0); line.first = (j == 0);
line.last = true; line.last = true;