UNPKG

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
"use strict"; 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;