ultimate-text-to-image
Version:
Generate UTF8 texts into image with auto line break for all international language, including Chinese, Japanese, Korean, etc..
40 lines (39 loc) • 1.24 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.UnicodeLineBreak = void 0;
// tslint:disable-next-line:no-var-requires variable-name
const LineBreakNext = require("linebreak-next");
class UnicodeLineBreak {
constructor(text) {
this.text = text;
//
}
getResults() {
const results = [];
for (const item of this) {
results.push(item);
}
return results;
}
[Symbol.iterator]() {
const text = this.text;
const lineBreaker = new LineBreakNext(text);
let last = 0;
return {
next: () => {
const bk = lineBreaker.nextBreak();
if (!bk) {
return { value: undefined, done: true };
}
const word = text
.slice(last, bk.position)
.replace(/(\r?\n)*$/, "");
const index = last;
const isLastWord = bk.position === text.length;
last = bk.position;
return { value: { word, index, hasLineBreak: bk.required, isLastWord }, done: false };
},
};
}
}
exports.UnicodeLineBreak = UnicodeLineBreak;
;