npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@konfirm/iso15924

v1.0.1

Published

Implementation of ISO 15924:2004, codes for presentations of names of scripts

Downloads

7

Readme

ISO15924:2004 - Codes for the representation of names of scripts

The ISO 15924:2004 standard specifies all of the 252 script codes. The codes are maintained by The Unicode Consortium, who also publishes the full list of codes.

Installation

ISO15924 is a scoped package, the scope needs to be provided for both the installation and usage.

$ npm install --save @konfirm/iso15924

Usage

The ISO15924 package exports a factory function, this function is used to obtain instances of the ISO15924 class.

const iso15924 = require('@konfirm/iso15924');
const latn = iso15924('Latn');

latn.code; // 'Latn'
latn.numeric; // '215'

The exported factory function in turn also has several added members for convenience

ISO15924

The ISO15924 class used to create the specified value objects.

Creating instances directly is useful to reduce the footprint of any dependent implementation, but skips lookups for the numeric code. Use this if there is a need for a full custom code (where the range Qaaa..Qabx inteded for private use does not suffice) or in case codes have been added and this module is not on par (in which case PR's are welcome).

const { ISO15924 } = require('@konfirm/iso15924');
const latn = new ISO15924('Latn');

latn.code; // 'Latn'
latn.numeric; // undefined

const cyrl = new ISO15924('Cyrl', '220');

cyrl.code; // 'Cyrl'
cyrl.numeric; // '220'

code(string code)

The same as the main exported factory function.

const { code } = require('@konfirm/iso15924');
const cyrl = code('Cyrl');

cyrl.code; // 'Cyrl'
cyrl.numeric; // '220'

numeric(string|number numeric)

Obtain the ISO15924 instance by its numeric code;

const { numeric } = require('@konfirm/iso15924');
const cyrl = numeric('220');

cyrl.code; // 'Cyrl'
cyrl.numeric; // '220'

Available codes

code | numeric | description --------|----------|------------- Adlm | 166 | Adlam Afak | 439 | Afaka Aghb | 239 | Caucasian Albanian Ahom | 338 | Ahom, Tai Ahom Arab | 160 | Arabic Aran | 161 | Arabic (Nastaliq variant) Armi | 124 | Imperial Aramaic Armn | 230 | Armenian Avst | 134 | Avestan Bali | 360 | Balinese Bamu | 435 | Bamum Bass | 259 | Bassa Vah Batk | 365 | Batak Beng | 325 | Bengali (Bangla) Bhks | 334 | Bhaiksuki Blis | 550 | Blissymbols Bopo | 285 | Bopomofo Brah | 300 | Brahmi Brai | 570 | Braille Bugi | 367 | Buginese Buhd | 372 | Buhid Cakm | 349 | Chakma Cans | 440 | Unified Canadian Aboriginal Syllabics Cari | 201 | Carian Cham | 358 | Cham Cher | 445 | Cherokee Chrs | 109 | Chorasmian Cirt | 291 | Cirth Copt | 204 | Coptic Cpmn | 402 | Cypro-Minoan Cprt | 403 | Cypriot syllabary Cyrl | 220 | Cyrillic Cyrs | 221 | Cyrillic (Old Church Slavonic variant) Deva | 315 | Devanagari (Nagari) Diak | 342 | Dives Akuru Dogr | 328 | Dogra Dsrt | 250 | Deseret (Mormon) Dupl | 755 | Duployan shorthand, Duployan stenography Egyd | 070 | Egyptian demotic Egyh | 060 | Egyptian hieratic Egyp | 050 | Egyptian hieroglyphs Elba | 226 | Elbasan Elym | 128 | Elymaic Ethi | 430 | Ethiopic (Geʻez) Geok | 241 | Khutsuri (Asomtavruli and Nuskhuri) Geor | 240 | Georgian (Mkhedruli and Mtavruli) Glag | 225 | Glagolitic Gong | 312 | Gunjala Gondi Gonm | 313 | Masaram Gondi Goth | 206 | Gothic Gran | 343 | Grantha Grek | 200 | Greek Gujr | 320 | Gujarati Guru | 310 | Gurmukhi Hanb | 503 | Han with Bopomofo Hang | 286 | Hangul (Hangŭl, Hangeul) Hani | 500 | Han (Hanzi, Kanji, Hanja) Hano | 371 | Hanunoo (Hanunóo) Hans | 501 | Han (Simplified variant) Hant | 502 | Han (Traditional variant) Hatr | 127 | Hatran Hebr | 125 | Hebrew Hira | 410 | Hiragana Hluw | 080 | Anatolian Hieroglyphs (Luwian Hieroglyphs, Hittite Hieroglyphs) Hmng | 450 | Pahawh Hmong Hmnp | 451 | Nyiakeng Puachue Hmong Hrkt | 412 | Japanese syllabaries Hung | 176 | Old Hungarian (Hungarian Runic) Inds | 610 | Indus (Harappan) Ital | 210 | Old Italic (Etruscan, Oscan, etc.) Jamo | 284 | Jamo Java | 361 | Javanese Jpan | 413 | Japanese Jurc | 510 | Jurchen Kali | 357 | Kayah Li Kana | 411 | Katakana Khar | 305 | Kharoshthi Khmr | 355 | Khmer Khoj | 322 | Khojki Kitl | 505 | Khitan large script Kits | 288 | Khitan small script Knda | 345 | Kannada Kore | 287 | Korean Kpel | 436 | Kpelle Kthi | 317 | Kaithi Lana | 351 | Tai Tham (Lanna) Laoo | 356 | Lao Latf | 217 | Latin (Fraktur variant) Latg | 216 | Latin (Gaelic variant) Latn | 215 | Latin Leke | 364 | Leke Lepc | 335 | Lepcha (Róng) Limb | 336 | Limbu Lina | 400 | Linear A Linb | 401 | Linear B Lisu | 399 | Lisu (Fraser) Loma | 437 | Loma Lyci | 202 | Lycian Lydi | 116 | Lydian Mahj | 314 | Mahajani Maka | 366 | Makasar Mand | 140 | Mandaic, Mandaean Mani | 139 | Manichaean Marc | 332 | Marchen Maya | 090 | Mayan hieroglyphs Medf | 265 | Medefaidrin (Oberi Okaime, Oberi Ɔkaimɛ) Mend | 438 | Mende Kikakui Merc | 101 | Meroitic Cursive Mero | 100 | Meroitic Hieroglyphs Mlym | 347 | Malayalam Modi | 324 | Modi, Moḍī Mong | 145 | Mongolian Moon | 218 | Moon (Moon code, Moon script, Moon type) Mroo | 264 | Mro, Mru Mtei | 337 | Meitei Mayek (Meithei, Meetei) Mult | 323 | Multani Mymr | 350 | Myanmar (Burmese) Nand | 311 | Nandinagari Narb | 106 | Old North Arabian (Ancient North Arabian) Nbat | 159 | Nabataean Newa | 333 | Newa, Newar, Newari, Nepāla lipi Nkdb | 085 | Naxi Dongba (na²¹ɕi³³ to³³ba²¹, Nakhi Tomba) Nkgb | 420 | Naxi Geba (na²¹ɕi³³ gʌ²¹ba²¹, 'Na-'Khi ²Ggŏ-¹baw, Nakhi Geba) Nkoo | 165 | N’Ko Nshu | 499 | Nüshu Ogam | 212 | Ogham Olck | 261 | Ol Chiki (Ol Cemet’, Ol, Santali) Orkh | 175 | Old Turkic, Orkhon Runic Orya | 327 | Oriya (Odia) Osge | 219 | Osage Osma | 260 | Osmanya Palm | 126 | Palmyrene Pauc | 263 | Pau Cin Hau Perm | 227 | Old Permic Phag | 331 | Phags-pa Phli | 131 | Inscriptional Pahlavi Phlp | 132 | Psalter Pahlavi Phlv | 133 | Book Pahlavi Phnx | 115 | Phoenician Piqd | 293 | Klingon (KLI pIqaD) Plrd | 282 | Miao (Pollard) Prti | 130 | Inscriptional Parthian Qaaa | 900 | Reserved for private use (start) Qaab | 901 | Codes reserved for private use Qaac | 902 | Codes reserved for private use Qaad | 903 | Codes reserved for private use Qaae | 904 | Codes reserved for private use Qaaf | 905 | Codes reserved for private use Qaag | 906 | Codes reserved for private use Qaah | 907 | Codes reserved for private use Qaai | 908 | Codes reserved for private use Qaaj | 909 | Codes reserved for private use Qaak | 910 | Codes reserved for private use Qaal | 911 | Codes reserved for private use Qaam | 912 | Codes reserved for private use Qaan | 913 | Codes reserved for private use Qaao | 914 | Codes reserved for private use Qaap | 915 | Codes reserved for private use Qaaq | 916 | Codes reserved for private use Qaar | 917 | Codes reserved for private use Qaas | 918 | Codes reserved for private use Qaat | 919 | Codes reserved for private use Qaau | 920 | Codes reserved for private use Qaav | 921 | Codes reserved for private use Qaaw | 922 | Codes reserved for private use Qaax | 923 | Codes reserved for private use Qaay | 924 | Codes reserved for private use Qaaz | 925 | Codes reserved for private use Qaba | 926 | Codes reserved for private use Qabb | 927 | Codes reserved for private use Qabc | 928 | Codes reserved for private use Qabd | 929 | Codes reserved for private use Qabe | 930 | Codes reserved for private use Qabf | 931 | Codes reserved for private use Qabg | 932 | Codes reserved for private use Qabh | 933 | Codes reserved for private use Qabi | 934 | Codes reserved for private use Qabj | 935 | Codes reserved for private use Qabk | 936 | Codes reserved for private use Qabl | 937 | Codes reserved for private use Qabm | 938 | Codes reserved for private use Qabn | 939 | Codes reserved for private use Qabo | 940 | Codes reserved for private use Qabp | 941 | Codes reserved for private use Qabq | 942 | Codes reserved for private use Qabr | 943 | Codes reserved for private use Qabs | 944 | Codes reserved for private use Qabt | 945 | Codes reserved for private use Qabu | 946 | Codes reserved for private use Qabv | 947 | Codes reserved for private use Qabw | 948 | Codes reserved for private use Qabx | 949 | Reserved for private use (end) Rjng | 363 | Rejang (Redjang, Kaganga) Rohg | 167 | Hanifi Rohingya Root | RESERVED | Reserved for the language-neutral base of the CLDR locale tree Roro | 620 | Rongorongo Runr | 211 | Runic Samr | 123 | Samaritan Sara | 292 | Sarati Sarb | 105 | Old South Arabian Saur | 344 | Saurashtra Sgnw | 095 | SignWriting Shaw | 281 | Shavian (Shaw) Shrd | 319 | Sharada, Śāradā Shui | 530 | Shuishu Sidd | 302 | Siddham, Siddhaṃ, Siddhamātṛkā Sind | 318 | Khudawadi, Sindhi Sinh | 348 | Sinhala Sogd | 141 | Sogdian Sogo | 142 | Old Sogdian Sora | 398 | Sora Sompeng Soyo | 329 | Soyombo Sund | 362 | Sundanese Sylo | 316 | Syloti Nagri Syrc | 135 | Syriac Syre | 138 | Syriac (Estrangelo variant) Syrj | 137 | Syriac (Western variant) Syrn | 136 | Syriac (Eastern variant) Tagb | 373 | Tagbanwa Takr | 321 | Takri, Ṭākrī, Ṭāṅkrī Tale | 353 | Tai Le Talu | 354 | New Tai Lue Taml | 346 | Tamil Tang | 520 | Tangut Tavt | 359 | Tai Viet Telu | 340 | Telugu Teng | 290 | Tengwar Tfng | 120 | Tifinagh (Berber) Tglg | 370 | Tagalog (Baybayin, Alibata) Thaa | 170 | Thaana Thai | 352 | Thai Tibt | 330 | Tibetan Tirh | 326 | Tirhuta True | RESERVED | Reserved for the boolean value true Ugar | 040 | Ugaritic Vaii | 470 | Vai Visp | 280 | Visible Speech Wara | 262 | Warang Citi (Varang Kshiti) Wcho | 283 | Wancho Wole | 480 | Woleai Xpeo | 030 | Old Persian Xsux | 020 | Cuneiform, Sumero-Akkadian Yezi | 192 | Yezidi Yiii | 460 | Yi Zanb | 339 | Zanabazar Square (Zanabazarin Dörböljin Useg, Xewtee Dörböljin Bicig, Horizontal Square Script) Zinh | 994 | Code for inherited script Zmth | 995 | Mathematical notation Zsye | 993 | Symbols (Emoji variant) Zsym | 996 | Symbols Zxxx | 997 | Code for unwritten documents Zyyy | 998 | Code for undetermined script Zzzz | 999 | Code for uncoded script

ISO15924 API

The ISO15924 instances are designed to be immutable and provide only basic information

Properties

name | type | description -----------|----------|------------- code | string | The alphabetic code numeric | string | The numeric code

Casting

All ISO15924 instances allow to be cast in several shapes

name | type | description ------------|----------|------------- toString | string | Cast the instance into its string representation toJSON | string | Cast the instance into its JSON-able representation (string) valueOf | number | Cast the instance into a real number (0 for the reserved ones), note that this will lose the 0-padding on the left

License

MIT License Copyright (c) 2019 Rogier Spieker (Konfirm)

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.