nehan
Version:
Html layout engine for paged-media written in Typescript
193 lines • 4.35 kB
JavaScript
import { Utils } from "./public-api";
const kakkoStart = {
parenType: "open",
kinsokuPos: "tail",
kernEnable: true,
hangEnable: false,
rotatable: false,
isSmall: false
};
const kakkoStartHalf = {
parenType: "open",
kinsokuPos: "tail",
kernEnable: false,
hangEnable: false,
rotatable: false,
isSmall: true
};
const kakkoEnd = {
parenType: "close",
kinsokuPos: "head",
kernEnable: true,
hangEnable: true,
rotatable: false,
isSmall: false
};
const kakkoEndHalf = {
parenType: "close",
kinsokuPos: "head",
kernEnable: false,
hangEnable: true,
rotatable: false,
isSmall: true
};
const kutouten = {
parenType: "none",
kinsokuPos: "head",
kernEnable: true,
hangEnable: true,
rotatable: false,
isSmall: false
};
const kutoutenHalf = {
parenType: "none",
kinsokuPos: "head",
kernEnable: false,
hangEnable: true,
rotatable: false,
isSmall: true
};
const dash = {
parenType: "none",
kinsokuPos: "none",
kernEnable: false,
hangEnable: false,
rotatable: false,
isSmall: false
};
const colon = {
parenType: "none",
kinsokuPos: "none",
kernEnable: false,
hangEnable: false,
rotatable: false,
isSmall: false
};
const smallKana = {
parenType: "none",
kinsokuPos: "head",
kernEnable: false,
hangEnable: false,
rotatable: false,
isSmall: false,
};
const normal = {
parenType: "none",
kinsokuPos: "none",
kernEnable: false,
hangEnable: false,
rotatable: false,
isSmall: false
};
const dualCharTable = {
"U+0028": kakkoStartHalf,
"U+0029": kakkoEndHalf,
"U+002C": kutoutenHalf,
"U+002D": dash,
"U+002E": kutoutenHalf,
"U+003A": kutoutenHalf,
"U+003D": normal,
"U+005B": kakkoStartHalf,
"U+005D": kakkoEndHalf,
"U+007B": kakkoStartHalf,
"U+007D": kakkoEndHalf,
"U+00AB": kakkoStartHalf,
"U+00BB": kakkoEndHalf,
"U+2014": dash,
"U+2015": dash,
"U+201C": kakkoStartHalf,
"U+201D": kakkoEndHalf,
"U+2025": dash,
"U+2026": dash,
"U+2190": normal,
"U+2191": normal,
"U+2192": normal,
"U+2193": normal,
"U+21D2": normal,
"U+2212": dash,
"U+2252": normal,
"U+2260": normal,
"U+226A": kakkoStart,
"U+226B": kakkoEnd,
"U+22EF": dash,
"U+2500": dash,
"U+2772": kakkoStart,
"U+2773": kakkoEnd,
"U+3001": kutouten,
"U+3002": kutouten,
"U+3008": kakkoStart,
"U+3009": kakkoEnd,
"U+300A": kakkoStart,
"U+300B": kakkoEnd,
"U+300C": kakkoStart,
"U+300D": kakkoEnd,
"U+300E": kakkoStart,
"U+300F": kakkoEnd,
"U+3010": kakkoStart,
"U+3011": kakkoEnd,
"U+3014": kakkoStart,
"U+3015": kakkoEnd,
"U+3016": kakkoStart,
"U+3017": kakkoEnd,
"U+3018": kakkoStart,
"U+3019": kakkoEnd,
"U+301A": kakkoStart,
"U+301B": kakkoEnd,
"U+301C": dash,
"U+301D": kakkoStart,
"U+301E": kakkoEnd,
"U+301F": kakkoEnd,
"U+3041": smallKana,
"U+3043": smallKana,
"U+3045": smallKana,
"U+3047": smallKana,
"U+3049": smallKana,
"U+3063": smallKana,
"U+3083": smallKana,
"U+3085": smallKana,
"U+3087": smallKana,
"U+308E": smallKana,
"U+30A1": smallKana,
"U+30A3": smallKana,
"U+30A5": smallKana,
"U+30A7": smallKana,
"U+30A9": smallKana,
"U+30C3": smallKana,
"U+30E3": smallKana,
"U+30E5": smallKana,
"U+30E7": smallKana,
"U+30EE": smallKana,
"U+30F5": smallKana,
"U+30F6": smallKana,
"U+30FC": dash,
"U+FF08": kakkoStart,
"U+FF09": kakkoEnd,
"U+FF0C": kutouten,
"U+FF0D": dash,
"U+FF0E": kutouten,
"U+FF1A": colon,
"U+FF1C": kakkoStart,
"U+FF1D": normal,
"U+FF1E": normal,
"U+FF3B": kakkoStart,
"U+FF3D": kakkoEnd,
"U+FF3F": dash,
"U+FF5B": kakkoStart,
"U+FF5C": dash,
"U+FF5D": kakkoEnd,
"U+FF5E": dash,
"U+FF61": kutoutenHalf,
"U+FF62": kakkoStartHalf,
"U+FF63": kakkoEndHalf,
"U+FF64": kutoutenHalf,
"U+FF65": kutoutenHalf,
"U+FF70": dash,
};
export class DualCharTable {
static load(str) {
let prop = Utils.String.getUnicodeProp(str);
let info = dualCharTable[prop];
return info || null;
}
}
//# sourceMappingURL=dual-char-table.js.map