From 577e0beccabb23d0b7b1955819d8da8a19737d65 Mon Sep 17 00:00:00 2001 From: Amer Harb Date: Wed, 10 Jan 2024 14:02:27 +0100 Subject: [PATCH] 240109 add tifinagh (#6) ## Add - support Tifinagh --- packages/abjad-convert/CHANGELOG.md | 4 + packages/abjad-convert/README.md | 121 ++++++++++++++++- packages/abjad-convert/badges/coverage.svg | 2 +- packages/abjad-convert/package.json | 9 +- .../abjad-convert/src/arabic/toTifinagh.ts | 59 +++++++++ ...onverterFactory.ts => converterFactory.ts} | 4 + packages/abjad-convert/src/index.ts | 2 +- .../abjad-convert/src/phoenician/letters.ts | 4 - packages/abjad-convert/src/tifinagh/U2D30.pdf | Bin 0 -> 99592 bytes .../abjad-convert/src/tifinagh/letters.ts | 123 ++++++++++++++++++ .../abjad-convert/src/tifinagh/toArabic.ts | 80 ++++++++++++ packages/abjad-convert/src/types.ts | 1 + .../abjad-convert/src/ugaritic/letters.ts | 120 ++++++++--------- packages/abjad-convert/test/index.test.ts | 62 +++++++++ 14 files changed, 516 insertions(+), 75 deletions(-) create mode 100644 packages/abjad-convert/src/arabic/toTifinagh.ts rename packages/abjad-convert/src/{ConverterFactory.ts => converterFactory.ts} (92%) create mode 100644 packages/abjad-convert/src/tifinagh/U2D30.pdf create mode 100644 packages/abjad-convert/src/tifinagh/letters.ts create mode 100644 packages/abjad-convert/src/tifinagh/toArabic.ts diff --git a/packages/abjad-convert/CHANGELOG.md b/packages/abjad-convert/CHANGELOG.md index 78b6669..768373c 100644 --- a/packages/abjad-convert/CHANGELOG.md +++ b/packages/abjad-convert/CHANGELOG.md @@ -1,6 +1,10 @@ # Changelog +## [0.2.0] 2024-01-10 +### Added +- Support Tifinagh + ## [0.1.0] 2024-01-06 ### Added - Support Syriac diff --git a/packages/abjad-convert/README.md b/packages/abjad-convert/README.md index e533464..a41060c 100644 --- a/packages/abjad-convert/README.md +++ b/packages/abjad-convert/README.md @@ -1,8 +1,8 @@ # Abjad Convert -[![Version](https://img.shields.io/badge/version-0.1.0-blue.svg)](https://github.com/amerharb/abjad/tree/version/0.1.0) +[![Version](https://img.shields.io/badge/version-0.2.0-blue.svg)](https://github.com/amerharb/abjad/tree/version/0.2.0) [![License: GPLv3](https://img.shields.io/badge/License-ISC-blue.svg)](https://opensource.org/licenses/ISC) -![Coverage](https://raw.githubusercontent.com/amerharb/abjad/version/0.1.0/packages/abjad-convert/badges/coverage.svg) -![Github workflow](https://github.com/amerharb/abjad/actions/workflows/lint-test.yaml/badge.svg?branch=version/0.1.0) +![Coverage](https://raw.githubusercontent.com/amerharb/abjad/version/0.2.0/packages/abjad-convert/badges/coverage.svg) +![Github workflow](https://github.com/amerharb/abjad/actions/workflows/lint-test.yaml/badge.svg?branch=version/0.2.0) **abjad-convert** is a package for converting Abjad alphabets phonetically. @@ -11,6 +11,7 @@ current supported alphabets: - Imperial Aramaic - Phoenician - Syriac +- Tifinagh - Uguritic ## How to use @@ -29,15 +30,121 @@ import { convert, Abjad } from 'abjad-convert'; const arabicWord = 'مرحبا'; +const imperialAramaicWord = convert(arabicWord, Abjad.Arabic, Abjad.ImperialAramaic); +console.log(imperialAramaicWord); // 𐡌𐡓𐡇𐡁𐡀 + const phoenicianWord = convert(arabicWord, Abjad.Arabic, Abjad.Phoenician); console.log(phoenicianWord); // 𐤌𐤓𐤇𐤁𐤀 +const syriacWord = convert(arabicWord, Abjad.Arabic, Abjad.Syriac); +console.log(syriacWord); // ܡܪܚܒܐ + +const tifinaghWord = convert(arabicWord, Abjad.Arabic, Abjad.Tifinagh); +console.log(tifinaghWord); // ⵎⵔⵃⴱⴰ + const ugariticWord = convert(arabicWord, Abjad.Arabic, Abjad.Ugaritic); console.log(ugariticWord); // 𐎎𐎗𐎈𐎁𐎀 +``` +## Contributing +### Adding new script +Pull requests are welcome. For adding new script. let's say that we want to add a new script "Foo" +- Step #1: create a feature branch from `main` named `abjad-convert/version/0.[x].0` where `x` is the next minor of current version number. +- Step #2: create a new branch that will the previous feature branch when creating the PR. +- Step #3: create a new folder named `foo` in `src`. +- Step #4: add pdf documentation for the script we want to add from www.unicode.org. for example for Ugaritic the file is `U10380.pdf`. this file will be used as a reference +- Step #5: add a new file named `letters.ts` in `foo` folder this file will export +- - `letters` an array of letters written using unicode values with jsdoc each line will contain +the value of the letter using UTF-16 BE using escape \u followed by 4 hex digits. +notice that UTF16BE value is not always the same as the unicode value. +for example for letter Alpa in Ugaritic the unicode value is `0x10380` but the UTF16BE encode value is `0xD800DF80` +follow the value with jsdoc that contain array index, letter itself, unicode value, and the name of the letter. +for example for ugaritic looks like this: -const imperialAramaicWord = convert(arabicWord, Abjad.Arabic, Abjad.ImperialAramaic); -console.log(imperialAramaicWord); // 𐡌𐡓𐡇𐡁𐡀 +```ts +export const letters = [ + '\uD800\uDF80', /** #0 𐎀 U+10380 UGARITIC LETTER ALPA */ + '\uD800\uDF81', /** #1 𐎁 U+10381 UGARITIC LETTER BETA */ + //... +]; +``` +- - 'Fo' an alias object called `Fo` short of Foo. this will give an alias for all letters mentioned in the letters array. -const syriacWord = convert(arabicWord, Abjad.Arabic, Abjad.Syriac); -console.log(syriacWord); // ܡܪܚܒܐ +for example for ugaritic looks like this: +```ts +export const Ug = { + Alpa: letters[0], // 𐎀 + Beta: letters[1], // 𐎁 + //... +}; +``` + +- Step #6: Add the script to the enum `Abjad` in `src/types.ts` file. +at this point we have finished adding the script, but it is an island script. Meaning that it can't be converted to or from any other script. + +- Step #7: To make it convertable we need at least to have one from and one to converter to another script. +the preferred way is to add a converter to and from Arabic script, as it is currently act as a de facto hub script for all abjad scripts. +The algorithm for converting will look first for 1-step converter (direct converter) the one that convert from the source to the target, in case there isn't any it will look for 2-steps approach where it can find a middle script, +after that it won't look for 3 or more steps, it will basically throw an error. +That is why Arabic is used as preferred hub, so if all script add converter to Arabic and Arabic add converter to all other scripts then all conversion is possible. +However, there is a plan in the future to add IPA to be a canonical hub script. + +- - Adding to Arabic: Add file to `foo` folder with name `toArabic.ts` that include a class called FooToArabicConverter that implements `IConverter` interface. +it should look like this: +```ts +import { IConverter } from '../types'; +import { Fo } from './letters' +import { Ar } from '../arabic/letters' +import { IConverter } from '../IConverter' +import { Abjad } from '../types' + +export class FooToArabicConverter implements IConverter { + public readonly from = Abjad.Foo + public readonly to = Abjad.Arabic + public convert(fooText: string): string { + // convert logic here + // return (araic text) + } +} +``` +- - Add toArabic converter to `converterFactory.ts` +- - - import the new converter in alphabetical order +```ts +//... +import { FooToArabicConverter } from './foo/toArabic' +//... ``` +- - - add the converter to converters array in alphabetical order +```ts +const converters: IConverter[] = [ + //... + new TifinaghToArabicConverter(), + //... +]; +``` +- - Add toFoo converter to `arabic` folder with name `toFoo.ts` that include a class called ArabicToFooConverter that implements `IConverter` interface. +it should look like this: +```ts +import {Ar} from './letters' +import {Fo} from '../foo/letters' +import {IConverter} from '../IConverter' +import {Abjad} from '../types' + +export class ArabicToFooConverter implements IConverter { + public readonly from = Abjad.Arabic + public readonly to = Abjad.Foo + public convert(arabicText: string): string { + // convert logic here + // return (foo text) + } +} +``` +- - Add toFoo converter to `converterFactory.ts` + +- Step #8 add unit test to`test/index.test.ts`. + +- Step #9: update for new version +- - update `CHANGELOG.md` with the new version number and the changes. +- - Step #10 update `README.md` links and badges. +- - Update version in `package.json` file. +- - run yarn to update yarn.lock files +- - run test to update coverage badges diff --git a/packages/abjad-convert/badges/coverage.svg b/packages/abjad-convert/badges/coverage.svg index 8d58334..f2daea8 100644 --- a/packages/abjad-convert/badges/coverage.svg +++ b/packages/abjad-convert/badges/coverage.svg @@ -1 +1 @@ -Coverage: 99.37%Coverage99.37% \ No newline at end of file +Coverage: 99.5%Coverage99.5% \ No newline at end of file diff --git a/packages/abjad-convert/package.json b/packages/abjad-convert/package.json index 02a09c9..8dcf200 100644 --- a/packages/abjad-convert/package.json +++ b/packages/abjad-convert/package.json @@ -1,6 +1,6 @@ { "name": "abjad-convert", - "version": "0.1.0", + "version": "0.2.0-next.0", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", "files": [ @@ -10,8 +10,13 @@ "CHANGELOG.md", "README.md" ], - "repository": "git@github.com:amerharb/abjad.git", "author": "Amer Harb", + "repository": { + "type": "git", + "url": "git+https://github.com/amerharb/abjad.git" + }, + "homepage": "https://github.com/amerharb/abjad#readme", + "url": "https://github.com/amerharb/abjad/issues", "email": "abjad@amerharb.com", "keywords": [ "abjad", diff --git a/packages/abjad-convert/src/arabic/toTifinagh.ts b/packages/abjad-convert/src/arabic/toTifinagh.ts new file mode 100644 index 0000000..1edd934 --- /dev/null +++ b/packages/abjad-convert/src/arabic/toTifinagh.ts @@ -0,0 +1,59 @@ +import { Ar } from './letters' +import { Ti } from '../tifinagh/letters' +import { IConverter } from '../IConverter' +import { Abjad } from '../types' + +export class ArabicToTifinaghConverter implements IConverter { + public readonly from = Abjad.Arabic + public readonly to = Abjad.Tifinagh + + private map = new Map( + [ + [' ', ' '], + [Ar.Hamza, Ti.Ya], /** ء -> ⴰ */ + [Ar.AlefMadda, Ti.Ya], /** ا -> ⴰ */ + [Ar.AlefHamza, Ti.Ya], /** أ -> ⴰ*/ + [Ar.WawHamza, Ti.Yu], /** ؤ -> ⵓ */ + [Ar.AlefHamzaMaksura, Ti.Ya], /** ى -> ⴰ */ + [Ar.Alef, Ti.Ya], /** ا -> ⴰ */ + [Ar.Ba, Ti.Yab], /** ب -> ⴱ */ + [Ar.TaMarbuta, Ti.Ya], /** ة -> ⴰ */ + [Ar.Ta, Ti.Yat], /** ت -> ⵜ */ + [Ar.Tha, Ti.Yath], /** ث -> ⵝ */ + [Ar.Jeem, Ti.Yazh], /** ج -> ⵊ */ + [Ar.H7aa, Ti.Yahh], /** ح -> ⵃ */ + [Ar.Khaa, Ti.Yakh], /** خ -> ⵅ */ + [Ar.Dal, Ti.Yad], /** د -> ⴷ */ + [Ar.Thal, Ti.Yadh], /** ذ -> ⴸ */ + [Ar.Ra, Ti.Yar], /** ر -> ⵔ */ + [Ar.Zay, Ti.Ya], /** ز -> ⴰ */ + [Ar.Seen, Ti.Yas], /** س -> ⵙ */ + [Ar.Sheen, Ti.Yash], /** ش -> ⵛ */ + [Ar.Sad, Ti.Yat], /** ص -> ⵜ */ + [Ar.Dad, Ti.Yadd], /** ض -> ⴹ */ + [Ar.TTa, Ti.Yatt], /** ط -> ⵟ */ + [Ar.THa, Ti.Yaddh], /** ظ -> ⴺ */ + [Ar.Ayn, Ti.Yaa], /** ع -> ⵄ */ + [Ar.Ghayn, Ti.Yagh], /** غ -> ⵖ */ + [Ar.Fa, Ti.Yaf], /** ف -> ⴼ */ + [Ar.Qaf, Ti.Yaq], /** ق -> ⵇ */ + [Ar.Kaf, Ti.Yak], /** ك -> ⴽ */ + [Ar.Lam, Ti.Yal], /** ل -> ⵍ */ + [Ar.Meem, Ti.Yam], /** م -> ⵎ */ + [Ar.Noon, Ti.Yan], /** ن -> ⵏ */ + [Ar.Ha, Ti.Yey], /** ه -> ⴻ */ + [Ar.Waw, Ti.Yu], /** و -> ⵓ */ + [Ar.AlefMaksura, Ti.Ya], /** ى -> ⴰ */ + [Ar.Yaa, Ti.Yi], /** ي -> ⵉ */ + ] + ) + + public convert(text: string): string { + let result = '' + for (const letter of text) { + const u = this.map.get(letter) ?? '' + result += u + } + return result + } +} diff --git a/packages/abjad-convert/src/ConverterFactory.ts b/packages/abjad-convert/src/converterFactory.ts similarity index 92% rename from packages/abjad-convert/src/ConverterFactory.ts rename to packages/abjad-convert/src/converterFactory.ts index fa9dc0b..6f32467 100644 --- a/packages/abjad-convert/src/ConverterFactory.ts +++ b/packages/abjad-convert/src/converterFactory.ts @@ -3,6 +3,7 @@ import { IConverter } from './IConverter' import { ArabicToImperialAramaicConverter } from './arabic/toImperialAramaic' import { ArabicToPhoenicianConverter } from './arabic/toPhoenician' import { ArabicToSyriacConverter } from './arabic/toSyriac' +import { ArabicToTifinaghConverter } from './arabic/toTifinagh' import { ArabicToUgariticConverter } from './arabic/toUgaritic' import { ImperialAramaicToArabicConverter } from './imperialAramaic/toArabic' import { ImperialAramaicToPhoenicianConverter } from './imperialAramaic/toPhoenician' @@ -11,6 +12,7 @@ import { PhoenicianToArabicConverter } from './phoenician/toArabic' import { PhoenicianToImperialAramaicConverter } from './phoenician/toImperialAramaic' import { PhoenicianToUgariticConverter } from './phoenician/toUgaritic' import { SyriacToArabicConverter } from './syriac/toArabic' +import { TifinaghToArabicConverter } from './tifinagh/toArabic' import { UgariticToArabicConverter } from './ugaritic/toArabic' import { UgariticToImperialAramaicConverter } from './ugaritic/toImperialAramaic' import { UgariticToPhoenicianConverter } from './ugaritic/toPhoenician' @@ -19,6 +21,7 @@ const converters: IConverter[] = [ new ArabicToImperialAramaicConverter(), new ArabicToPhoenicianConverter(), new ArabicToSyriacConverter(), + new ArabicToTifinaghConverter(), new ArabicToUgariticConverter(), new ImperialAramaicToArabicConverter(), new ImperialAramaicToPhoenicianConverter(), @@ -27,6 +30,7 @@ const converters: IConverter[] = [ new PhoenicianToImperialAramaicConverter(), new PhoenicianToUgariticConverter(), new SyriacToArabicConverter(), + new TifinaghToArabicConverter(), new UgariticToArabicConverter(), new UgariticToImperialAramaicConverter(), new UgariticToPhoenicianConverter(), diff --git a/packages/abjad-convert/src/index.ts b/packages/abjad-convert/src/index.ts index 2552b11..8e79319 100644 --- a/packages/abjad-convert/src/index.ts +++ b/packages/abjad-convert/src/index.ts @@ -1,4 +1,4 @@ -import { getConverter } from './ConverterFactory' +import { getConverter } from './converterFactory' import { Abjad } from './types' export function convert(source: string, from: Abjad, to: Abjad): string { diff --git a/packages/abjad-convert/src/phoenician/letters.ts b/packages/abjad-convert/src/phoenician/letters.ts index ff2ade6..97b8c33 100644 --- a/packages/abjad-convert/src/phoenician/letters.ts +++ b/packages/abjad-convert/src/phoenician/letters.ts @@ -41,7 +41,6 @@ export const Ph = { Waw: letters[5], // 𐤅 Zayin: letters[6], // 𐤆 Het: letters[7], // 𐤇 - Tet: letters[8], // 𐤈 Yod: letters[9], // 𐤉 Kap: letters[10], // 𐤊 @@ -50,20 +49,17 @@ export const Ph = { Nun: letters[13], // 𐤍 Semk: letters[14], // 𐤎 Ain: letters[15], // 𐤏 - Pe: letters[16], // 𐤐 Sade: letters[17], // 𐤑 Qof: letters[18], // 𐤒 Ros: letters[19], // 𐤓 Shin: letters[20], // 𐤔 Tau: letters[21], // 𐤕 - One: letters[22], // 𐤖 Ten: letters[23], // 𐤗 Twenty: letters[24], // 𐤘 OneHundred: letters[25], // 𐤙 Two: letters[26], // 𐤚 Three: letters[27], // 𐤛 - WordSeparator: letters[28], // 𐤟 } diff --git a/packages/abjad-convert/src/tifinagh/U2D30.pdf b/packages/abjad-convert/src/tifinagh/U2D30.pdf new file mode 100644 index 0000000000000000000000000000000000000000..51f6afa87ade0afa372aae6a3c71ced447cff6d6 GIT binary patch literal 99592 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 + [ + [' ', ' '], + [Ti.Ya, Ar.Alef], // ⴰ -> ا + [Ti.Yab, Ar.Ba], // ⴱ -> ب + [Ti.Yabh, Ar.Ba], // ⴲ -> ب P + [Ti.Yag, Ar.Jeem], // ⴳ -> ج G + [Ti.Yagh, Ar.Jeem], // ⴴ -> ج G + [Ti.Yad, Ar.Dal], // ⴷ -> د + [Ti.Yadh, Ar.Thal], // ⴸ -> ذ + [Ti.Yadd, Ar.Dad], // ⴹ -> ض + [Ti.Yaddh, Ar.THa], // ⴺ -> ظ + [Ti.Yey, Ar.Ha], // ⴻ -> ه + [Ti.Yaf, Ar.Fa], // ⴼ -> ف + [Ti.Yak, Ar.Kaf], // ⴽ -> ك + [Ti.TuaregYak, Ar.Kaf], // ⴾ -> ك + [Ti.Yakhh, Ar.Kaf], // ⴿ -> ك + [Ti.Yah, Ar.Ha], // ⵀ -> هـ , TODO: also it can be B ب + [Ti.BerberAcademyYah, Ar.Ha], // ⵁ -> هـ + [Ti.TuaregYah, Ar.Ha], // ⵂ -> هـ + [Ti.Yahh, Ar.H7aa], // ⵃ -> ح + [Ti.Yaa, Ar.Ayn], // ⵄ -> ع + [Ti.Yakh, Ar.Khaa], // ⵅ -> خ + [Ti.TuaregYakh, Ar.Khaa], // ⵆ -> خ + [Ti.Yaq, Ar.Qaf], // ⵇ -> ق + [Ti.TuaregYaq, Ar.Qaf], // ⵈ -> ق + [Ti.Yi, Ar.Yaa], // ⵉ -> ي + [Ti.Yazh, Ar.Jeem], // ⵊ -> ج + [Ti.AhaggarYazh, Ar.Jeem], // ⵋ -> ج + [Ti.TuaregYazh, Ar.Jeem], // ⵌ -> ج + [Ti.Yal, Ar.Lam], // ⵍ -> ل + [Ti.Yam, Ar.Meem], // ⵎ -> م + [Ti.Yan, Ar.Noon], // ⵏ -> ن + [Ti.TuaregYagn, Ar.Noon], // ⵐ -> ن IPA: ɲ TODO: this is 2 letters of ني + [Ti.TuaregYang, Ar.Noon], // ⵑ -> ن IPA: ŋ + [Ti.Yap, Ar.Ba], // ⵒ -> ب + [Ti.Yu, Ar.Waw], // ⵓ -> و + [Ti.Yar, Ar.Ra], // ⵔ -> ر + [Ti.Yarr, Ar.Ra], // ⵕ -> ر + [Ti.Yagh, Ar.Ghayn], // ⵖ -> غ + [Ti.TuaregYagh, Ar.Ghayn], // ⵗ -> غ + [Ti.AyerYagh, Ar.Ghayn], // ⵘ -> غ TODO: this can be ج + [Ti.Yas, Ar.Seen], // ⵙ -> س + [Ti.Yass, Ar.Seen], // ⵚ -> ص + [Ti.Yash, Ar.Sheen], // ⵛ -> ش + [Ti.Yat, Ar.Ta], // ⵜ -> ت + [Ti.Yath, Ar.Tha], // ⵝ -> ث + [Ti.Yach, Ar.Jeem], // ⵞ -> ج + [Ti.Yatt, Ar.Ta], // ⵟ -> ت + [Ti.Yav, Ar.Fa], // ⵠ -> ف + [Ti.Yaw, Ar.Waw], // ⵡ -> و + [Ti.Yay, Ar.Yaa], // ⵢ -> ي + [Ti.Yaz, Ar.Zay], // ⵣ -> ز + [Ti.TawellemetYaz, Ar.Zay], // ⵤ -> ز + [Ti.Yazz, Ar.Zay], // ⵥ -> ز + [Ti.Ye, Ar.Yaa], // ⵦ -> ي + [Ti.Yo, Ar.Waw], // ⵧ -> و + [Ti.ModifierLetterLabializationMark, ''], // ⵯ -> nothing + [Ti.SeparatorMark, ''], // ⵯ -> nothing + [Ti.ConsonantJoiner, ''], // ⵯ -> nothing + ] + ) + + public convert(text: string): string { + let result = '' + for (const letter of text) { + result += this.map.get(letter) ?? '' + } + return result + } +} diff --git a/packages/abjad-convert/src/types.ts b/packages/abjad-convert/src/types.ts index 8b24d15..dd083ba 100644 --- a/packages/abjad-convert/src/types.ts +++ b/packages/abjad-convert/src/types.ts @@ -3,5 +3,6 @@ export enum Abjad { ImperialAramaic = 'imperial-aramaic', Phoenician = 'phoenician', Syriac = 'syriac', + Tifinagh = 'tifinagh', Ugaritic = 'ugaritic', } diff --git a/packages/abjad-convert/src/ugaritic/letters.ts b/packages/abjad-convert/src/ugaritic/letters.ts index d564d32..dd940cb 100644 --- a/packages/abjad-convert/src/ugaritic/letters.ts +++ b/packages/abjad-convert/src/ugaritic/letters.ts @@ -1,65 +1,65 @@ export const letters = [ - '\uD800\uDF80', // 𐎀 U+10380 UGARITIC LETTER ALPA - '\uD800\uDF81', // 𐎁 U+10381 UGARITIC LETTER BETA - '\uD800\uDF82', // 𐎂 U+10382 UGARITIC LETTER GAMLA - '\uD800\uDF83', // 𐎃 U+10383 UGARITIC LETTER KHA - '\uD800\uDF84', // 𐎄 U+10384 UGARITIC LETTER DELTA - '\uD800\uDF85', // 𐎅 U+10385 UGARITIC LETTER HO - '\uD800\uDF86', // 𐎆 U+10386 UGARITIC LETTER WO - '\uD800\uDF87', // 𐎇 U+10387 UGARITIC LETTER ZETA - '\uD800\uDF88', // 𐎈 U+10388 UGARITIC LETTER HOTA - '\uD800\uDF89', // 𐎉 U+10389 UGARITIC LETTER TET - '\uD800\uDF8A', // 𐎊 U+1038A UGARITIC LETTER YOD - '\uD800\uDF8B', // 𐎋 U+1038B UGARITIC LETTER KAF - '\uD800\uDF8C', // 𐎌 U+1038C UGARITIC LETTER SHIN - '\uD800\uDF8D', // 𐎍 U+1038D UGARITIC LETTER LAMDA - '\uD800\uDF8E', // 𐎎 U+1038E UGARITIC LETTER MEM - '\uD800\uDF8F', // 𐎏 U+1038F UGARITIC LETTER DHAL - '\uD800\uDF90', // 𐎐 U+10390 UGARITIC LETTER NUN - '\uD800\uDF91', // 𐎑 U+10391 UGARITIC LETTER ZU - '\uD800\uDF92', // 𐎒 U+10392 UGARITIC LETTER SAMKA - '\uD800\uDF93', // 𐎓 U+10393 UGARITIC LETTER AIN - '\uD800\uDF94', // 𐎔 U+10394 UGARITIC LETTER PU - '\uD800\uDF95', // 𐎕 U+10395 UGARITIC LETTER SADE - '\uD800\uDF96', // 𐎖 U+10396 UGARITIC LETTER QOPA - '\uD800\uDF97', // 𐎗 U+10397 UGARITIC LETTER RASHA - '\uD800\uDF98', // 𐎘 U+10398 UGARITIC LETTER THANNA - '\uD800\uDF99', // 𐎙 U+10399 UGARITIC LETTER GHAIN - '\uD800\uDF9A', // 𐎚 U+1039A UGARITIC LETTER TO - '\uD800\uDF9B', // 𐎛 U+1039B UGARITIC LETTER I - '\uD800\uDF9C', // 𐎜 U+1039C UGARITIC LETTER U - '\uD800\uDF9D', // 𐎝 U+1039D UGARITIC LETTER SSU + '\uD800\uDF80', /** #0 𐎀 U+10380 UGARITIC LETTER ALPA */ + '\uD800\uDF81', /** #1 𐎁 U+10381 UGARITIC LETTER BETA */ + '\uD800\uDF82', /** #2 𐎂 U+10382 UGARITIC LETTER GAMLA */ + '\uD800\uDF83', /** #3 𐎃 U+10383 UGARITIC LETTER KHA */ + '\uD800\uDF84', /** #4 𐎄 U+10384 UGARITIC LETTER DELTA */ + '\uD800\uDF85', /** #5 𐎅 U+10385 UGARITIC LETTER HO */ + '\uD800\uDF86', /** #6 𐎆 U+10386 UGARITIC LETTER WO */ + '\uD800\uDF87', /** #7 𐎇 U+10387 UGARITIC LETTER ZETA */ + '\uD800\uDF88', /** #8 𐎈 U+10388 UGARITIC LETTER HOTA */ + '\uD800\uDF89', /** #9 𐎉 U+10389 UGARITIC LETTER TET */ + '\uD800\uDF8A', /** #10 𐎊 U+1038A UGARITIC LETTER YOD */ + '\uD800\uDF8B', /** #11 𐎋 U+1038B UGARITIC LETTER KAF */ + '\uD800\uDF8C', /** #12 𐎌 U+1038C UGARITIC LETTER SHIN */ + '\uD800\uDF8D', /** #13 𐎍 U+1038D UGARITIC LETTER LAMDA */ + '\uD800\uDF8E', /** #14 𐎎 U+1038E UGARITIC LETTER MEM */ + '\uD800\uDF8F', /** #15 𐎏 U+1038F UGARITIC LETTER DHAL */ + '\uD800\uDF90', /** #16 𐎐 U+10390 UGARITIC LETTER NUN */ + '\uD800\uDF91', /** #17 𐎑 U+10391 UGARITIC LETTER ZU */ + '\uD800\uDF92', /** #18 𐎒 U+10392 UGARITIC LETTER SAMKA */ + '\uD800\uDF93', /** #19 𐎓 U+10393 UGARITIC LETTER AIN */ + '\uD800\uDF94', /** #20 𐎔 U+10394 UGARITIC LETTER PU */ + '\uD800\uDF95', /** #21 𐎕 U+10395 UGARITIC LETTER SADE */ + '\uD800\uDF96', /** #22 𐎖 U+10396 UGARITIC LETTER QOPA */ + '\uD800\uDF97', /** #23 𐎗 U+10397 UGARITIC LETTER RASHA */ + '\uD800\uDF98', /** #24 𐎘 U+10398 UGARITIC LETTER THANNA */ + '\uD800\uDF99', /** #25 𐎙 U+10399 UGARITIC LETTER GHAIN */ + '\uD800\uDF9A', /** #26 𐎚 U+1039A UGARITIC LETTER TO */ + '\uD800\uDF9B', /** #27 𐎛 U+1039B UGARITIC LETTER I */ + '\uD800\uDF9C', /** #28 𐎜 U+1039C UGARITIC LETTER U */ + '\uD800\uDF9D', /** #29 𐎝 U+1039D UGARITIC LETTER SSU */ ] export const Ug = { - Alpa: '\uD800\uDF80', - Beta: '\uD800\uDF81', - Gamla: '\uD800\uDF82', - Kha: '\uD800\uDF83', - Delta: '\uD800\uDF84', - Ho: '\uD800\uDF85', - Wo: '\uD800\uDF86', - Zeta: '\uD800\uDF87', - Hota: '\uD800\uDF88', - Tet: '\uD800\uDF89', - Yod: '\uD800\uDF8A', - Kaf: '\uD800\uDF8B', - Shin: '\uD800\uDF8C', - Lamda: '\uD800\uDF8D', - Mem: '\uD800\uDF8E', - Dhal: '\uD800\uDF8F', - Nun: '\uD800\uDF90', - Zu: '\uD800\uDF91', - Samka: '\uD800\uDF92', - Ain: '\uD800\uDF93', - Pu: '\uD800\uDF94', - Sade: '\uD800\uDF95', - Qopa: '\uD800\uDF96', - Rasha: '\uD800\uDF97', - Thanna: '\uD800\uDF98', - Ghain: '\uD800\uDF99', - To: '\uD800\uDF9A', - I: '\uD800\uDF9B', - U: '\uD800\uDF9C', - Ssu: '\uD800\uDF9D', + Alpa: letters[0], // 𐎀 + Beta: letters[1], // 𐎁 + Gamla: letters[2], // 𐎂 + Kha: letters[3], // 𐎃 + Delta: letters[4], // 𐎄 + Ho: letters[5], // 𐎅 + Wo: letters[6], // 𐎆 + Zeta: letters[7], // 𐎇 + Hota: letters[8], // 𐎈 + Tet: letters[9], // 𐎉 + Yod: letters[10], // 𐎊 + Kaf: letters[11], // 𐎋 + Shin: letters[12], // 𐎌 + Lamda: letters[13], // 𐎍 + Mem: letters[14], // 𐎎 + Dhal: letters[15], // 𐎏 + Nun: letters[16], // 𐎐 + Zu: letters[17], // 𐎑 + Samka: letters[18], // 𐎒 + Ain: letters[19], // 𐎓 + Pu: letters[20], // 𐎔 + Sade: letters[21], // 𐎕 + Qopa: letters[22], // 𐎖 + Rasha: letters[23], // 𐎗 + Thanna: letters[24], // 𐎘 + Ghain: letters[25], // 𐎙 + To: letters[26], // 𐎚 + I: letters[27], // 𐎛 + U: letters[28], // 𐎜 + Ssu: letters[29], // 𐎝 } diff --git a/packages/abjad-convert/test/index.test.ts b/packages/abjad-convert/test/index.test.ts index 022abf0..9ba2886 100644 --- a/packages/abjad-convert/test/index.test.ts +++ b/packages/abjad-convert/test/index.test.ts @@ -21,6 +21,12 @@ describe('convert()', () => { expect(actual).toEqual('ܐ ܒ ܓ') }) }) + describe('to Tifinagh', () => { + it('convert ا ب ج into ⴰ ⴱ ⵊ', () => { + const actual = convert('ا ب ج', Abjad.Arabic, Abjad.Tifinagh) + expect(actual).toEqual('ⴰ ⴱ ⵊ') + }) + }) describe('to Ugaritic', () => { it('convert ا ب ج into 𐎀 𐎁 𐎂', () => { const actual = convert('ا ب ج', Abjad.Arabic, Abjad.Ugaritic) @@ -47,6 +53,12 @@ describe('convert()', () => { expect(actual).toEqual('ܐ ܒ ܓ') }) }) + describe('to Tifinagh', () => { + it('convert 𐡀 𐡁 𐡂 into ⴰ ⴱ ⵊ', () => { + const actual = convert('𐡀 𐡁 𐡂', Abjad.ImperialAramaic, Abjad.Tifinagh) + expect(actual).toEqual('ⴰ ⴱ ⵊ') + }) + }) describe('to Ugaritic', () => { it('convert 𐡀 𐡁 𐡂 into 𐎀 𐎁 𐎂', () => { const actual = convert('𐡀 𐡁 𐡂', Abjad.ImperialAramaic, Abjad.Ugaritic) @@ -73,6 +85,12 @@ describe('convert()', () => { expect(actual).toEqual('ܐ ܒ ܓ') }) }) + describe('to Tifinagh', () => { + it('convert 𐤀𐤟𐤁𐤟𐤂 into ⴰ ⴱ ⵊ', () => { + const actual = convert('𐤀𐤟𐤁𐤟𐤂', Abjad.Phoenician, Abjad.Tifinagh) + expect(actual).toEqual('ⴰ ⴱ ⵊ') + }) + }) describe('to Ugaritic', () => { it('convert 𐤀𐤟𐤁𐤟𐤂 into 𐎀𐎁𐎂', () => { const actual = convert('𐤀𐤟𐤁𐤟𐤂', Abjad.Phoenician, Abjad.Ugaritic) @@ -99,6 +117,12 @@ describe('convert()', () => { expect(actual).toEqual('𐤀𐤟𐤁𐤟𐤂') }) }) + describe('to Tifinagh', () => { + it('convert ܐ ܒ ܓ into ⴰ ⴱ ⵊ', () => { + const actual = convert('ܐ ܒ ܓ', Abjad.Syriac, Abjad.Tifinagh) + expect(actual).toEqual('ⴰ ⴱ ⵊ') + }) + }) describe('to Ugaritic', () => { it('convert ܐ ܒ ܓ into 𐎀 𐎁 𐎂', () => { const actual = convert('ܐ ܒ ܓ', Abjad.Syriac, Abjad.Ugaritic) @@ -106,6 +130,38 @@ describe('convert()', () => { }) }) }) + describe('from Tifinagh', () => { + describe('to Arabic', () => { + it('convert ⴰ ⴱ ⵊ into ا ب ج', () => { + const actual = convert('ⴰ ⴱ ⵊ', Abjad.Tifinagh, Abjad.Arabic) + expect(actual).toEqual('ا ب ج') + }) + }) + describe('to ImperialAramaic', () => { + it('convert ⴰ ⴱ ⵊ into 𐡀 𐡁 𐡂', () => { + const actual = convert('ⴰ ⴱ ⵊ', Abjad.Tifinagh, Abjad.ImperialAramaic) + expect(actual).toEqual('𐡀 𐡁 𐡂') + }) + }) + describe('to Phoenician', () => { + it('convert ⴰ ⴱ ⵊ into 𐤀𐤟𐤁𐤟𐤂', () => { + const actual = convert('ⴰ ⴱ ⵊ', Abjad.Tifinagh, Abjad.Phoenician) + expect(actual).toEqual('𐤀𐤟𐤁𐤟𐤂') + }) + }) + describe('to Syriac', () => { + it('convert ⴰ ⴱ ⵊ into ܐ ܒ ܓ', () => { + const actual = convert('ⴰ ⴱ ⵊ', Abjad.Tifinagh, Abjad.Syriac) + expect(actual).toEqual('ܐ ܒ ܓ') + }) + }) + describe('to Ugaritic', () => { + it('convert ⴰ ⴱ ⵊ into 𐎀 𐎁 𐎂', () => { + const actual = convert('ⴰ ⴱ ⵊ', Abjad.Tifinagh, Abjad.Ugaritic) + expect(actual).toEqual('𐎀 𐎁 𐎂') + }) + }) + }) describe('from Ugaritic', () => { describe('to Arabic', () => { it('convert 𐎀 𐎁 𐎂 into ا ب ج', () => { @@ -131,5 +187,11 @@ describe('convert()', () => { expect(actual).toEqual('ܐ ܒ ܓ') }) }) + describe('to Tifinagh', () => { + it('convert 𐎀 𐎁 𐎂 into ⴰ ⴱ ⵊ', () => { + const actual = convert('𐎀 𐎁 𐎂', Abjad.Ugaritic, Abjad.Tifinagh) + expect(actual).toEqual('ⴰ ⴱ ⵊ') + }) + }) }) })