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

henkaku

v1.0.2

Published

Functions to convert UTF-8 characters between full-width 全角 and half-width 半角

Downloads

301

Readme

henkaku 変格

Functions to convert UTF-8 characters between full-width 全角 and half-width 半角.

Installation

npm install henkaku

Usage

toFullWidth(str: string) -> string

import { toFullWidth } from "henkaku"

const input = "Hello、 ニホン"
const output = toFullWidth(str: string)
console.log(output) // Hello、 ニホン

toHalfWidth(str: string) -> string

import { toHalfWidth } from "henkaku"

const input = "Hello、 ニホン"
const output = toHalfWidth(str: string)
console.log(output) // Hello、 ニホン

Conversion rules

  1. Latins are converted by add/minus 0xFEE0

  2. Whitespace is converted between U+0020 (" ") and U+0300 (" ")

  3. Katakana is converted by mapping by following UTF8 table (U+FF00..U+FFEF) * Note: (Hannkaku katakana with dakuden, e.g ga ガ, is made by two half-width characters, カ and ゙. i.e. U+FF76U+FF9E)

  4. For punctuations and symbol, this only convert it to its counterpart. I.e It won't be correcting an English comma or a Japanese comma. It is because there are too many variants in different languages. e.g comma can be (, ,、 ,,, ...). So, I think it is better to do it yourself.

Why

It is very common on Japanese websites to ask you to type something in specific width. For example, phonetics in full-width katakana and English names in half-width alphabets. I think it is a great hassle for users to switch between widths. So, it is a great QOL improvement to automatically change the width after users typed something.

Bug/Issue

Please let me know by opening a ticket in issues. :)