@zsnout/ithkuil
Version:
A set of tools which can generate and parse romanized Ithkuil text and which can generate Ithkuil script from text and JSON data.
120 lines (119 loc) • 3.94 kB
TypeScript
/** Directions a consonantal connection may be in. */
export type HandwrittenConnectionDirection = "horiz" | "vert";
/** Directions a consonantal connection may be in. */
export type ConnectionDirection = "horiz" | "vert" | "diag";
/** Information about a consonantal connection. */
export type Connection = readonly [
/** The direction this connection points in. */
direction: ConnectionDirection,
/**
* The X position of the corner of the connection closest to a baseline or
* overline.
*/
xPosition: number,
/** Whether the connection is rotated 180 degrees. */
isReversed?: boolean | undefined
];
/** Information about a handwritten consonantal connection. */
export type HandwrittenConnection = readonly [
/** The direction this connection points in. */
direction: HandwrittenConnectionDirection,
/**
* The X position of the corner of the connection closest to a baseline or
* overline.
*/
xPosition: number,
/** Whether the connection is rotated 180 degrees. */
isReversed?: boolean | undefined
];
/** A consonant core. */
export type Core = {
/** An SVG path describing the consonant's shape. */
readonly shape: string;
/** Information about the top connection. */
readonly top: Connection;
/** Information about the bottom connection. */
readonly bottom: Connection;
};
/** A handwritten consonant core. */
export type HandwrittenCore = {
/** An SVG path describing the consonant's shape. */
readonly shape: string;
/** Information about the top connection. */
readonly top: HandwrittenConnection;
/** Information about the bottom connection. */
readonly bottom: HandwrittenConnection;
};
/** The name of a consonant core. */
export type CoreName = keyof typeof CORES;
/** An object containing all consonantal cores. */
export declare const CORES: {
readonly b: Core;
readonly c: Core;
readonly č: Core;
readonly ç: Core;
readonly d: Core;
readonly ḑ: Core;
readonly f: Core;
readonly g: Core;
readonly h: Core;
readonly j: Core;
readonly k: Core;
readonly l: Core;
readonly ļ: Core;
readonly m: Core;
readonly n: Core;
readonly ň: Core;
readonly p: Core;
readonly r: Core;
readonly ř: Core;
readonly s: Core;
readonly š: Core;
readonly t: Core;
readonly ţ: Core;
readonly v: Core;
readonly x: Core;
readonly z: Core;
readonly ż: Core;
readonly ž: Core;
readonly ALPHABETIC_PLACEHOLDER: Core;
readonly STANDARD_PLACEHOLDER: Core;
readonly TONAL_PLACEHOLDER: Core;
readonly STRESSED_SYLLABLE_PLACEHOLDER: Core;
readonly BIAS: Core;
};
export declare const HANDWRITTEN_CORES: {
readonly ż: HandwrittenCore;
readonly b: HandwrittenCore;
readonly c: HandwrittenCore;
readonly č: HandwrittenCore;
readonly ç: HandwrittenCore;
readonly d: HandwrittenCore;
readonly ḑ: HandwrittenCore;
readonly f: HandwrittenCore;
readonly g: HandwrittenCore;
readonly h: HandwrittenCore;
readonly j: HandwrittenCore;
readonly k: HandwrittenCore;
readonly l: HandwrittenCore;
readonly ļ: HandwrittenCore;
readonly m: HandwrittenCore;
readonly n: HandwrittenCore;
readonly ň: HandwrittenCore;
readonly p: HandwrittenCore;
readonly r: HandwrittenCore;
readonly ř: HandwrittenCore;
readonly s: HandwrittenCore;
readonly š: HandwrittenCore;
readonly t: HandwrittenCore;
readonly ţ: HandwrittenCore;
readonly v: HandwrittenCore;
readonly x: HandwrittenCore;
readonly z: HandwrittenCore;
readonly ž: HandwrittenCore;
readonly ALPHABETIC_PLACEHOLDER: HandwrittenCore;
readonly STANDARD_PLACEHOLDER: HandwrittenCore;
readonly TONAL_PLACEHOLDER: HandwrittenCore;
readonly STRESSED_SYLLABLE_PLACEHOLDER: HandwrittenCore;
readonly BIAS: HandwrittenCore;
};