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

knayi-myscript

v2.8.3

Published

Knayi Myanmar languages JavaScirpt library

Downloads

1,001

Readme

Knayi Myanmar Script

NPM version

Standalone Myanmar languages js library, to build Myanmar Unicode standard web.

Announce on breaking API changes from 2.4.2 -> 2.5.0

  • All throw Error are now become console.warn and console.error
  • If content not found happens, #fontConvert, #spellingCheck, #syllBreak all return empty string
  • If content not found happens, #fontDetect return fallback_font_type or 'en'
  • You can set silent by setting knayi.setGlobalOptions({silent_mode: true})

Node Version

  • Required node version >= 4
    Note: From version >=2.3.0 build step will only support for node >=6

Features

  • Detector (Unicode and Zawgyi) Detection now
  • Converter (Unicode and Zawgyi)
  • SyallBreak (Unicode and Zawgyi)
  • Spelling Check (Unicode and Zawgyi)
  • Truncate (Unicode and Zawgyi)
  • Normalization (Unicode only)

Installation

Using npm

npm install knayi-myscript --save

Using yran

yarn add knayi-myscript

Using CDN

<script src="https://unpkg.com/knayi-myscript@latest/dist/knayi-myscript.min.js"></script>

API

|Method Name | Arguments | Return | Note | | --- | --- | --- | --- | | fontDetect | content: String(require), fallbackFontType:, options fontName(options), options: Object(options) | String | Font Detector, it will detect unicode/zawgyi of the content Text. If nothing is matched or possibility are equal, it will return as 'zawgyi' or specified font type in fallbackFontType, options params. | | fontConvert | content: String(require),targetFontType: fontName(require),orignalFontType: fontName(optional)| String | Converting font to target font type. This method need spelling fix, so it gonna use spellingFix in default. convertFrom will be detect by fontDetect when you don't described. fontName must be one of unicode or zawgyi. | | syllBreak | content: String(require),fontType: fontName(optional),breakPoint: String(optional) | String |To make systematic word break of Myanmar text. convertFrom will be detect by fontDetect when you don't described. fontName must be one of unicode or zawgyi. | | spellingFix | content: String(require),fontType: fontName(optional) | String | convertFrom will be detect by fontDetect when you don't described. It fix spelling on Myanmar Text. fontName must be one of unicode or zawgyi. | | truncate | content: String(requre),options: Object | String | Like lodash.truncate, it truncate word syllable and space. Default truncate length is 30 and you can change it in options.length | | normalize | content: String(requre) | String | Normzliation solve some typing errors. Unlike spellingFix this offer more appropriate way of doing so. But this function can only solve some level of normalization. |

Usage

// ES5 Way
var knayi = require('knayi-myscript')

// ES6 Way
import knayi from 'knayi-myscript'

Example

  • fontDetect(content [, fallbackFontType [, options]])
knayi.fontDetect('မဂၤလာပါ') // zawgyi
knayi.fontDetect('မင်္ဂလာပါ') // unicode
  • fontConvert(content, targetFontType [, orignalFontType])
knayi.fontConvert('မဂၤလာပါ', 'unicode', 'zawgyi') // မင်္ဂလာပါ
knayi.fontConvert('မဂၤလာပါ', 'unicode') // မင်္ဂလာပါ
  • syllBreak(content [, fontType [, breakWord]])
knayi.syllBreak('မင်္ဂလာပါ', null, '$$')
// output: 'မင်္ဂလာ$$ပါ'
knayi.syllBreak('မင်္ဂလာပါ')
// output: 'မင်္ဂလာ\u200bပါ'
  • spellingFix(content [, fontType])
knayi.spellingFix('မင်္ဂလာာပါါ') 
// output: 'မင်္ဂလာပါ'
  • truncate(content [, options])
knayi.truncate('အာယုဝဍ်ဎနဆေးညွှန်းစာကို ဇလွန်ဈေးဘေးဗာဒံပင်ထက် အဓိဋ္ဌာန်လျက် ဂဃနဏဖတ်ခဲ့သည်။', { length: 30, omission: '...' });
// output: "အာယုဝဍ်ဎနဆေးညွှန်းစာကို ဈေး..."

options of truncate

  • length: Number default is 30

  • omission:String default is '...'

  • fontType: String it automatically detect if it not specified

  • normalize(content)

knayi.normalize('မိြုင်မိြုင်\nဆိုင်ဆုိင်')
// output: မြိုင်မြိုင်\nဆိုင်ဆိုင်

Using googlei18n/myanmartools in detector.js

In default, knayi use own logic font dector rules, but you can choose knayi to use googlei18n/myanmartools To do that, setuse_myanmartoolsoption to true. By defaultuse_myanmartoolsoption is set tofalse`.

Example::

// Add options for single process
knayi.fontDetect('မဂၤလာပါ', null, {use_myanmartools: true}) // this will use myanmartools
knayi.fontDetect('မင်္ဂလာပါ') // this will use default

// OR set for whole project
knayi.setGlobalOptions({
  detector: {
    use_myanmartools: true
  }
})

You can also set Probability threshold percentages of zawgyi predicting by myanmartools_zg_threshold as [lower, higher]. Which mean if predicting result of myanmartools is < 0.05 detector.js assume as unicode or > 0.95 it assume as zawgyi.

knayi.fontDetect('မင်္ဂလာပါ', null, {
  use_myanmartools: true,
  myanmartools_zg_threshold: [0.05, 0.95]
})

Debugging of font converting

Visit http://tools.kny.co/knayi-myscript#debug-mode and select text to track how converting happened in background.

Build

  • Required node >=6
  • npm run build
    To build production run webpack -p

License

MIT