UNPKG

nehan

Version:

Html layout engine for paged-media written in Typescript

96 lines 2.42 kB
import { Utils, } from "./public-api"; let create_size_space_info = (advance_rate) => { return { advanceRate: advance_rate, isNoBreak: false, isControl: false }; }; let zeroSpace = { advanceRate: 0, isNoBreak: false, isControl: false }; let zeroSpaceNoBreak = { advanceRate: 0, isNoBreak: true, isControl: false }; let noBreakSpace = { advanceRate: 0.38, isNoBreak: true, isControl: false }; let narrowNoBreakSpace = { advanceRate: 0.33, isNoBreak: true, isControl: false }; let controller = { advanceRate: 0, isNoBreak: false, isControl: true }; let fullSpace = create_size_space_info(1); let halfSpace = create_size_space_info(0.5); let threePerEm = create_size_space_info(1 / 3); let fourPerEm = create_size_space_info(1 / 4); let sixPerEm = create_size_space_info(1 / 6); let thinSpace = create_size_space_info(0.2); let hairSpace = create_size_space_info(0.1); let space_char_table = { "U+0009": halfSpace, "U+000A": controller, "U+000B": controller, "U+000C": controller, "U+000D": controller, "U+001C": halfSpace, "U+001D": halfSpace, "U+001E": halfSpace, "U+001F": halfSpace, "U+0020": halfSpace, "U+00A0": noBreakSpace, "U+034F": zeroSpace, "U+1680": halfSpace, "U+180E": halfSpace, "U+2000": halfSpace, "U+2001": fullSpace, "U+2002": halfSpace, "U+2003": fullSpace, "U+2004": threePerEm, "U+2005": fourPerEm, "U+2006": sixPerEm, "U+2007": halfSpace, "U+2008": halfSpace, "U+2009": thinSpace, "U+200A": hairSpace, "U+200B": zeroSpace, "U+200C": zeroSpace, "U+200D": zeroSpace, "U+200E": zeroSpace, "U+200F": zeroSpace, "U+2028": controller, "U+2029": controller, "U+202A": controller, "U+202B": controller, "U+202C": controller, "U+202D": controller, "U+202E": controller, "U+202F": narrowNoBreakSpace, "U+2061": controller, "U+2062": controller, "U+2063": controller, "U+3000": fullSpace, "U+FEFE": zeroSpaceNoBreak, }; export class SpaceCharTable { static load(str) { let prop = Utils.String.getUnicodeProp(str); let info = space_char_table[prop]; if (!info) { throw new Error("SpaceChar(" + prop + ") not exists."); } return info; } } //# sourceMappingURL=space-char-table.js.map