Project: jaconv

Pure-Python Japanese character interconverter for Hiragana, Katakana, Hankaku, Zenkaku and more

Project Details

Latest version
0.3.4
Home Page
https://github.com/ikegami-yukino/jaconv
PyPI Page
https://pypi.org/project/jaconv/

Project Popularity

PageRank
0.0019715489092163537
Number of downloads
949303

jaconv

|travis| |coveralls| |pyversion| |version| |license| |download|

jaconv (Japanese Converter) is interconverter for Hiragana, Katakana, Hankaku (half-width character) and Zenkaku (full-width character)

Japanese README <https://github.com/ikegami-yukino/jaconv/blob/master/README_JP.rst>_ is available.

INSTALLATION

::

$ pip install jaconv

USAGE

See also document <http://ikegami-yukino.github.io/jaconv/jaconv.html>_

.. code:: python

import jaconv

Hiragana to Katakana

jaconv.hira2kata('ともえまみ')

=> 'トモエマミ'

Hiragana to half-width Katakana

jaconv.hira2hkata('ともえまみ')

=> 'トモエマミ'

Katakana to Hiragana

jaconv.kata2hira('巴マミ')

=> '巴まみ'

half-width character to full-width character

default parameters are followings: kana=True, ascii=False, digit=False

jaconv.h2z('ティロ・フィナーレ')

=> 'ティロ・フィナーレ'

half-width character to full-width character

but only ascii characters

jaconv.h2z('abc', kana=False, ascii=True, digit=False)

=> 'abc'

half-width character to full-width character

but only digit characters

jaconv.h2z('123', kana=False, ascii=False, digit=True)

=> '123'

half-width character to full-width character

except half-width Katakana

jaconv.h2z('アabc123', kana=False, digit=True, ascii=True)

=> 'アabc123'

an alias of h2z

jaconv.hankaku2zenkaku('ティロ・フィナーレabc123')

=> 'ティロ・フィナーレabc123'

full-width character to half-width character

default parameters are followings: kana=True, ascii=False, digit=False

jaconv.z2h('ティロ・フィナーレ')

=> 'ティロ・フィナーレ'

full-width character to half-width character

but only ascii characters

jaconv.z2h('abc', kana=False, ascii=True, digit=False)

=> 'abc'

full-width character to half-width character

but only digit characters

jaconv.z2h('123', kana=False, ascii=False, digit=True)

=> '123'

full-width character to half-width character

except full-width Katakana

jaconv.z2h('アabc123', kana=False, digit=True, ascii=True)

=> 'アabc123'

an alias of z2h

jaconv.zenkaku2hankaku('ティロ・フィナーレabc123')

=> 'ティロ・フィナーレabc123'

normalize

jaconv.normalize('ティロ・フィナ〜レ', 'NFKC')

=> 'ティロ・フィナーレ'

Hiragana to alphabet

jaconv.kana2alphabet('じゃぱん')

=> 'japan'

Alphabet to Hiragana

jaconv.alphabet2kana('japan')

=> 'じゃぱん'

Katakana to Alphabet

jaconv.kata2alphabet('ケツイ')

=> 'ketsui'

Alphabet to Katakana

jaconv.alphabet2kata('namba')

=> 'ナンバ'

Hiragana to Julius's phoneme format

jaconv.hiragana2julius('てんきすごくいいいいいい')

=> 't e N k i s u g o k u i:'

NOTE

jaconv.normalize method expand unicodedata.normalize for Japanese language processing.

.. code::

'〜' => 'ー'
'~' => 'ー'
"’" => "'"
'”'=> '"'
'“' => '``'
'―' => '-'
'‐' => '-'
'˗' => '-'
'֊' => '-'
'‐' => '-'
'‑' => '-'
'‒' => '-'
'–' => '-'
'⁃' => '-'
'⁻' => '-'
'₋' => '-'
'−' => '-'
'﹣' => 'ー'
'-' => 'ー'
'—' => 'ー'
'―' => 'ー'
'━' => 'ー'
'─' => 'ー'

.. |travis| image:: https://travis-ci.org/ikegami-yukino/jaconv.svg?branch=master :target: https://travis-ci.org/ikegami-yukino/jaconv :alt: travis-ci.org

.. |coveralls| image:: https://coveralls.io/repos/ikegami-yukino/jaconv/badge.svg?branch=master&service=github :target: https://coveralls.io/github/ikegami-yukino/jaconv?branch=master :alt: coveralls.io

.. |pyversion| image:: https://img.shields.io/pypi/pyversions/jaconv.svg

.. |version| image:: https://img.shields.io/pypi/v/jaconv.svg :target: http://pypi.python.org/pypi/jaconv/ :alt: latest version

.. |license| image:: https://img.shields.io/pypi/l/jaconv.svg :target: http://pypi.python.org/pypi/jaconv/ :alt: license

.. |download| image:: https://static.pepy.tech/personalized-badge/neologdn?period=total&units=international_system&left_color=black&right_color=blue&left_text=Downloads :target: https://pepy.tech/project/neologdn :alt: download

CHANGES

0.3.4 (2023-2-18)

  • Fix to support Python2.7 ~ 3.4 (thanks @manjuu-eater)
  • Support Python 3.11

0.3.3 (2022-12-31)

  • Support Python 3.10
  • Re-support Python2.7 ~ 3.4 (thanks @manjuu-eater)
  • Fix z2h, h2z all flag off bug (thanks @manjuu-eater)

0.3.1 (2022-12-14)

  • Fix alpha2kana infinite loop bug (thanks @frog42)

0.3 (2021-03-29)

  • Fix bug (alphabet2kana) thanks @Cuddlemuffin007
  • Support Python 3.8 and 3.9
  • Add handy functions: alphabet2kata and kata2alphabet. thanks @kokimame
  • Add function for julius: hiragana2julius

0.2.4 (2018-02-04)

  • Fix bug (kana2alphabet)
  • Support Python 3.7
  • No longer support Python 2.6
  • Add aliases of z2h -> zenkaku2hankaku and h2z -> hankaku2zenkaku

0.2.3 (2018-02-03)

  • Fix bugs (alphabet2kana, kana2alphabet) thanks @letuananh

0.2.2 (2018-01-22)

  • Fix bug (kana2alphabet) thanks @kokimame
  • Support Python 3.6

0.2.1 (2017-09-14)

  • Fix bugs (alphabet2kana, kana2alphabet)

0.2 (2015-04-02)

  • Change module name jctconv -> jaconv
  • Add alphabet and hiragana interconvert (alphabet2kana, kana2alphabet)

0.1.1 (2015-03-12)

  • Support Windows
  • Support Python 3.5

0.1 (2014-11-24)

  • Add some Japanese characters to convert table (ゝゞ・「」。、)
  • Decresing memory usage
  • Some function names are deprecated (hankaku2zenkaku, zenkaku2hankaku, H2K, H2hK, K2H)

0.0.7 (2014-03-22)

z2h and h2z allow mojimoji-like target character type determination. Bug fix about Half Kana conversion.