Coder Social home page Coder Social logo

nkf's Introduction

NAME

nkf - Network Kanji Filter

SYNOPSIS

nkf [-butjnesliohrTVvwWJESZxXFfmMBOcdILg] [file ...]

DESCRIPTION

Nkf is a yet another kanji code converter among networks, hosts and terminals. It converts input kanji code to designated kanji code such as ISO-2022-JP, Shift_JIS, EUC-JP, UTF-8, UTF-16 or UTF-32.

One of the most unique faculty of nkf is the guess of the input kanji encodings. It currently recognizes ISO-2022-JP, Shift_JIS, EUC-JP, UTF-8, UTF-16 and UTF-32. So users needn't set the input kanji code explicitly.

By default, X0201 kana is converted into X0208 kana. For X0201 kana, SO/SI, SSO and ESC-(-I methods are supported. For automatic code detection, nkf assumes no X0201 kana in Shift_JIS. To accept X0201 in Shift_JIS, use -X, -x or -S.

OPTIONS

  • -J -S -E -W -W16 -W32 -j -s -e -w -w16 -w32

Specify input and output encodings. Upper case is input. cf. --ic and --oc.

- __-J__

ISO-2022-JP (JIS code).

- __-S__

Shift_JIS and JIS X 0201 kana.
EUC-JP is recognized as X0201 kana. Without __-x__ flag,
JIS X 0201 Katakana (a.k.a.halfwidth kana) is converted into JIS X 0208.
If you use Windows, see Windows-31J (CP932).

- __-E__

EUC-JP.

- __-W__

UTF-8N.

- __-W16[BL][0]__

UTF-16.
B or L gives whether Big Endian or Little Endian.
0 gives whether put BOM or not.

- __-W32[BL][0]__

UTF-32.
B or L gives whether Big Endian or Little Endian.
0 gives whether put BOM or not.
  • -b -u

Output is buffered (DEFAULT), Output is unbuffered.

  • -t

No conversion.

  • -i[@B]

Specify the escape sequence for JIS X 0208.

- __-i@__

Use ESC ( @. (JIS X 0208-1978)

- __-iB__

Use ESC ( B. (JIS X 0208-1983/1990 DEFAULT)
  • -o[BJ]

Specify the escape sequence for US-ASCII/JIS X 0201 Roman. (DEFAULT B)

  • -r

{de/en}crypt ROT13/47

  • -h[123] --hiragana --katakana --katakana-hiragana

Hiragana/Katakana conversion

- __-h1 --hiragana__

Katakana to Hiragana conversion.

- __-h2 --katakana__

Hiragana to Katakana conversion.

- __-h3 --katakana-hiragana__

Katakana to Hiragana and Hiragana to Katakana conversion.
  • -T

Text mode output (MS-DOS)

  • -f[m [- n]]

Folding on m length with n margin in a line. Without this option, fold length is 60 and fold margin is 10.

  • -F

New line preserving line folding.

  • -Z[0-3]

Convert X0208 alphabet (Fullwidth Alphabets) to ASCII.

- __-Z -Z0__

Convert X0208 alphabet to ASCII.

- __-Z1__

Convert X0208 kankaku to single ASCII space.

- __-Z2__

Convert X0208 kankaku to double ASCII spaces.

- __-Z3__

Replacing fullwidth >, <, ", & into '&gt;', '&lt;', '&quot;', '&amp;' as in HTML.
  • -X -x

With -X or without this option, X0201 is converted into X0208 Kana. With -x, try to preserve X0208 kana and do not convert X0201 kana to X0208. In JIS output, ESC-(-I is used. In EUC output, SS2 is used.

  • -B[0-2]

Assume broken JIS-Kanji input, which lost ESC. Useful when your site is using old B-News Nihongo patch.

- __-B1__

allows any chars after ESC-( or ESC-$.

- __-B2__

force ASCII after NL.
  • -I

Replacing non iso-2022-jp char into a geta character (substitute character in Japanese).

  • -m[BQN0]

MIME ISO-2022-JP/ISO8859-1 decode. (DEFAULT) To see ISO8859-1 (Latin-1) -l is necessary.

- __-mB__

Decode MIME base64 encoded stream. Remove header or other part before
conversion. 

- __-mQ__

Decode MIME quoted stream. '_' in quoted stream is converted to space.

- __-mN__

Non-strict decoding.
It allows line break in the middle of the base64 encoding.

- __-m0__

No MIME decode.
  • -M

MIME encode. Header style. All ASCII code and control characters are intact.

- __-MB__

MIME encode Base64 stream.
Kanji conversion is performed before encoding, so this cannot be used as a picture encoder.

- __-MQ__

Perform quoted encoding.
  • -l

Input and output code is ISO8859-1 (Latin-1) and ISO-2022-JP. -s, -e and -x are not compatible with this option.

  • -L[uwm] -d -c

Convert line breaks.

- __-Lu -d__

unix (LF)

- __-Lw -c__

windows (CRLF)

- __-Lm__

mac (CR)

Without this option, nkf doesn't convert line breaks.
  • --fj --unix --mac --msdos --windows

Convert for these systems.

  • --jis --euc --sjis --mime --base64

Convert to named code.

  • --jis-input --euc-input --sjis-input --mime-input --base64-input

Assume input system

  • --ic=input codeset --oc=output codeset

Set the input or output codeset. NKF supports following codesets and those codeset names are case insensitive.

- ISO-2022-JP

a.k.a. RFC1468, 7bit JIS, JUNET

- EUC-JP (eucJP-nkf)

a.k.a. AT&T JIS, Japanese EUC, UJIS

- eucJP-ascii
- eucJP-ms
- CP51932

Microsoft Version of EUC-JP.

- Shift_JIS

a.k.a. SJIS, MS_Kanji

- Windows-31J

a.k.a. CP932

- UTF-8

same as UTF-8N

- UTF-8N

UTF-8 without BOM

- UTF-8-BOM

UTF-8 with BOM

- UTF8-MAC (input only)

decomposed UTF-8

- UTF-16

same as UTF-16BE

- UTF-16BE

UTF-16 Big Endian without BOM

- UTF-16BE-BOM

UTF-16 Big Endian with BOM

- UTF-16LE

UTF-16 Little Endian without BOM

- UTF-16LE-BOM

UTF-16 Little Endian with BOM

- UTF-32

same as UTF-32BE

- UTF-32BE

UTF-32 Big Endian without BOM

- UTF-32BE-BOM

UTF-32 Big Endian with BOM

- UTF-32LE

UTF-32 Little Endian without BOM

- UTF-32LE-BOM

UTF-32 Little Endian with BOM
  • --fb-{skip, html, xml, perl, java, subchar}

Specify the way that nkf handles unassigned characters. Without this option, --fb-skip is assumed.

  • --prefix=escape character__target character..

When nkf converts to Shift_JIS, nkf adds a specified escape character to specified 2nd byte of Shift_JIS characters. 1st byte of argument is the escape character and following bytes are target characters.

  • --no-cp932ext

Handle the characters extended in CP932 as unassigned characters.

  • --no-best-fit-chars

When Unicode to Encoded byte conversion, don't convert characters which is not round trip safe. When Unicode to Unicode conversion, with this and -x option, nkf can be used as UTF converter. (In other words, without this and -x option, nkf doesn't save some characters)

When nkf converts strings that related to path, you should use this option.

  • --cap-input

Decode hex encoded characters.

  • --url-input

Unescape percent escaped characters.

  • --numchar-input

Decode character reference, such as "&#....;".

  • --in-place[=SUFFIX] --overwrite[=SUFFIX]

Overwrite original listed files by filtered result.

Note --overwrite preserves timestamps of original files.

  • --guess=[12]

Print guessed encoding and newline. (2 is default, 1 is only encoding)

  • --help

Print nkf's help.

  • --version

Print nkf's version.

  • --

Ignore rest of -option.

AUTHOR

Copyright (c) 1987, Fujitsu LTD. (Itaru ICHIKAWA).

Copyright (c) 1996-2012, The nkf Project.

nkf's People

Contributors

conao3 avatar eregon avatar fumiyas avatar kamipo avatar kkato233 avatar nobu avatar nurse avatar r6eve avatar seratch avatar shyouhei avatar slic-io avatar syohex avatar wonda-tea-coffee avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nkf's Issues

コンパイル済みバイナリをRelease発行で配布する

継続的なソースコード管理、ありがとうございます。

LaTeXのほうの世界からやってきた者なのですが、Windowsの世界だと、まだまだUTF-8への移行期というところで、手軽に文字コード変換できるツールである nkf を紹介したい状況です。
一方で、Windowsバイナリ(nkf.exe)をどこから手に入れるかというと、Mac が Homebrew で簡単に取ってこられるのに比べて(https://formulae.brew.sh/formula/nkf )、Vector サイトで2.1.1を取れるのがやっと(https://www.vector.co.jp/soft/win95/util/se295331.html )ということで、不自由な状況にあります。
※TeX界の人は、W32TeX というプロジェクト(現在はメンテナンス終了)で他のバイナリと混ぜて配られていたものを使っていたものと想像しています。

そこで、2.1.5からで構わないので、Releaseタグを打ち、そこにWindowsバイナリを掲載するという試みを行いたいのですが、ご協力いただけませんでしょうか?


手元では、

/c/Program Files (x86)/mingw-w64/i686-8.1.0-posix-dwarf-rt_v6-rev0/mingw32/bin/gcc

で最新版がコンパイルできることを確認しています。
W32TeXでコンパイルされていたバイナリは、Visual Studioでコンパイルされていたものと見えて、プロパティにバージョン情報などが載っているので、そちらのほうが好ましければ、コンパイル環境も整備して追試などしてみたいと思います。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.