diff --git a/.github/workflows/publish-package.yml b/.github/workflows/publish-package.yml new file mode 100644 index 0000000..c300fd1 --- /dev/null +++ b/.github/workflows/publish-package.yml @@ -0,0 +1,19 @@ +name: Publish on NPM +on: + release: + types: [published] + +jobs: + publish: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v3 + with: + node-version: "20" + cache: "yarn" + - run: yarn install --immutable + - run: yarn build + - uses: JS-DevTools/npm-publish@v3 + with: + token: ${{ secrets.NPM_TOKEN }} diff --git a/demo/src/index.ts b/demo/src/index.ts index 1ae68ed..d075a8f 100644 --- a/demo/src/index.ts +++ b/demo/src/index.ts @@ -1,39 +1,8 @@ import { font, getGlyphPath } from "../../src/index.ts"; -import { Glyph, Line, Vec } from "../../src/type"; import letters from "./letters"; const DEBUG = true; -const rotateGlyph = (g: Glyph) => - g.map((l: Line) => l.map((p: Vec) => [1 - p[0], 1 - p[1]])); -const upscaleGlyph = (g: Glyph) => - g.map((l: Line) => - l.map((p: Vec) => [p[0] * 1.33 - 0.166, p[1] * 1.33 - 0.33]), - ); - -const scaleGlyph = (g: Glyph) => - g.map((l: Line) => - l.map((p: Vec) => [0.166 + p[0] * 0.66, 0.166 + p[1] * 0.66]), - ); -const mirrorXGlyph = (g: Glyph) => - g.map((l: Line) => l.map((p: Vec) => [p[0], 1 - p[1]])); -const mirrorYGlyph = (g: Glyph) => - g.map((l: Line) => l.map((p: Vec) => [1 - p[0], p[1]])); - -// font["ɜ"] = mirrorYGlyph(font["ɛ"]) -// alert(`Ɣ: ${JSON.stringify(upscaleGlyph(font["ɣ"]))},`); - -const fontFamily = - 'ui-monospace, Menlo, Monaco,"Cascadia Mono", "Segoe UI Mono", "Roboto Mono","Oxygen Mono", "Ubuntu Monospace", "Source Code Pro", "Fira Mono", "Droid Sans Mono", "Courier New", monospace;'; -for (let l = 0; l < letters.length; l++) { - if (font[letters[l]] === undefined) { - console.log(`%c ${letters[l]}`, `${fontFamily} font-size: 3em`); - break; - } else { - console.log(`%c ✅${letters[l]}`, `${fontFamily} font-size: 2.5em`); - } -} - const app = document.getElementById("app"), form = document.createElement("form"), namespace = "http://www.w3.org/2000/svg", @@ -41,7 +10,8 @@ const app = document.getElementById("app"), input = document.createElement("textarea"), inputSize = document.createElement("input"), textAtLaunch = "Type text", - glyphKeys = Array.from(Object.keys(font)).join(""), + fontKey = Array.from(Object.keys(font)), + glyphKeys = letters.filter((l) => fontKey.includes(l)).join(""), group = document.createElementNS(namespace, "g"); const update = () => { @@ -96,7 +66,7 @@ const update = () => { group.appendChild(rect); } } - group.setAttribute("stroke-width", `${fontScale * 30}`); + group.setAttribute("stroke-width", `${fontScale * 40}`); svg.setAttribute("width", `${width}`); svg.setAttribute("height", `${height + 40}`); diff --git a/demo/src/letters.ts b/demo/src/letters.ts index e140487..e4c4b4c 100644 --- a/demo/src/letters.ts +++ b/demo/src/letters.ts @@ -53,4 +53,10 @@ export default [ ..."XẌẊ", ..."YÝỲŶŸỸẎȲỶỴɎƳỾ", ..."ȜZŹẐŽŻẒẔƵȤⱿƷǮƸÞǷƧƼƄɁ", + // Number + ..."1234567890", + // Punctuation + ...'"⁄_-–—,;;:!¡?¿.…··\'‘’‚‹›"“”„«»()[]{}§¶@*/\\&#%†•′″"', + // Currency + ..."₠₡₢₣₤₥₦₧₩₪₫€₭₮₯₰₱₲₳₴₵₶₷₸₹₺₻₼₽₾₿₨$£¤¥", ]; diff --git a/src/currency.ts b/src/currency.ts new file mode 100644 index 0000000..db91d3d --- /dev/null +++ b/src/currency.ts @@ -0,0 +1,623 @@ +import { type Font } from "./type"; + +export default { + "₠": [ + [ + [0.5, 0.2], + [0.275, 0.2], + [0.275, 0.525], + [0.65, 0.525], + ], + [ + [0.75, 0.35], + [0.5, 0.35], + [0.5, 0.7], + [0.75, 0.7], + ], + ], + "₡": [ + [ + [0.75, 0.25], + [0.35, 0.25], + [0.35, 0.65], + [0.75, 0.65], + ], + [ + [0.5, 0.2], + [0.4, 0.7], + ], + [ + [0.6, 0.2], + [0.5, 0.7], + ], + ], + "₢": [ + [ + [0.75, 0.2], + [0.25, 0.2], + [0.25, 0.7], + [0.75, 0.7], + ], + [ + [0.75, 0.414], + [0.6, 0.414], + [0.5, 0.486], + ], + [ + [0.5, 0.396], + [0.5, 0.7], + ], + ], + "₣": [ + [ + [0.75, 0.2], + [0.35, 0.2], + [0.35, 0.7], + ], + [ + [0.35, 0.45], + [0.55, 0.45], + ], + [ + [0.25, 0.6], + [0.45, 0.6], + ], + ], + "₤": [ + [ + [0.5, 0.2], + [0.35, 0.2], + [0.35, 0.75], + [0.25, 0.75], + [0.25, 0.65], + [0.725, 0.65], + ], + [ + [0.25, 0.4], + [0.65, 0.4], + ], + [ + [0.25, 0.5], + [0.65, 0.5], + ], + ], + "₥": [ + [ + [0.25, 0.7], + [0.25, 0.285], + ], + [ + [0.25, 0.3], + [0.75, 0.3], + [0.75, 0.7], + ], + [ + [0.5, 0.3], + [0.5, 0.7], + ], + [ + [0.75, 0.2], + [0.25, 0.75], + ], + ], + "₦": [ + [ + [0.35, 0.7], + [0.35, 0.2], + [0.65, 0.7], + [0.65, 0.2], + ], + [ + [0.25, 0.4], + [0.75, 0.4], + ], + [ + [0.25, 0.5], + [0.75, 0.5], + ], + ], + "₧": [ + [ + [0.15, 0.557], + [0.5, 0.557], + [0.5, 0.2], + [0.15, 0.2], + [0.15, 0.7], + ], + [ + [0.55, 0.414], + [0.85, 0.414], + ], + [ + [0.65, 0.271], + [0.65, 0.7], + [0.85, 0.7], + ], + ], + "₩": [ + [ + [0.35, 0.2], + [0.4, 0.7], + [0.5, 0.4], + [0.6, 0.7], + [0.65, 0.2], + ], + [ + [0.25, 0.45], + [0.75, 0.45], + ], + ], + "₪": [ + [ + [0.3, 0.7], + [0.3, 0.2], + [0.575, 0.2], + [0.575, 0.5], + ], + [ + [0.7, 0.2], + [0.7, 0.7], + [0.425, 0.7], + [0.425, 0.4], + ], + ], + "₫": [ + [ + [0.75, 0.2], + [0.75, 0.678], + ], + [ + [0.75, 0.65], + [0.25, 0.65], + [0.25, 0.414], + [0.75, 0.414], + ], + [ + [0.8, 0.25], + [0.55, 0.25], + ], + [ + [0.25, 0.7], + [0.75, 0.7], + ], + ], + "€": [ + [ + [0.75, 0.2], + [0.35, 0.2], + [0.35, 0.7], + [0.75, 0.7], + ], + [ + [0.25, 0.4], + [0.55, 0.4], + ], + [ + [0.25, 0.5], + [0.55, 0.5], + ], + ], + "₭": [ + [ + [0.25, 0.2], + [0.25, 0.7], + ], + [ + [0.75, 0.2], + [0.25, 0.45], + [0.75, 0.7], + ], + [ + [0.15, 0.45], + [0.85, 0.45], + ], + ], + "₮": [ + [ + [0.25, 0.2], + [0.75, 0.2], + ], + [ + [0.5, 0.2], + [0.5, 0.7], + ], + [ + [0.75, 0.35], + [0.25, 0.45], + ], + [ + [0.75, 0.45], + [0.25, 0.55], + ], + ], + "₯": [ + [ + [0.25, 0.2], + [0.5, 0.2], + [0.5, 0.7], + [0.3, 0.7], + ], + [ + [0.3, 0.2], + [0.3, 0.7], + ], + [ + [0.6, 0.9], + [0.6, 0.4], + [0.75, 0.4], + [0.75, 0.7], + [0.6, 0.7], + ], + ], + "₰": [ + [ + [0.25, 0.7], + [0.4, 0.5], + [0.5, 0.7], + [0.75, 0.3], + [0.5, 0.3], + [0.75, 0.9], + [0.6, 0.9], + ], + ], + "₱": [ + [ + [0.35, 0.45], + [0.65, 0.45], + [0.65, 0.2], + [0.35, 0.2], + [0.35, 0.7], + ], + [ + [0.25, 0.28], + [0.75, 0.28], + ], + [ + [0.25, 0.37], + [0.75, 0.37], + ], + ], + "₲": [ + [ + [0.75, 0.3], + [0.25, 0.3], + [0.25, 0.6], + [0.75, 0.6], + [0.75, 0.5], + [0.65, 0.5], + ], + [ + [0.5, 0.2], + [0.5, 0.7], + ], + ], + "₳": [ + [ + [0.25, 0.7], + [0.5, 0.2], + [0.75, 0.7], + ], + [ + [0.25, 0.4], + [0.75, 0.4], + ], + [ + [0.25, 0.55], + [0.75, 0.55], + ], + ], + "₴": [ + [ + [0.75, 0.7], + [0.25, 0.7], + [0.25, 0.6], + [0.75, 0.3], + [0.75, 0.2], + [0.25, 0.2], + ], + [ + [0.25, 0.366], + [0.75, 0.366], + ], + [ + [0.25, 0.533], + [0.75, 0.533], + ], + ], + "₵": [ + [ + [0.725, 0.35], + [0.275, 0.35], + [0.275, 0.65], + [0.725, 0.65], + ], + [ + [0.5, 0.2], + [0.5, 0.8], + ], + ], + "¢": [ + [ + [0.725, 0.35], + [0.275, 0.35], + [0.275, 0.65], + [0.725, 0.65], + ], + [ + [0.5, 0.2], + [0.5, 0.8], + ], + ], + "₶": [ + [ + [0.25, 0.3], + [0.75, 0.3], + ], + [ + [0.3, 0.2], + [0.3, 0.7], + ], + [ + [0.65, 0.2], + [0.65, 0.6], + [0.67, 0.65], + [0.7, 0.68], + [0.75, 0.7], + ], + ], + "₷": [ + [ + [0.25, 0.7], + [0.25, 0.396], + ], + [ + [0.25, 0.414], + [0.47, 0.414], + [0.47, 0.7], + ], + [ + [0.3625, 0.414], + [0.3625, 0.7], + ], + [ + [0.75, 0.2], + [0.53, 0.2], + [0.53, 0.414], + [0.75, 0.414], + [0.75, 0.7], + [0.53, 0.7], + ], + ], + "₸": [ + [ + [0.25, 0.2], + [0.75, 0.2], + ], + [ + [0.25, 0.3], + [0.75, 0.3], + ], + [ + [0.5, 0.3], + [0.5, 0.7], + ], + ], + "₹": [ + [ + [0.75, 0.2], + [0.25, 0.2], + [0.55, 0.25], + [0.62, 0.3], + [0.65, 0.35], + [0.62, 0.4], + [0.55, 0.45], + [0.25, 0.5], + [0.55, 0.7], + ], + [ + [0.25, 0.35], + [0.75, 0.35], + ], + ], + "₺": [ + [ + [0.35, 0.2], + [0.35, 0.7], + [0.52, 0.67], + [0.63, 0.62], + [0.7, 0.55], + [0.75, 0.45], + ], + [ + [0.25, 0.3], + [0.6, 0.2], + ], + [ + [0.25, 0.4], + [0.6, 0.3], + ], + ], + "₻": [ + [ + [0.75, 0.7], + [0.45, 0.7], + [0.37, 0.67], + [0.35, 0.6], + [0.35, 0.2], + [0.25, 0.2], + [0.25, 0.25], + [0.7, 0.25], + [0.75, 0.3], + [0.75, 0.5], + [0.6, 0.4], + [0.525, 0.5], + [0.45, 0.4], + [0.25, 0.55], + ], + ], + "₼": [ + [ + [0.25, 0.7], + [0.25, 0.5], + [0.35, 0.4], + [0.65, 0.4], + [0.75, 0.5], + [0.75, 0.7], + ], + [ + [0.5, 0.2], + [0.5, 0.6], + ], + ], + "₽": [ + [ + [0.25, 0.5], + [0.75, 0.5], + [0.75, 0.2], + [0.35, 0.2], + [0.35, 0.7], + ], + [ + [0.25, 0.6], + [0.5, 0.6], + ], + ], + "₾": [ + [ + [0.75, 0.3], + [0.35, 0.3], + [0.25, 0.5], + [0.4, 0.6], + [0.75, 0.7], + [0.25, 0.7], + ], + [ + [0.5, 0.2], + [0.5, 0.4], + ], + [ + [0.625, 0.2], + [0.625, 0.4], + ], + ], + "₿": [ + [ + [0.7, 0.45], + [0.7, 0.25], + [0.25, 0.25], + [0.25, 0.65], + [0.75, 0.65], + [0.75, 0.45], + [0.25, 0.45], + ], + [ + [0.33, 0.25], + [0.33, 0.2], + ], + [ + [0.66, 0.25], + [0.66, 0.2], + ], + [ + [0.33, 0.65], + [0.33, 0.7], + ], + [ + [0.66, 0.65], + [0.66, 0.7], + ], + ], + "₨": [ + [ + [0.25, 0.557], + [0.45, 0.557], + [0.45, 0.2], + [0.25, 0.2], + [0.25, 0.7], + ], + [ + [0.25, 0.557], + [0.45, 0.7], + ], + [ + [0.75, 0.414], + [0.55, 0.414], + [0.55, 0.557], + [0.75, 0.557], + [0.75, 0.7], + [0.55, 0.7], + ], + ], + $: [ + [ + [0.75, 0.25], + [0.25, 0.25], + [0.25, 0.557], + [0.75, 0.557], + [0.75, 0.65], + [0.25, 0.65], + ], + [ + [0.5, 0.2], + [0.5, 0.7], + ], + ], + "£": [ + [ + [0.5, 0.25], + [0.35, 0.25], + [0.35, 0.75], + [0.25, 0.75], + [0.25, 0.65], + [0.725, 0.65], + ], + [ + [0.25, 0.45], + [0.65, 0.45], + ], + ], + "¤": [ + [ + [0.4, 0.4], + [0.6, 0.4], + [0.6, 0.55], + [0.4, 0.55], + [0.4, 0.4], + ], + [ + [0.6, 0.4], + [0.65, 0.35], + ], + [ + [0.6, 0.55], + [0.65, 0.6], + ], + [ + [0.4, 0.55], + [0.35, 0.6], + ], + [ + [0.4, 0.4], + [0.35, 0.35], + ], + ], + "¥": [ + [ + [0.25, 0.2], + [0.5, 0.5], + [0.75, 0.2], + ], + [ + [0.5, 0.5], + [0.5, 0.7], + ], + [ + [0.25, 0.5], + [0.75, 0.5], + ], + [ + [0.25, 0.6], + [0.75, 0.6], + ], + ], +} as Font; diff --git a/src/index.ts b/src/index.ts index 92207ed..878fd35 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,13 +1,25 @@ import { type Vec, Line, Glyph, Font } from "./type"; import lowercase from "./lowercase/index"; import uppercase from "./uppercase/index"; -import ponctuation from "./poncuation"; +import punctuation from "./punctuation"; import number from "./number"; +import currency from "./currency"; -const font = { ...lowercase, ...uppercase, ...ponctuation, ...number } as Font; +/* + * Destructure every glyphs groups to compose the font + * To go deeper on this font sructure please refer to + * {@link https://github.com/nclslbrn/plotWriter/blob/main/src/type.d.ts} + */ +const font = { + ...lowercase, + ...uppercase, + ...number, + ...punctuation, + ...currency, +} as Font; /** - * A function to move and scale each glyph vertex/point/Vec coordinate + * A function to move and scale each glyph vertex/point/Vec coordinates */ const scaleAndMove = (v: Vec, size: Vec, pos: Vec): Vec => [ pos[0] + v[0] * size[0], @@ -49,7 +61,7 @@ const getGlyphPath = (key: string, size: Vec, pos: Vec): string[] => { ); } else { console.warn( - `Missing glyph ${key}, You can create it (and add it to this repository by making a pull request) or open an issue.`, + `Missing glyph "${key}" You can create it (and add it to this repository by making a pull request) or open an issue.`, ); return []; } diff --git a/src/lowercase/base.ts b/src/lowercase/base.ts index b3486bc..990efb9 100644 --- a/src/lowercase/base.ts +++ b/src/lowercase/base.ts @@ -3,8 +3,6 @@ import { type Font } from "../type"; /* * Base alphabet */ - -// const base = const base = { a: [ [ @@ -37,10 +35,13 @@ const base = { ], ɐ: [ [ - [0.15, 0.557], - [0.85, 0.557], - [0.85, 0.414], [0.15, 0.414], + [0.85, 0.414], + [0.85, 0.557], + [0.15, 0.557], + ], + [ + [0.15, 0.4], [0.15, 0.7], [0.7, 0.7], ], @@ -1817,7 +1818,7 @@ const base = { [0.15, 0.7], ], [ - [0.65, 0.7], + [0.65, 0.85], [0.65, 0.414], [0.15, 0.414], ], @@ -2344,2381 +2345,5 @@ const base = { ], ], } as Font; -/* -const base = { - a: [ - [ - [0.85, 0.5], - [0.15, 0.5], - [0.15, 0.7], - [0.85, 0.7], - ], - [ - [0.85, 0.725], - [0.85, 0.3], - [0.3, 0.3], - ], - ], - æ: [ - [ - [0.5, 0.3], - [0.85, 0.3], - [0.85, 0.5], - [0.15, 0.5], - [0.15, 0.7], - [0.5, 0.7], - [0.5, 0.3], - [0.15, 0.3], - ], - [ - [0.5, 0.7], - [0.85, 0.7], - ], - ], - ɐ: [ - [ - [0.15, 0.5], - [0.85, 0.5], - [0.85, 0.3], - [0.15, 0.3], - [0.15, 0.7], - [0.7, 0.7], - ], - ], - ɑ: [ - [ - [0.85, 0.5], - [0.15, 0.5], - [0.15, 0.7], - [0.85, 0.7], - ], - [ - [0.85, 0.725], - [0.85, 0.3], - ], - ], - ɒ: [ - [ - [0.15, 0.5], - [0.85, 0.5], - [0.85, 0.3], - [0.15, 0.3], - ], - [ - [0.15, 0.275], - [0.15, 0.7], - ], - ], - - b: [ - [ - [0.15, 0.1], - [0.15, 0.725], - ], - [ - [0.15, 0.7], - [0.85, 0.7], - [0.85, 0.3], - [0.15, 0.3], - ], - ], - ʙ: [ - [ - [0.55, 0.5], - [0.55, 0.35], - [0.35, 0.35], - [0.35, 0.65], - [0.65, 0.65], - [0.65, 0.5], - [0.35, 0.5], - ], - ], - ƀ: [ - [ - [0.15, 0.1], - [0.15, 0.725], - ], - [ - [0.15, 0.7], - [0.85, 0.7], - [0.85, 0.3], - [0.15, 0.3], - ], - [ - [0.05, 0.165], - [0.25, 0.165], - ], - ], - ɓ: [ - [ - [0.35, 0.1], - [0.15, 0.1], - [0.15, 0.725], - ], - [ - [0.15, 0.7], - [0.85, 0.7], - [0.85, 0.3], - [0.15, 0.3], - ], - ], - ƃ: [ - [ - [0.85, 0.1], - [0.15, 0.1], - [0.15, 0.725], - ], - [ - [0.15, 0.7], - [0.85, 0.7], - [0.85, 0.3], - [0.15, 0.3], - ], - ], - - c: [ - [ - [0.85, 0.3], - [0.15, 0.3], - [0.15, 0.7], - [0.85, 0.7], - ], - ], - ɕ: [ - [ - [0.85, 0.3], - [0.15, 0.3], - [0.15, 0.7], - [0.85, 0.7], - [0.5, 0.55], - [0.15, 0.75], - ], - ], - - d: [ - [ - [0.85, 0.1], - [0.85, 0.725], - ], - [ - [0.85, 0.7], - [0.15, 0.7], - [0.15, 0.3], - [0.85, 0.3], - ], - ], - đ: [ - [ - [0.85, 0.1], - [0.85, 0.725], - ], - [ - [0.85, 0.7], - [0.15, 0.7], - [0.15, 0.3], - [0.85, 0.3], - ], - [ - [0.75, 0.165], - [0.95, 0.165], - ], - ], - ð: [ - [ - [0.5, 0.1], - [0.85, 0.3], - [0.85, 0.725], - ], - [ - [0.85, 0.7], - [0.15, 0.7], - [0.15, 0.3], - [0.85, 0.3], - ], - [ - [0.5, 0.2], - [0.65, 0.1], - ], - ], - ȸ: [ - [ - [0.5, 0.1], - [0.5, 0.725], - ], - [ - [0.15, 0.3], - [0.85, 0.3], - [0.85, 0.7], - [0.15, 0.7], - [0.15, 0.3], - ], - ], - dz: [ - [ - [0.45, 0.1], - [0.45, 0.725], - ], - [ - [0.45, 0.7], - [0.15, 0.7], - [0.15, 0.3], - [0.45, 0.3], - ], - [ - [0.55, 0.3], - [0.85, 0.3], - [0.55, 0.7], - [0.85, 0.7], - ], - ], - ʣ: [ - [ - [0.5, 0.1], - [0.5, 0.725], - ], - [ - [0.5, 0.7], - [0.15, 0.7], - [0.15, 0.3], - [0.5, 0.3], - ], - [ - [0.5, 0.3], - [0.85, 0.3], - [0.5, 0.7], - [0.85, 0.7], - ], - ], - dž: [ - [ - [0.45, 0.1], - [0.45, 0.725], - ], - [ - [0.45, 0.7], - [0.15, 0.7], - [0.15, 0.3], - [0.45, 0.3], - ], - [ - [0.55, 0.3], - [0.85, 0.3], - [0.55, 0.7], - [0.85, 0.7], - ], - [ - [0.55, 0.1], - [0.7, 0.2], - [0.85, 0.1], - ], - ], - ʥ: [ - [ - [0.5, 0.1], - [0.5, 0.725], - ], - [ - [0.5, 0.7], - [0.15, 0.7], - [0.15, 0.3], - [0.5, 0.3], - ], - [ - [0.5, 0.3], - [0.85, 0.3], - [0.5, 0.7], - [0.85, 0.7], - [0.85, 0.6], - [0.65, 0.8], - ], - ], - ʤ: [ - [ - [0.5, 0.1], - [0.5, 0.725], - ], - [ - [0.5, 0.7], - [0.15, 0.7], - [0.15, 0.3], - [0.5, 0.3], - ], - [ - [0.5, 0.3], - [0.85, 0.3], - [0.55, 0.55], - [0.85, 0.7], - [0.7, 0.9], - [0.5, 0.8], - ], - ], - ɗ: [ - [ - [0.95, 0.1], - [0.91, 0.11], - [0.85, 0.15], - [0.85, 0.725], - ], - [ - [0.85, 0.7], - [0.15, 0.7], - [0.15, 0.3], - [0.85, 0.3], - ], - ], - ƌ: [ - [ - [0.15, 0.15], - [0.85, 0.15], - [0.85, 0.725], - ], - [ - [0.85, 0.7], - [0.15, 0.7], - [0.15, 0.3], - [0.85, 0.3], - ], - ], - ȡ: [ - [ - [0.65, 0.1], - [0.65, 0.725], - ], - [ - [0.65, 0.7], - [0.15, 0.7], - [0.15, 0.3], - [0.65, 0.3], - ], - [ - [0.5, 0.7], - [0.85, 0.7], - [0.85, 0.6], - [0.65, 0.8], - ], - ], - ẟ: [ - [ - [0.75, 0.1], - [0.25, 0.1], - [0.25, 0.3], - [0.75, 0.3], - [0.75, 0.7], - [0.25, 0.7], - [0.25, 0.5], - [0.75, 0.5], - ], - ], - - e: [ - [ - [0.15, 0.5], - [0.85, 0.5], - [0.85, 0.3], - [0.15, 0.3], - [0.15, 0.7], - [0.85, 0.7], - ], - ], - ə: [ - [ - [0.85, 0.5], - [0.15, 0.5], - [0.15, 0.7], - [0.85, 0.7], - [0.85, 0.3], - [0.15, 0.3], - ], - ], - ǝ: [ - [ - [0.75, 0.5], - [0.25, 0.5], - [0.25, 0.65], - [0.75, 0.65], - [0.75, 0.35], - [0.25, 0.35], - ], - ], - ɛ: [ - [ - [0.75, 0.3], - [0.25, 0.3], - [0.25, 0.7], - [0.75, 0.7], - ], - [ - [0.25, 0.5], - [0.75, 0.5], - ], - ], - ɘ: [ - [ - [0.85, 0.5], - [0.15, 0.5], - [0.15, 0.3], - [0.85, 0.3], - [0.85, 0.7], - [0.15, 0.7], - ], - ], - ɚ: [ - [ - [0.95, 0.5], - [0.9, 0.45], - [0.9, 0.4], - [0.15, 0.55], - [0.225, 0.8], - [0.85, 0.7], - [0.75, 0.3], - [0.25, 0.4], - ], - ], - ɜ: [ - [ - [0.15, 0.3], - [0.85, 0.3], - [0.85, 0.7], - [0.15, 0.7], - ], - [ - [0.5, 0.5], - [0.85, 0.5], - ], - ], - ɝ: [ - [ - [0.15, 0.3], - [0.7, 0.3], - [0.7, 0.7], - [0.15, 0.7], - ], - [ - [0.5, 0.5], - [0.73, 0.5], - ], - [ - [0.85, 0.5], - [0.8, 0.45], - [0.8, 0.4], - [0.7, 0.4], - ], - ], - ɞ: [ - [ - [0.2, 0.3], - [0.8, 0.3], - [0.8, 0.7], - [0.2, 0.7], - [0.2, 0.3], - ], - [ - [0.5, 0.5], - [0.8, 0.5], - ], - ], - ʚ: [ - [ - [0.2, 0.3], - [0.8, 0.3], - [0.8, 0.7], - [0.2, 0.7], - [0.2, 0.3], - ], - [ - [0.2, 0.5], - [0.5, 0.5], - ], - ], - ɤ: [ - [ - [0.15, 0.4], - [0.25, 0.3], - [0.65, 0.6], - [0.5, 0.7], - [0.35, 0.6], - [0.75, 0.3], - [0.85, 0.4], - ], - ], - - f: [ - [ - [0.15, 0.5], - [0.7, 0.5], - ], - [ - [0.3, 0.7], - [0.3, 0.2], - [0.85, 0.2], - ], - ], - ʩ: [ - [ - [0.15, 0.5], - [0.5, 0.5], - ], - [ - [0.25, 0.7], - [0.25, 0.2], - [0.5, 0.2], - ], - [ - [0.5, 0.475], - [0.5, 0.7], - ], - [ - [0.5, 0.5], - [0.85, 0.5], - [0.85, 0.8], - [0.825, 0.85], - [0.75, 0.9], - ], - ], - ƒ: [ - [ - [0.15, 0.35], - [0.7, 0.35], - ], - [ - [0.25, 0.825], - [0.3, 0.89], - [0.325, 0.9], - [0.35, 0.89], - [0.4, 0.825], - [0.4, 0.8], - [0.4, 0.2], - [0.85, 0.2], - ], - ], - - g: [ - [ - [0.85, 0.7], - [0.15, 0.7], - [0.15, 0.3], - [0.85, 0.3], - ], - [ - [0.85, 0.275], - [0.85, 0.9], - [0.5, 0.9], - ], - ], - ɡ: [ - [ - [0.885, 0.72], - [0.115, 0.72], - [0.115, 0.28], - [0.885, 0.28], - ], - [ - [0.885, 0.2525], - [0.885, 0.94], - [0.5, 0.94], - ], - ], - ɢ: [ - [ - [0.725, 0.3], - [0.265, 0.3], - [0.265, 0.628], - [0.725, 0.628], - [0.725, 0.5], - [0.5, 0.5], - ], - ], - ǥ: [ - [ - [0.75, 0.7], - [0.15, 0.7], - [0.15, 0.3], - [0.75, 0.3], - ], - [ - [0.75, 0.275], - [0.75, 0.9], - [0.5, 0.9], - ], - [ - [0.65, 0.8], - [0.85, 0.8], - ], - ], - ʛ: [ - [ - [0.8, 0.2], - [0.75, 0.225], - [0.725, 0.25], - [0.725, 0.3], - [0.265, 0.3], - [0.265, 0.628], - [0.725, 0.628], - [0.725, 0.5], - [0.5, 0.5], - ], - ], - ɣ: [ - [ - [0.35, 0.3], - [0.55, 0.8], - [0.5, 0.85], - [0.45, 0.8], - [0.65, 0.3], - ], - ], - ƣ: [ - [ - [0.15, 0.4], - [0.65, 0.4], - [0.65, 0.75], - [0.15, 0.75], - [0.15, 0.4], - ], - [ - [0.65, 0.4], - [0.75, 0.35], - [0.85, 0.4], - [0.85, 0.9], - ], - ], - - h: [ - [ - [0.15, 0.7], - [0.15, 0.1], - ], - [ - [0.125, 0.3], - [0.85, 0.3], - [0.85, 0.7], - ], - ], - ħ: [ - [ - [0.25, 0.7], - [0.25, 0.1], - ], - [ - [0.225, 0.3], - [0.85, 0.3], - [0.85, 0.7], - ], - [ - [0.15, 0.2], - [0.35, 0.2], - ], - ], - ʜ: [ - [ - [0.265, 0.3], - [0.265, 0.628], - ], - [ - [0.265, 0.5], - [0.73, 0.5], - ], - [ - [0.73, 0.3], - [0.73, 0.628], - ], - ], - ƕ: [ - [ - [0.15, 0.7], - [0.15, 0.1], - ], - [ - [0.125, 0.3], - [0.5, 0.3], - [0.5, 0.7], - [0.85, 0.7], - [0.85, 0.3], - ], - ], - ɦ: [ - [ - [0.15, 0.7], - [0.15, 0.2], - [0.16, 0.145], - [0.2, 0.1], - ], - [ - [0.125, 0.3], - [0.85, 0.3], - [0.85, 0.7], - ], - ], - ɧ: [ - [ - [0.15, 0.7], - [0.15, 0.2], - [0.16, 0.145], - [0.2, 0.1], - ], - [ - [0.125, 0.3], - [0.85, 0.3], - [0.85, 0.8], - [0.83, 0.85], - [0.75, 0.9], - ], - ], - - i: [ - [ - [0.5, 0.1], - [0.5, 0.125], - ], - [ - [0.15, 0.3], - [0.5, 0.3], - [0.5, 0.7], - [0.65, 0.7], - ], - [ - [0.15, 0.7], - [0.85, 0.7], - ], - ], - ij: [ - [ - [0.35, 0.1], - [0.35, 0.125], - ], - [ - [0.15, 0.3], - [0.35, 0.3], - [0.35, 0.7], - [0.4, 0.7], - ], - [ - [0.35, 0.7], - [0.35, 0.7], - ], - [ - [0.65, 0.1], - [0.65, 0.125], - ], - [ - [0.5, 0.3], - [0.8, 0.3], - ], - [ - [0.65, 0.3], - [0.65, 0.9], - [0.35, 0.9], - ], - ], - ı: [ - [ - [0.15, 0.3], - [0.5, 0.3], - [0.5, 0.7], - [0.65, 0.7], - ], - [ - [0.15, 0.7], - [0.85, 0.7], - ], - ], - ɪ: [ - [ - [0.265, 0.3], - [0.73, 0.3], - ], - [ - [0.265, 0.628], - [0.73, 0.628], - ], - [ - [0.5, 0.3], - [0.5, 0.628], - ], - ], - ɨ: [ - [ - [0.5, 0.1], - [0.5, 0.125], - ], - [ - [0.15, 0.3], - [0.5, 0.3], - [0.5, 0.7], - [0.65, 0.7], - ], - [ - [0.15, 0.7], - [0.85, 0.7], - ], - [ - [0.35, 0.45], - [0.65, 0.45], - ], - ], - ɩ: [ - [ - [0.5, 0.3], - [0.5, 0.6], - [0.55, 0.65], - [0.6, 0.68], - [0.65, 0.7], - ], - ], - - j: [ - [ - [0.6, 0.1], - [0.6, 0.125], - ], - [ - [0.15, 0.3], - [0.85, 0.3], - ], - [ - [0.6, 0.3], - [0.6, 0.9], - [0.15, 0.9], - ], - ], - ȷ: [ - [ - [0.15, 0.3], - [0.85, 0.3], - ], - [ - [0.6, 0.3], - [0.6, 0.9], - [0.15, 0.9], - ], - ], - ɉ: [ - [ - [0.6, 0.1], - [0.6, 0.125], - ], - [ - [0.15, 0.3], - [0.85, 0.3], - ], - [ - [0.6, 0.3], - [0.6, 0.9], - [0.15, 0.9], - ], - [ - [0.45, 0.45], - [0.75, 0.45], - ], - ], - ʝ: [ - [ - [0.6, 0.1], - [0.6, 0.125], - ], - [ - [0.15, 0.3], - [0.85, 0.3], - ], - [ - [0.6, 0.3], - [0.6, 0.9], - [0.15, 0.9], - [0.15, 0.7], - [0.75, 0.7], - ], - ], - ɟ: [ - [ - [0.15, 0.3], - [0.85, 0.3], - ], - [ - [0.6, 0.3], - [0.6, 0.9], - [0.15, 0.9], - ], - [ - [0.45, 0.65], - [0.75, 0.65], - ], - ], - ʄ: [ - [ - [0.75, 0.15], - [0.7, 0.15], - [0.64, 0.18], - [0.6, 0.25], - [0.6, 0.9], - [0.15, 0.9], - ], - [ - [0.45, 0.65], - [0.75, 0.65], - ], - ], - - k: [ - [ - [0.15, 0.7], - [0.15, 0.1], - ], - [ - [0.85, 0.3], - [0.15, 0.5], - [0.85, 0.7], - ], - ], - ƙ: [ - [ - [0.15, 0.7], - [0.15, 0.3], - [0.17, 0.2], - [0.23, 0.12], - [0.3, 0.1], - ], - [ - [0.85, 0.3], - [0.15, 0.5], - [0.85, 0.7], - ], - ], - ʞ: [ - [ - [0.85, 0.3], - [0.85, 0.9], - ], - [ - [0.15, 0.7], - [0.85, 0.5], - [0.15, 0.3], - ], - ], - l: [ - [ - [0.15, 0.1], - [0.4, 0.1], - [0.4, 0.7], - ], - [ - [0.15, 0.7], - [0.85, 0.7], - ], - ], - ł: [ - [ - [0.15, 0.1], - [0.4, 0.1], - [0.4, 0.7], - ], - [ - [0.15, 0.7], - [0.85, 0.7], - ], - [ - [0.25, 0.5], - [0.55, 0.4], - ], - ], - ŀ: [ - [ - [0.15, 0.1], - [0.4, 0.1], - [0.4, 0.7], - ], - [ - [0.15, 0.7], - [0.85, 0.7], - ], - [ - [0.6, 0.425], - [0.6, 0.475], - ], - ], - lj: [ - [ - [0.15, 0.1], - [0.35, 0.1], - [0.35, 0.7], - ], - [ - [0.15, 0.7], - [0.55, 0.7], - ], - - [ - [0.65, 0.1], - [0.65, 0.125], - ], - [ - [0.5, 0.3], - [0.85, 0.3], - ], - [ - [0.65, 0.3], - [0.65, 0.9], - [0.5, 0.9], - ], - ], - ỻ: [ - [ - [0.35, 0.1], - [0.35, 0.7], - ], - [ - [0.65, 0.1], - [0.65, 0.7], - ], - [ - [0.25, 0.15], - [0.75, 0.15], - ], - ], - ʪ: [ - [ - [0.15, 0.1], - [0.35, 0.1], - [0.35, 0.7], - ], - [ - [0.15, 0.7], - [0.85, 0.7], - [0.85, 0.5], - [0.55, 0.5], - [0.55, 0.2], - [0.85, 0.2], - ], - ], - ʫ: [ - [ - [0.15, 0.1], - [0.35, 0.1], - [0.35, 0.7], - ], - [ - [0.15, 0.7], - [0.85, 0.7], - ], - [ - [0.5, 0.2], - [0.85, 0.2], - [0.5, 0.7], - ], - ], - ʟ: [ - [ - [0.265, 0.3], - [0.265, 0.628], - [0.73, 0.628], - ], - ], - ƚ: [ - [ - [0.15, 0.1], - [0.4, 0.1], - [0.4, 0.7], - ], - [ - [0.15, 0.7], - [0.85, 0.7], - ], - [ - [0.25, 0.45], - [0.55, 0.45], - ], - ], - ɫ: [ - [ - [0.15, 0.1], - [0.4, 0.1], - [0.4, 0.7], - ], - [ - [0.15, 0.7], - [0.85, 0.7], - ], - [ - [0.25, 0.5], - [0.25, 0.4], - [0.55, 0.5], - [0.55, 0.4], - ], - ], - ɬ: [ - [ - [0.15, 0.1], - [0.4, 0.1], - [0.4, 0.7], - ], - [ - [0.15, 0.7], - [0.85, 0.7], - ], - [ - [0.4, 0.45], - [0.4, 0.4], - [0.25, 0.4], - [0.25, 0.55], - [0.75, 0.55], - ], - ], - ɭ: [ - [ - [0.15, 0.1], - [0.4, 0.1], - [0.4, 0.9], - [0.5, 0.9], - ], - ], - ȴ: [ - [ - [0.5, 0.1], - [0.5, 0.9], - [0.75, 0.9], - [0.75, 0.7], - [0.3, 0.8], - [0.3, 0.9], - ], - ], - ɮ: [ - [ - [0.15, 0.1], - [0.35, 0.1], - [0.35, 0.7], - ], - [ - [0.15, 0.7], - [0.5, 0.7], - ], - [ - [0.35, 0.3], - [0.85, 0.3], - [0.55, 0.55], - [0.85, 0.7], - [0.7, 0.9], - [0.5, 0.8], - ], - ], - ƛ: [ - [ - [0.3, 0.15], - [0.5, 0.2], - [0.85, 0.7], - ], - [ - [0.62, 0.4], - [0.15, 0.7], - ], - [ - [0.48, 0.35], - [0.65, 0.25], - ], - ], - ʎ: [ - [ - [0.7, 0.15], - [0.5, 0.2], - [0.15, 0.7], - ], - [ - [0.38, 0.4], - [0.85, 0.7], - ], - ], - - m: [ - [ - [0.15, 0.7], - [0.15, 0.275], - ], - [ - [0.15, 0.3], - [0.85, 0.3], - [0.85, 0.7], - ], - [ - [0.5, 0.3], - [0.5, 0.7], - ], - ], - - n: [ - [ - [0.15, 0.7], - [0.15, 0.275], - ], - [ - [0.15, 0.3], - [0.85, 0.3], - [0.85, 0.7], - ], - ], - nj: [ - [ - [0.15, 0.7], - [0.15, 0.275], - ], - [ - [0.15, 0.3], - [0.45, 0.3], - [0.45, 0.7], - ], - [ - [0.7, 0.1], - [0.7, 0.125], - ], - [ - [0.55, 0.3], - [0.85, 0.3], - ], - [ - [0.7, 0.3], - [0.7, 0.9], - [0.45, 0.9], - ], - ], - ɴ: [ - [ - [0.265, 0.628], - [0.265, 0.3], - [0.73, 0.628], - [0.73, 0.3], - ], - ], - ɲ: [ - [ - [0.1, 0.77], - [0.125, 0.75], - [0.15, 0.7], - [0.15, 0.275], - ], - [ - [0.15, 0.3], - [0.85, 0.3], - [0.85, 0.7], - ], - ], - ƞ: [ - [ - [0.15, 0.7], - [0.15, 0.275], - ], - [ - [0.15, 0.3], - [0.85, 0.3], - [0.85, 0.9], - ], - ], - ɳ: [ - [ - [0.15, 0.7], - [0.15, 0.275], - ], - [ - [0.15, 0.3], - [0.77, 0.3], - [0.77, 0.85], - [0.85, 0.9], - ], - ], - ȵ: [ - [ - [0.15, 0.7], - [0.15, 0.275], - ], - [ - [0.15, 0.3], - [0.65, 0.3], - [0.65, 0.9], - [0.85, 0.9], - [0.85, 0.7], - [0.5, 0.9], - ], - ], - - o: [ - [ - [0.15, 0.7], - [0.15, 0.3], - [0.85, 0.3], - [0.85, 0.7], - [0.15, 0.7], - ], - ], - ɶ: [ - [ - [0.265, 0.3], - [0.265, 0.628], - [0.5, 0.628], - [0.5, 0.3], - [0.265, 0.3], - ], - [ - [0.73, 0.3], - [0.5, 0.3], - ], - [ - [0.5, 0.628], - [0.73, 0.628], - ], - [ - [0.5, 0.5], - [0.65, 0.5], - ], - ], - ɔ: [ - [ - [0.15, 0.7], - [0.85, 0.7], - [0.85, 0.3], - [0.15, 0.3], - ], - ], - ɵ: [ - [ - [0.15, 0.7], - [0.15, 0.3], - [0.85, 0.3], - [0.85, 0.7], - [0.15, 0.7], - ], - [ - [0.15, 0.5], - [0.85, 0.5], - ], - ], - ɷ: [ - [ - [0.15, 0.7], - [0.15, 0.3], - [0.85, 0.3], - [0.85, 0.7], - [0.15, 0.7], - ], - [ - [0.5, 0.7], - [0.5, 0.5], - ], - ], - ȣ: [ - [ - [0.15, 0.7], - [0.15, 0.3], - [0.85, 0.3], - [0.85, 0.7], - [0.15, 0.7], - ], - [ - [0.15, 0.3], - [0.15, 0.1], - ], - [ - [0.85, 0.3], - [0.85, 0.1], - ], - ], - œ: [ - [ - [0.5, 0.3], - [0.85, 0.3], - [0.85, 0.5], - [0.5, 0.5], - [0.5, 0.3], - [0.15, 0.3], - [0.15, 0.7], - [0.5, 0.7], - [0.5, 0.5], - ], - [ - [0.5, 0.7], - [0.85, 0.7], - ], - ], - - p: [ - [ - [0.15, 0.9], - [0.15, 0.3], - [0.85, 0.3], - [0.85, 0.7], - [0.125, 0.7], - ], - ], - - ƥ: [ - [ - [0.15, 0.3], - [0.85, 0.3], - [0.85, 0.7], - [0.15, 0.7], - ], - [ - [0.15, 0.9], - [0.15, 0.2], - [0.16, 0.145], - [0.2, 0.1], - ], - ], - ɸ: [ - [ - [0.15, 0.7], - [0.15, 0.3], - [0.85, 0.3], - [0.85, 0.7], - [0.15, 0.7], - ], - [ - [0.5, 0.9], - [0.5, 0.1], - ], - ], - - q: [ - [ - [0.85, 0.9], - [0.85, 0.3], - [0.15, 0.3], - [0.15, 0.7], - [0.875, 0.7], - ], - ], - ȹ: [ - [ - [0.85, 0.7], - [0.85, 0.3], - [0.15, 0.3], - [0.15, 0.7], - [0.85, 0.7], - ], - [ - [0.5, 0.3], - [0.5, 0.9], - ], - ], - ɋ: [ - [ - [0.85, 0.9], - [0.77, 0.85], - [0.77, 0.3], - [0.15, 0.3], - [0.15, 0.7], - [0.8, 0.7], - ], - ], - ĸ: [ - [ - [0.265, 0.3], - [0.265, 0.628], - ], - [ - [0.73, 0.3], - [0.265, 0.5], - [0.73, 0.628], - ], - ], - - r: [ - [ - [0.85, 0.3], - [0.35, 0.3], - [0.15, 0.4], - ], - [ - [0.15, 0.275], - [0.15, 0.7], - ], - ], - ʀ: [ - [ - [0.265, 0.5], - [0.73, 0.5], - [0.73, 0.3], - [0.265, 0.3], - [0.265, 0.628], - ], - [ - [0.265, 0.5], - [0.73, 0.628], - ], - ], - ɍ: [ - [ - [0.85, 0.3], - [0.45, 0.3], - [0.25, 0.4], - ], - [ - [0.25, 0.275], - [0.25, 0.7], - ], - [ - [0.15, 0.5125], - [0.35, 0.5125], - ], - ], - ɹ: [ - [ - [0.15, 0.7], - [0.65, 0.7], - [0.85, 0.6], - ], - [ - [0.85, 0.725], - [0.85, 0.3], - ], - ], - ɺ: [ - [ - [0.15, 0.7], - [0.65, 0.7], - [0.85, 0.6], - ], - [ - [0.85, 0.725], - [0.85, 0.1], - ], - ], - ɻ: [ - [ - [0.15, 0.7], - [0.65, 0.7], - [0.77, 0.6], - ], - [ - [0.85, 0.9], - [0.77, 0.85], - [0.77, 0.725], - [0.77, 0.3], - ], - ], - ɼ: [ - [ - [0.85, 0.3], - [0.35, 0.3], - [0.15, 0.4], - ], - [ - [0.15, 0.275], - [0.15, 0.9], - ], - ], - ɽ: [ - [ - [0.85, 0.3], - [0.35, 0.3], - [0.15, 0.4], - ], - [ - [0.15, 0.275], - [0.15, 0.85], - [0.175, 0.875], - [0.25, 0.9], - ], - ], - ɾ: [ - [ - [0.85, 0.3], - [0.35, 0.3], - [0.15, 0.4], - [0.15, 0.7], - ], - ], - ɿ: [ - [ - [0.15, 0.3], - [0.65, 0.3], - [0.85, 0.4], - [0.85, 0.9], - ], - ], - ʁ: [ - [ - [0.265, 0.5], - [0.73, 0.5], - [0.73, 0.7], - [0.265, 0.7], - [0.265, 0.364], - ], - [ - [0.265, 0.496], - [0.73, 0.364], - ], - ], - - s: [ - [ - [0.85, 0.3], - [0.15, 0.3], - [0.15, 0.5], - [0.85, 0.5], - [0.85, 0.7], - [0.15, 0.7], - ], - ], - ſ: [ - [ - [0.85, 0.3], - [0.35, 0.3], - [0.35, 0.9], - ], - ], - ß: [ - [ - [0.15, 0.7], - [0.15, 0.25], - [0.5, 0.25], - [0.5, 0.35], - [0.35, 0.35], - [0.35, 0.5], - [0.85, 0.5], - [0.85, 0.7], - [0.35, 0.7], - ], - ], - ȿ: [ - [ - [0.85, 0.3], - [0.15, 0.3], - [0.15, 0.5], - [0.85, 0.5], - [0.85, 0.7], - [0.15, 0.7], - ], - [ - [0.15, 0.7], - [0.25, 0.8], - [0.35, 0.8], - ], - ], - ẜ: [ - [ - [0.85, 0.3], - [0.35, 0.3], - [0.35, 0.9], - ], - [ - [0.15, 0.6], - [0.55, 0.4], - ], - ], - ẝ: [ - [ - [0.85, 0.3], - [0.35, 0.3], - [0.35, 0.9], - ], - [ - [0.15, 0.55], - [0.55, 0.55], - ], - ], - ʃ: [ - [ - [0.85, 0.3], - [0.5, 0.3], - [0.5, 0.9], - [0.15, 0.9], - ], - ], - ƪ: [ - [ - [0.45, 0.45], - [0.3, 0.45], - [0.3, 0.3], - [0.45, 0.3], - [0.45, 0.9], - [0.75, 0.9], - ], - ], - ʅ: [ - [ - [0.25, 0.3], - [0.5, 0.3], - [0.5, 0.9], - [0.75, 0.9], - ], - ], - ʆ: [ - [ - [0.85, 0.3], - [0.45, 0.3], - [0.45, 0.9], - [0.25, 0.9], - [0.25, 0.75], - [0.5, 0.75], - ], - ], - - t: [ - [ - [0.15, 0.3], - [0.85, 0.3], - ], - [ - [0.35, 0.2], - [0.35, 0.7], - [0.85, 0.7], - ], - ], - ʨ: [ - [ - [0.15, 0.3], - [0.5, 0.3], - ], - [ - [0.25, 0.2], - [0.25, 0.7], - [0.85, 0.6], - [0.85, 0.7], - [0.6, 0.7], - [0.6, 0.3], - [0.85, 0.3], - ], - ], - ƾ: [ - [ - [0.15, 0.3], - [0.85, 0.3], - ], - [ - [0.35, 0.2], - [0.35, 0.5], - [0.65, 0.5], - [0.65, 0.7], - [0.15, 0.7], - ], - ], - ʦ: [ - [ - [0.15, 0.3], - [0.5, 0.3], - ], - [ - [0.25, 0.2], - [0.25, 0.7], - [0.85, 0.7], - [0.85, 0.5], - [0.6, 0.5], - [0.6, 0.3], - [0.85, 0.3], - ], - ], - ʧ: [ - [ - [0.15, 0.3], - [0.5, 0.3], - ], - [ - [0.25, 0.2], - [0.25, 0.7], - [0.5, 0.7], - ], - [ - [0.75, 0.15], - [0.5, 0.15], - [0.5, 0.9], - [0.4, 0.9], - ], - ], - ŧ: [ - [ - [0.15, 0.3], - [0.85, 0.3], - ], - [ - [0.15, 0.5], - [0.85, 0.5], - ], - [ - [0.35, 0.2], - [0.35, 0.7], - [0.85, 0.7], - ], - ], - ƭ: [ - [ - [0.15, 0.3], - [0.85, 0.3], - ], - [ - [0.5, 0.2], - [0.35, 0.2], - [0.35, 0.7], - [0.85, 0.7], - ], - ], - ʈ: [ - [ - [0.15, 0.3], - [0.85, 0.3], - ], - [ - [0.35, 0.2], - [0.35, 0.9], - [0.65, 0.9], - ], - ], - ȶ: [ - [ - [0.25, 0.3], - [0.85, 0.3], - ], - [ - [0.5, 0.2], - [0.5, 0.7], - [0.85, 0.7], - [0.85, 0.5], - [0.25, 0.7], - ], - ], - ʇ: [ - [ - [0.85, 0.7], - [0.15, 0.7], - ], - [ - [0.65, 0.8], - [0.65, 0.3], - [0.15, 0.3], - ], - ], - - u: [ - [ - [0.15, 0.3], - [0.15, 0.7], - [0.85, 0.7], - ], - [ - [0.85, 0.75], - [0.85, 0.3], - ], - ], - ʉ: [ - [ - [0.25, 0.3], - [0.25, 0.7], - [0.75, 0.7], - ], - [ - [0.75, 0.75], - [0.75, 0.3], - ], - [ - [0.15, 0.45], - [0.85, 0.45], - ], - ], - ɥ: [ - [ - [0.25, 0.3], - [0.25, 0.7], - [0.8, 0.7], - ], - [ - [0.75, 0.9], - [0.75, 0.3], - ], - ], - ʮ: [ - [ - [0.25, 0.3], - [0.35, 0.3], - [0.35, 0.7], - [0.8, 0.7], - ], - [ - [0.75, 0.9], - [0.75, 0.3], - ], - ], - ʯ: [ - [ - [0.25, 0.3], - [0.35, 0.3], - [0.35, 0.7], - [0.8, 0.7], - ], - [ - [0.85, 0.9], - [0.75, 0.9], - [0.75, 0.3], - ], - ], - ɯ: [ - [ - [0.85, 0.3], - [0.85, 0.725], - ], - [ - [0.85, 0.7], - [0.15, 0.7], - [0.15, 0.3], - ], - [ - [0.5, 0.3], - [0.5, 0.7], - ], - ], - ɰ: [ - [ - [0.75, 0.3], - [0.75, 0.9], - ], - [ - [0.75, 0.7], - [0.25, 0.7], - [0.25, 0.3], - ], - [ - [0.5, 0.3], - [0.5, 0.7], - ], - ], - ʊ: [ - [ - [0.15, 0.3], - [0.45, 0.3], - [0.25, 0.7], - [0.75, 0.7], - [0.55, 0.3], - [0.85, 0.3], - ], - ], - - v: [ - [ - [0.15, 0.3], - [0.5, 0.7], - [0.85, 0.3], - ], - ], - ʋ: [ - [ - [0.15, 0.3], - [0.5, 0.7], - [0.85, 0.3], - [0.65, 0.3], - ], - ], - ỽ: [ - [ - [0.15, 0.15], - [0.5, 0.7], - [0.85, 0.4], - [0.65, 0.4], - ], - ], - ʌ: [ - [ - [0.15, 0.7], - [0.5, 0.3], - [0.85, 0.7], - ], - ], - - w: [ - [ - [0.15, 0.3], - [0.15, 0.725], - ], - [ - [0.15, 0.7], - [0.85, 0.7], - [0.85, 0.3], - ], - [ - [0.5, 0.3], - [0.5, 0.7], - ], - ], - ʍ: [ - [ - [0.85, 0.7], - [0.85, 0.275], - ], - [ - [0.85, 0.3], - [0.15, 0.3], - [0.15, 0.7], - ], - [ - [0.5, 0.7], - [0.5, 0.3], - ], - ], - - x: [ - [ - [0.15, 0.3], - [0.85, 0.7], - ], - [ - [0.85, 0.3], - [0.15, 0.7], - ], - ], - - y: [ - [ - [0.15, 0.3], - [0.15, 0.7], - [0.875, 0.7], - ], - [ - [0.85, 0.3], - [0.85, 0.9], - [0.5, 0.9], - ], - ], - ʏ: [ - [ - [0.265, 0.3], - [0.5, 0.5], - [0.73, 0.3], - ], - [ - [0.5, 0.5], - [0.5, 0.628], - ], - ], - ɏ: [ - [ - [0.25, 0.3], - [0.25, 0.7], - [0.775, 0.7], - ], - [ - [0.75, 0.3], - [0.75, 0.9], - [0.5, 0.9], - ], - [ - [0.15, 0.5], - [0.85, 0.5], - ], - ], - ƴ: [ - [ - [0.15, 0.3], - [0.15, 0.7], - [0.775, 0.7], - ], - [ - [0.85, 0.3], - [0.75, 0.3], - [0.75, 0.9], - [0.5, 0.9], - ], - ], - ỿ: [ - [ - [0.15, 0.3], - [0.15, 0.7], - [0.775, 0.7], - ], - [ - [0.75, 0.3], - [0.75, 0.9], - [0.5, 0.9], - [0.85, 0.7], - ], - ], - ȝ: [ - [ - [0.25, 0.4], - [0.75, 0.3], - [0.75, 0.65], - [0.25, 0.75], - ], - [ - [0.5, 0.55], - [0.75, 0.5], - ], - ], - - z: [ - [ - [0.15, 0.3], - [0.85, 0.3], - [0.15, 0.7], - [0.85, 0.7], - ], - ], - ƍ: [ - [ - [0.15, 0.3], - [0.85, 0.3], - [0.85, 0.7], - [0.15, 0.7], - [0.15, 0.3], - ], - [ - [0.15, 0.7], - [0.85, 0.9], - [0.15, 0.9], - ], - ], - ƶ: [ - [ - [0.15, 0.3], - [0.85, 0.3], - [0.15, 0.7], - [0.85, 0.7], - ], - [ - [0.35, 0.5], - [0.65, 0.5], - ], - ], - ʐ: [ - [ - [0.15, 0.3], - [0.85, 0.3], - [0.15, 0.7], - [0.85, 0.7], - [0.85, 0.87], - [0.9, 0.9], - ], - ], - ʑ: [ - [ - [0.15, 0.3], - [0.85, 0.3], - [0.15, 0.7], - [0.85, 0.7], - [0.85, 0.6], - [0.65, 0.6], - [0.35, 0.8], - ], - ], - ɀ: [ - [ - [0.15, 0.3], - [0.85, 0.3], - [0.15, 0.7], - [0.5, 0.9], - [0.85, 0.9], - ], - ], - ʒ: [ - [ - [0.15, 0.3], - [0.85, 0.3], - [0.5, 0.7], - [0.85, 0.7], - [0.85, 0.9], - [0.15, 0.9], - ], - ], - ƹ: [ - [ - [0.85, 0.3], - [0.15, 0.3], - [0.5, 0.7], - [0.15, 0.7], - [0.15, 0.9], - [0.85, 0.9], - ], - ], - ƺ: [ - [ - [0.15, 0.3], - [0.85, 0.3], - [0.5, 0.5], - [0.85, 0.5], - [0.85, 0.7], - [0.15, 0.7], - [0.15, 0.9], - [0.7, 0.9], - ], - ], - ʓ: [ - [ - [0.15, 0.3], - [0.85, 0.3], - [0.5, 0.5], - [0.85, 0.5], - [0.85, 0.7], - [0.15, 0.7], - [0.15, 0.5], - [0.65, 0.9], - ], - ], - þ: [ - [ - [0.25, 0.3], - [0.75, 0.3], - [0.75, 0.7], - [0.25, 0.7], - ], - [ - [0.25, 0.1], - [0.25, 0.9], - ], - ], - ƿ: [ - [ - [0.25, 0.3], - [0.75, 0.1], - [0.75, 0.5], - [0.25, 0.7], - ], - [ - [0.25, 0.3], - [0.25, 0.9], - ], - ], - ƨ: [ - [ - [0.15, 0.3], - [0.85, 0.3], - [0.85, 0.4], - [0.15, 0.6], - [0.15, 0.7], - [0.85, 0.7], - ], - ], - ƽ: [ - [ - [0.15, 0.3], - [0.85, 0.3], - ], - [ - [0.35, 0.3], - [0.35, 0.5], - [0.85, 0.5], - [0.85, 0.7], - [0.15, 0.7], - ], - ], - ƅ: [ - [ - [0.15, 0.1], - [0.25, 0.1], - [0.25, 0.725], - ], - [ - [0.25, 0.3], - [0.85, 0.3], - [0.85, 0.7], - [0.25, 0.7], - ], - ], - ɂ: [ - [ - [0.15, 0.3], - [0.85, 0.3], - [0.85, 0.5], - [0.5, 0.5], - [0.5, 0.7], - ], - ], - ʕ: [ - [ - [0.85, 0.3], - [0.15, 0.3], - [0.15, 0.5], - [0.5, 0.5], - [0.5, 0.9], - ], - ], - ʡ: [ - [ - [0.15, 0.3], - [0.85, 0.3], - [0.85, 0.5], - [0.5, 0.5], - [0.5, 0.9], - ], - [ - [0.35, 0.7], - [0.65, 0.7], - ], - ], - ʢ: [ - [ - [0.85, 0.3], - [0.15, 0.3], - [0.15, 0.5], - [0.5, 0.5], - [0.5, 0.9], - ], - [ - [0.65, 0.7], - [0.35, 0.7], - ], - ], - ʖ: [ - [ - [0.15, 0.7], - [0.85, 0.7], - [0.85, 0.5], - [0.5, 0.5], - [0.5, 0.1], - ], - ], - ʗ: [ - [ - [0.75, 0.3], - [0.25, 0.3], - [0.25, 0.9], - [0.75, 0.9], - ], - ], - ʘ: [ - [ - [0.25, 0.3], - [0.75, 0.3], - [0.75, 0.7], - [0.25, 0.7], - [0.25, 0.3], - ], - [ - [0.5, 0.4875], - [0.5, 0.5125], - ], - ], - ʬ: [ - [ - [0.25, 0.3], - [0.33, 0.5], - [0.5, 0.3], - [0.66, 0.5], - [0.75, 0.3], - ], - [ - [0.25, 0.5], - [0.33, 0.7], - [0.5, 0.5], - [0.66, 0.7], - [0.75, 0.5], - ], - ], - ʭ: [ - [ - [0.25, 0.4], - [0.25, 0.3], - [0.75, 0.3], - [0.75, 0.4], - ], - [ - [0.25, 0.7], - [0.25, 0.6], - [0.75, 0.6], - [0.75, 0.7], - ], - ], -} as Font; - -const keys = Object.keys(base); -const r = (x: number) => Math.round(x * 1000) / 1000; -const remapped = {} as Font; -keys.forEach((k: keyof Font) => { - const g = base[k].map((l) => l.map((v) => [v[0], r(v[1] / 1.4 + 0.2)])); - remapped[k] = g; -}); -console.log(JSON.stringify(remapped)); -*/ export { base }; diff --git a/src/lowercase/diaBaseAssociation.ts b/src/lowercase/diaBaseAssociation.ts index ce12ffc..d09e52c 100644 --- a/src/lowercase/diaBaseAssociation.ts +++ b/src/lowercase/diaBaseAssociation.ts @@ -21,8 +21,8 @@ const diaBaseAssociation = { ä: ["a", ["dr"]], ǟ: ["a", ["dr", "mc"]], ã: ["a", ["tl"]], - ȧ: ["a", ["gs"]], - ǡ: ["a", ["gs", "mc"]], + ȧ: ["a", ["da"]], + ǡ: ["a", ["da", "mc"]], ą: ["a", ["cdr"]], ā: ["a", ["mc"]], ả: ["a", ["ha"]], @@ -31,7 +31,7 @@ const diaBaseAssociation = { ạ: ["a", ["db"]], ặ: ["a", ["br", "db"]], ậ: ["a", ["cr", "db"]], - ḁ: ["a", ["db"]], + ḁ: ["a", ["gsb"]], ǽ: ["æ", ["ct"]], ǣ: ["æ", ["mc"]], ẚ: ["a", ["hcr"]], @@ -234,8 +234,8 @@ const diaBaseAssociation = { ș: ["s", ["cm"]], ẛ: ["ſ", ["da"]], ʂ: ["s", ["hbl"]], - - // t + + // t ť: ["t", ["ct"]], ẗ: ["t", ["dr"]], ṫ: ["t", ["da"]], @@ -281,8 +281,8 @@ const diaBaseAssociation = { // v ṽ: ["v", ["tl"]], ṿ: ["v", ["db"]], - - // w + + // w ẃ: ["w", ["ct"]], ẁ: ["w", ["gr"]], ŵ: ["w", ["cr"]], @@ -290,12 +290,11 @@ const diaBaseAssociation = { ẅ: ["w", ["dr"]], ẇ: ["w", ["da"]], ẉ: ["w", ["db"]], - + // x ẍ: ["x", ["dr"]], ẋ: ["x", ["da"]], - // y ý: ["y", ["ct"]], ỳ: ["y", ["gr"]], @@ -308,7 +307,7 @@ const diaBaseAssociation = { ỵ: ["y", ["db"]], ỷ: ["y", ["ha"]], - // z + // z ź: ["z", ["ct"]], ẑ: ["z", ["cr"]], ž: ["z", ["hc"]], @@ -320,7 +319,6 @@ const diaBaseAssociation = { //ž: ["z", ["hc"]], //ž: ["z", ["hc"]], - } as ExtendedTable; export { diaBaseAssociation }; diff --git a/src/number.ts b/src/number.ts index bb0cd7e..e12bc57 100644 --- a/src/number.ts +++ b/src/number.ts @@ -1,4 +1,6 @@ -const number = { +import { type Font } from "./type"; + +export default { 0: [ [ [0.15, 0.271], @@ -110,6 +112,4 @@ const number = { [0.15, 0.7], ], ], -}; - -export default number; +} as Font; diff --git a/src/poncuation.ts b/src/punctuation.ts similarity index 79% rename from src/poncuation.ts rename to src/punctuation.ts index 592088b..c979b33 100644 --- a/src/poncuation.ts +++ b/src/punctuation.ts @@ -1,14 +1,55 @@ -const ponctuation = { +import { type Font } from "./type"; + +export default { ".": [ [ [0.5, 0.675], [0.5, 0.7], ], ], + "…": [ + [ + [0.33, 0.675], + [0.33, 0.7], + ], + [ + [0.5, 0.675], + [0.5, 0.7], + ], + [ + [0.66, 0.675], + [0.66, 0.7], + ], + ], + "·": [ + [ + [0.5, 0.4875], + [0.5, 0.5125], + ], + ], + "·": [ + [ + [0.5, 0.2875], + [0.5, 0.3125], + ], + ], ",": [ [ [0.5, 0.65], - [0.49, 0.69], + [0.5, 0.675], + [0.48, 0.69], + [0.45, 0.7], + ], + ], + ";": [ + [ + [0.5, 0.5], + [0.5, 0.525], + ], + [ + [0.5, 0.65], + [0.5, 0.675], + [0.48, 0.69], [0.45, 0.7], ], ], @@ -20,6 +61,7 @@ const ponctuation = { [ [0.5, 0.65], [0.5, 0.675], + [0.48, 0.69], [0.45, 0.7], ], ], @@ -55,10 +97,10 @@ const ponctuation = { ], "?": [ [ - [0.35, 0.2], - [0.5, 0.165], - [0.65, 0.2], - [0.65, 0.4], + [0.3, 0.3], + [0.3, 0.2], + [0.7, 0.2], + [0.7, 0.4], [0.5, 0.5], [0.5, 0.6], ], @@ -69,10 +111,10 @@ const ponctuation = { ], "¿": [ [ - [0.65, 0.7], - [0.5, 0.735], - [0.35, 0.7], - [0.35, 0.5], + [0.3, 0.6], + [0.3, 0.7], + [0.7, 0.7], + [0.7, 0.5], [0.5, 0.4], [0.5, 0.3], ], @@ -140,11 +182,52 @@ const ponctuation = { ], [ [0.25, 0.2], - [0.25, 0.225], + [0.35, 0.2], + [0.35, 0.3], + [0.25, 0.3], + [0.25, 0.2], ], [ + [0.65, 0.6], + [0.75, 0.6], [0.75, 0.7], - [0.75, 0.675], + [0.65, 0.7], + [0.65, 0.6], + ], + ], + "†": [ + [ + [0.5, 0.2], + [0.5, 0.7], + ], + [ + [0.3, 0.35], + [0.7, 0.35], + ], + ], + "•": [ + [ + [0.4, 0.35], + [0.6, 0.35], + [0.6, 0.55], + [0.4, 0.55], + [0.4, 0.35], + ], + ], + "′": [ + [ + [0.6, 0.2], + [0.4, 0.35], + ], + ], + "″": [ + [ + [0.5, 0.2], + [0.3, 0.35], + ], + [ + [0.7, 0.2], + [0.5, 0.35], ], ], "|": [ @@ -193,15 +276,27 @@ const ponctuation = { [0.65, 0.45], ], ], + "–": [ + [ + [0.25, 0.45], + [0.75, 0.45], + ], + ], + "—": [ + [ + [0.15, 0.45], + [0.85, 0.45], + ], + ], "×": [ [ [0.325, 0.305], - [0.675, 0.655] + [0.675, 0.655], ], [ [0.675, 0.305], - [0.325, 0.655] - ] + [0.325, 0.655], + ], ], _: [ [ @@ -228,105 +323,19 @@ const ponctuation = { ], "&": [ [ - [0.75, 0.75], - [0.75, 0.4], - [0.25, 0.4], - [0.25, 0.7], - [0.8, 0.7], + [0.8, 0.75], + [0.8, 0.4], + [0.15, 0.4], + [0.15, 0.7], + [0.85, 0.7], ], [ - [0.35, 0.4], - [0.35, 0.2], + [0.3, 0.4], + [0.3, 0.2], [0.75, 0.2], [0.75, 0.4], ], ], - "¢": [ - [ - [0.725, 0.35], - [0.275, 0.35], - [0.275, 0.65], - [0.725, 0.65], - ], - [ - [0.5, 0.2], - [0.5, 0.8], - ], - ], - "£": [ - [ - [0.5, 0.25], - [0.35, 0.25], - [0.35, 0.75], - [0.25, 0.75], - [0.25, 0.65], - [0.725, 0.65], - ], - [ - [0.25, 0.45], - [0.65, 0.45], - ], - ], - "¤": [ - [ - [0.4, 0.4], - [0.6, 0.4], - [0.6, 0.55], - [0.4, 0.55], - [0.4, 0.4], - ], - [ - [0.6, 0.4], - [0.65, 0.35], - ], - [ - [0.6, 0.55], - [0.65, 0.6], - ], - [ - [0.4, 0.55], - [0.35, 0.6], - ], - [ - [0.4, 0.4], - [0.35, 0.35], - ], - ], - "¥": [ - [ - [0.25, 0.2], - [0.5, 0.5], - [0.75, 0.2], - ], - [ - [0.5, 0.5], - [0.5, 0.7], - ], - [ - [0.25, 0.5], - [0.75, 0.5], - ], - [ - [0.25, 0.6], - [0.75, 0.6], - ], - ], - "€": [ - [ - [0.75, 0.2], - [0.35, 0.2], - [0.35, 0.7], - [0.75, 0.7], - ], - [ - [0.25, 0.4], - [0.55, 0.4], - ], - [ - [0.25, 0.5], - [0.55, 0.5], - ], - ], "¦": [ [ [0.5, 0.2], @@ -511,6 +520,41 @@ const ponctuation = { [0.5, 0.3], ], ], + "‘": [ + [ + [0.5125, 0.2], + [0.4875, 0.3], + [0.4925, 0.3], + ], + ], + "’": [ + [ + [0.5125, 0.2], + [0.4875, 0.3], + [0.4825, 0.3], + ], + ], + "‚": [ + [ + [0.5, 0.736], + [0.49, 0.764], + [0.45, 0.771], + ], + ], + "‹": [ + [ + [0.55, 0.35], + [0.4, 0.45], + [0.55, 0.55], + ], + ], + "›": [ + [ + [0.4, 0.35], + [0.55, 0.45], + [0.4, 0.55], + ], + ], "«": [ [ [0.5, 0.3], @@ -535,6 +579,36 @@ const ponctuation = { [0.5, 0.6], ], ], + "“": [ + [ + [0.44, 0.2], + [0.38, 0.3], + ], + [ + [0.64, 0.2], + [0.58, 0.3], + ], + ], + "”": [ + [ + [0.38, 0.2], + [0.44, 0.3], + ], + [ + [0.58, 0.2], + [0.64, 0.3], + ], + ], + "„": [ + [ + [0.44, 0.7], + [0.38, 0.8], + ], + [ + [0.64, 0.7], + [0.58, 0.3], + ], + ], º: [ [ [0.4125, 0.235], @@ -581,6 +655,12 @@ const ponctuation = { [0.5775, 0.3], ], ], + "⁄": [ + [ + [0.6, 0.35], + [0.3, 0.65], + ], + ], "¼": [ [ [0.6, 0.35], @@ -686,5 +766,4 @@ const ponctuation = { [0.7, 0.3], ], ], -}; -export default ponctuation; +} as Font; diff --git a/src/type.d.ts b/src/type.d.ts index ba68733..d4e408c 100644 --- a/src/type.d.ts +++ b/src/type.d.ts @@ -1,23 +1,26 @@ // A simple 2D vector type export interface Vec extends Array {} -// Another for line (array of Vec) +// A line (array of Vec) export interface Line extends Array {} -// Another for letter (array of Line) +// A glyph/letter (array of Line) export interface Glyph extends Array {} -// An array of diacritics key (two or three letters) +// An array of diacritics key (two or three letters ) export interface DiaGroup extends Array {} // Table to dupplicate existing glyph with diacriticals marks +// The key is used to defined a diacriticized letter (à,ê,ï), +// the first item of the array define the base letter w/out diacritics (a, e, i), +// the last item is an array of diacricts name (described in diacritics/glyph.ts) export interface ExtendedTable { [key: string]: [string, string[]]; } // And finally a type for the whole font // where each glyph is defined in an object -// with the char as a key +// with the char as a key { a: [], b: []... } export interface Font { [key: string]: Glyph; } diff --git a/src/uppercase/base.ts b/src/uppercase/base.ts index c583029..7a22de2 100644 --- a/src/uppercase/base.ts +++ b/src/uppercase/base.ts @@ -34,39 +34,39 @@ const base = { B: [ [ - [0.6, 0.557], + [0.6, 0.45], [0.6, 0.271], [0.15, 0.271], [0.15, 0.7], [0.85, 0.7], - [0.85, 0.557], - [0.15, 0.557], + [0.85, 0.45], + [0.15, 0.45], ], ], Ƀ: [ [ - [0.6, 0.557], + [0.6, 0.45], [0.6, 0.271], [0.25, 0.271], [0.25, 0.7], [0.85, 0.7], - [0.85, 0.557], - [0.25, 0.557], + [0.85, 0.45], + [0.25, 0.45], ], [ - [0.15, 0.629], - [0.35, 0.629], + [0.15, 0.58], + [0.35, 0.58], ], ], Ɓ: [ [ - [0.6, 0.557], + [0.6, 0.45], [0.6, 0.271], [0.25, 0.271], [0.25, 0.7], [0.85, 0.7], - [0.85, 0.557], - [0.25, 0.557], + [0.85, 0.45], + [0.25, 0.45], ], [ [0.3, 0.271], @@ -80,8 +80,8 @@ const base = { [0.25, 0.271], [0.25, 0.7], [0.85, 0.7], - [0.85, 0.557], - [0.25, 0.557], + [0.85, 0.45], + [0.25, 0.45], ], ], C: [ @@ -653,6 +653,22 @@ const base = { [0.15, 0.7], ], ], + Ƥ: [ + [ + [0.35, 0.557], + [0.85, 0.557], + [0.85, 0.271], + [0.35, 0.271], + [0.35, 0.7], + ], + [ + [0.35, 0.271], + [0.2, 0.271], + [0.17, 0.3], + [0.15, 0.35], + ], + ], + Q: [ [ [0.15, 0.271], @@ -666,6 +682,21 @@ const base = { [0.95, 0.736], ], ], + Ɋ: [ + [ + [0.75, 0.3], + [0.15, 0.3], + [0.15, 0.7], + [0.75, 0.7], + ], + [ + [0.75, 0.271], + [0.75, 0.8], + [0.77, 0.85], + [0.85, 0.9], + ], + ], + R: [ [ [0.15, 0.557], @@ -679,6 +710,34 @@ const base = { [0.85, 0.7], ], ], + Ʀ: [ + [ + [0.15, 0.351], + [0.85, 0.351], + [0.85, 0.637], + [0.15, 0.637], + [0.85, 0.78], + ], + [ + [0.15, 0.271], + [0.15, 0.7], + ], + ], + Ɍ: [ + [ + [0.3, 0.557], + [0.85, 0.557], + [0.85, 0.271], + [0.3, 0.271], + [0.3, 0.7], + ], + [ + [0.15, 0.557], + [0.3, 0.557], + [0.85, 0.7], + ], + ], + S: [ [ [0.85, 0.271], @@ -689,6 +748,29 @@ const base = { [0.15, 0.7], ], ], + ẞ: [ + [ + [0.15, 0.7], + [0.15, 0.271], + [0.65, 0.271], + [0.65, 0.45], + [0.35, 0.45], + [0.35, 0.5], + [0.85, 0.5], + [0.85, 0.7], + [0.35, 0.7], + ], + ], + Ʃ: [ + [ + [0.8, 0.271], + [0.2, 0.271], + [0.5, 0.5], + [0.2, 0.7], + [0.8, 0.7], + ], + ], + T: [ [ [0.15, 0.271], @@ -699,6 +781,45 @@ const base = { [0.5, 0.7], ], ], + Ŧ: [ + [ + [0.15, 0.271], + [0.85, 0.271], + ], + [ + [0.25, 0.5], + [0.75, 0.5], + ], + [ + [0.5, 0.271], + [0.5, 0.7], + ], + ], + Ƭ: [ + [ + [0.15, 0.35], + [0.18, 0.3], + [0.25, 0.271], + [0.85, 0.271], + ], + [ + [0.5, 0.271], + [0.5, 0.7], + ], + ], + Ʈ: [ + [ + [0.15, 0.271], + [0.85, 0.271], + ], + [ + [0.5, 0.271], + [0.5, 0.8], + [0.52, 0.85], + [0.6, 0.9], + ], + ], + U: [ [ [0.15, 0.271], @@ -707,6 +828,41 @@ const base = { [0.85, 0.271], ], ], + Ʉ: [ + [ + [0.25, 0.271], + [0.25, 0.7], + [0.75, 0.7], + [0.75, 0.271], + ], + [ + [0.15, 0.5], + [0.85, 0.5], + ], + ], + Ɯ: [ + [ + [0.25, 0.271], + [0.25, 0.7], + [0.75, 0.7], + [0.75, 0.271], + ], + [ + [0.5, 0.271], + [0.5, 0.7], + ], + ], + Ʊ: [ + [ + [0.15, 0.271], + [0.35, 0.271], + [0.25, 0.7], + [0.75, 0.7], + [0.65, 0.271], + [0.85, 0.271], + ], + ], + V: [ [ [0.15, 0.271], @@ -714,6 +870,29 @@ const base = { [0.85, 0.271], ], ], + Ʋ: [ + [ + [0.15, 0.271], + [0.5, 0.7], + [0.85, 0.271], + [0.65, 0.271], + ], + ], + Ỽ: [ + [ + [0.15, 0.271], + [0.5, 0.7], + [0.75, 0.454], + ], + ], + Ʌ: [ + [ + [0.15, 0.7], + [0.5, 0.271], + [0.85, 0.7], + ], + ], + W: [ [ [0.15, 0.271], @@ -723,6 +902,7 @@ const base = { [0.85, 0.271], ], ], + X: [ [ [0.15, 0.271], @@ -733,6 +913,7 @@ const base = { [0.85, 0.271], ], ], + Y: [ [ [0.15, 0.271], @@ -744,6 +925,61 @@ const base = { [0.5, 0.7], ], ], + Ɏ: [ + [ + [0.15, 0.271], + [0.5, 0.557], + [0.85, 0.271], + ], + [ + [0.15, 0.35], + [0.85, 0.35], + ], + [ + [0.5, 0.557], + [0.5, 0.7], + ], + ], + Ƴ: [ + [ + [0.15, 0.271], + [0.5, 0.557], + [0.7, 0.3], + [0.75, 0.28], + [0.81, 0.271], + [0.85, 0.271], + ], + [ + [0.5, 0.557], + [0.5, 0.7], + ], + ], + Ỿ: [ + [ + [0.15, 0.271], + [0.15, 0.7], + [0.775, 0.7], + ], + [ + [0.75, 0.271], + [0.75, 0.843], + [0.5, 0.843], + [0.85, 0.7], + ], + ], + Ȝ: [ + [ + [0.25, 0.341], + [0.75, 0.271], + [0.75, 0.664], + [0.25, 0.736], + ], + [ + [0.5, 0.573], + [0.75, 0.537], + ], + ], + Z: [ [ [0.15, 0.271], @@ -752,6 +988,116 @@ const base = { [0.85, 0.7], ], ], + Ƶ: [ + [ + [0.15, 0.271], + [0.85, 0.271], + [0.15, 0.7], + [0.85, 0.7], + ], + [ + [0.15, 0.5], + [0.85, 0.5], + ], + ], + Ɀ: [ + [ + [0.15, 0.271], + [0.85, 0.271], + [0.15, 0.7], + [0.45, 0.7], + [0.6, 0.9], + [0.85, 0.9], + ], + ], + Ʒ: [ + [ + [0.15, 0.271], + [0.85, 0.271], + [0.5, 0.7], + [0.85, 0.7], + [0.85, 0.9], + [0.15, 0.9], + ], + ], + Ƹ: [ + [ + [0.85, 0.271], + [0.15, 0.271], + [0.5, 0.7], + [0.15, 0.7], + [0.15, 0.9], + [0.85, 0.9], + ], + ], + Þ: [ + [ + [0.15, 0.414], + [0.85, 0.414], + [0.85, 0.75], + [0.15, 0.75], + ], + [ + [0.15, 0.271], + [0.15, 0.9], + ], + ], + Ƿ: [ + [ + [0.15, 0.414], + [0.85, 0.271], + [0.85, 0.557], + [0.15, 0.7], + ], + [ + [0.15, 0.414], + [0.15, 0.9], + ], + ], + Ƨ: [ + [ + [0.15, 0.271], + [0.85, 0.271], + [0.85, 0.4], + [0.15, 0.55], + [0.15, 0.7], + [0.85, 0.7], + ], + ], + Ƽ: [ + [ + [0.15, 0.271], + [0.85, 0.271], + ], + [ + [0.35, 0.271], + [0.35, 0.5], + [0.85, 0.5], + [0.85, 0.7], + [0.15, 0.7], + ], + ], + Ƅ: [ + [ + [0.15, 0.171], + [0.15, 0.718], + ], + [ + [0.15, 0.414], + [0.85, 0.414], + [0.85, 0.7], + [0.15, 0.7], + ], + ], + Ɂ: [ + [ + [0.15, 0.271], + [0.85, 0.271], + [0.85, 0.557], + [0.5, 0.557], + [0.5, 0.7], + ], + ], } as Font; export { base }; diff --git a/src/uppercase/diaBaseAssociation.ts b/src/uppercase/diaBaseAssociation.ts index 36f4a19..96711cd 100644 --- a/src/uppercase/diaBaseAssociation.ts +++ b/src/uppercase/diaBaseAssociation.ts @@ -183,7 +183,7 @@ const diaBaseAssociation = { Ṏ: ["O", ["tl", "dr"]], Ȭ: ["O", ["tl", "mc"]], Ȯ: ["O", ["da"]], - Ȱ: ["O", ["db", "mc"]], + Ȱ: ["O", ["da", "mc"]], Ø: ["O", ["brd"]], Ǿ: ["O", ["brd", "ct"]], Ǫ: ["O", ["gnkc"]], @@ -202,6 +202,112 @@ const diaBaseAssociation = { Ợ: ["O", ["crs", "db"]], Ọ: ["O", ["db"]], Ộ: ["O", ["db", "cr"]], + + // P + Ṕ: ["P", ["ct"]], + Ṗ: ["P", ["da"]], + + // R + Ŕ: ["R", ["ct"]], + Ř: ["R", ["hc"]], + Ṙ: ["R", ["da"]], + Ŗ: ["R", ["cm"]], + Ȑ: ["R", ["gr", "gr"]], + Ȓ: ["R", ["bri"]], + Ṛ: ["R", ["db"]], + Ṝ: ["R", ["db", "mc"]], + Ṟ: ["R", ["lb"]], + + // S + Ś: ["S", ["ct"]], + Ṥ: ["S", ["ct", "da"]], // these two diacritics overlap + Ŝ: ["S", ["cr"]], + Š: ["S", ["hc"]], + Ṧ: ["S", ["hc", "da"]], + Ṡ: ["S", ["da"]], + Ş: ["S", ["cd"]], + Ṣ: ["S", ["db"]], + Ṩ: ["S", ["db", "da"]], + Ș: ["S", ["cm"]], + + // T + Ť: ["T", ["hc"]], + Ṫ: ["T", ["da"]], + Ţ: ["T", ["cd"]], + Ṭ: ["T", ["db"]], + Ț: ["T", ["cm"]], + Ṱ: ["T", ["crb"]], + Ṯ: ["T", ["lb"]], + Ⱦ: ["T", ["brd"]], + + // U + Ú: ["U", ["ct"]], + Ù: ["U", ["gr"]], + Ŭ: ["U", ["br"]], + Û: ["U", ["cr"]], + Ǔ: ["U", ["hc"]], + Ů: ["U", ["gs"]], + Ü: ["U", ["dr"]], + Ǘ: ["U", ["dr", "ct"]], + Ǜ: ["U", ["dr", "gr"]], + Ǚ: ["U", ["dr", "hc"]], + Ǖ: ["U", ["dr", "mc"]], + Ű: ["U", ["ct", "ct"]], + Ũ: ["U", ["tl"]], + Ṹ: ["U", ["tl", "ct"]], + Ų: ["U", ["cd"]], + Ū: ["U", ["mc"]], + Ṻ: ["U", ["mc", "dr"]], + Ủ: ["U", ["ha"]], + Ȕ: ["U", ["gr", "gr"]], + Ȗ: ["U", ["bri"]], + Ư: ["U", ["crs"]], + Ứ: ["U", ["crs", "ct"]], + Ừ: ["U", ["crs", "gr"]], + Ữ: ["U", ["crs", "tl"]], + Ử: ["U", ["crs", "ha"]], + Ự: ["U", ["crs", "db"]], + Ụ: ["U", ["db"]], + Ṳ: ["U", ["drb"]], + Ṷ: ["U", ["crb"]], + Ṵ: ["U", ["tlb"]], + + // V + Ṽ: ["V", ["tl"]], + Ṿ: ["V", ["db"]], + + // W + Ẃ: ["W", ["ct"]], + Ẁ: ["W", ["gr"]], + Ŵ: ["W", ["cr"]], + Ẅ: ["W", ["dr"]], + Ẇ: ["W", ["da"]], + Ẉ: ["W", ["db"]], + + // X + Ẍ: ["X", ["dr"]], + Ẋ: ["X", ["da"]], + + // Y + Ý: ["Y", ["ct"]], + Ỳ: ["Y", ["gr"]], + Ŷ: ["Y", ["cr"]], + Ÿ: ["Y", ["dr"]], + Ỹ: ["Y", ["tl"]], + Ẏ: ["Y", ["da"]], + Ȳ: ["Y", ["mc"]], + Ỷ: ["Y", ["ha"]], + Ỵ: ["Y", ["db"]], + + // Z + Ź: ["Z", ["ct"]], + Ẑ: ["Z", ["cr"]], + Ž: ["Z", ["hc"]], + Ż: ["Z", ["da"]], + Ẓ: ["Z", ["db"]], + Ẕ: ["Z", ["lb"]], + Ȥ: ["Z", ["hbr"]], + Ǯ: ["Ʒ", ["hc"]], } as ExtendedTable; export { diaBaseAssociation };