- 追加された行はこの色です。
- 削除された行はこの色です。
*[[nkf:https://ja.osdn.net/projects/nkf/]] [#ie06d283]
nkf は,文字コードを変換するツールです。
----
#contents
----
**ダウンロード [#q89745b2]
-https://ja.osdn.net/projects/nkf/
-http://jaist.dl.osdn.jp/nkf/
-http://iij.dl.osdn.jp/nkf/
-http://ymu.dl.osdn.jp/nkf/
-http://ftp.jaist.ac.jp/pub/sourceforge.jp/nkf/
-http://ftp.iij.ad.jp/pub/sourceforge.jp/nkf/
-http://ftp.iij.ad.jp/pub/osdn.jp/nkf/
-ftp://ftp.jaist.ac.jp/pub/sourceforge.jp/nkf/
-ftp://ftp.iij.ad.jp/pub/sourceforge.jp/nkf/
-ftp://ftp.iij.ad.jp/pub/osdn.jp/nkf/
**インストール [#s4661abd]
***Windows [#md1ac383]
[[W32TeX]] には標準で含まれています。
Windows に [[TeX Live]] を『[[[改訂第6版]LaTeX2e 美文書作成入門:http://oku.edu.mie-u.ac.jp/~okumura/bibun6/]]』からインストールした場合も付属しています。
Windows に [[TeX Live]] を『[[[改訂第7版]LaTeX2e 美文書作成入門:http://okumuralab.org/bibun7/]]』からインストールした場合も付属しています。
それ以外の場合は,Vector のサイトから,ビルド済みのバイナリを入手してインストールするのが簡単です。
-[[nkf.exe nkf32.dll Windows用:http://www.vector.co.jp/soft/win95/util/se295331.html]]
アーカイブファイルを解凍すると複数の exe ファイルがありますが,このうち
アーカイブファイルを展開すると複数の exe ファイルがありますが,このうち
nkfwin/vc2005/win32(98,Me,NT,2000,XP,Vista,7)Windows-31J/
フォルダ配下の nkf32.exe はデフォルトで Windows-31J(Shift_JIS の拡張)に変換してくれるので,よく使われています。
これを nkf.exe とリネームしてパスの通ったディレクトリに配置するとよいでしょう。
(環境変数 Path については [[Microsoft Windows/基礎知識]] を参照してください。)
***macOS [#iac446b4]
Homebrew でインストールする場合は
$ brew install nkf
MacPorts でインストールする場合は
$ sudo port install nkf
**ビルド [#vec07303]
***MSYS2 [#if83f36c]
-[[msys2にnkfを入れる:https://twinbird-htn.hatenablog.com/entry/2016/05/24/084002]]
-[[<msys2> nkfを入れる。:http://nekoyukimmm.hatenablog.com/entry/2016/03/31/152538]]
-[[MSYS2上で動作するnkfコマンドのパッケージを作成する:https://qiita.com/magichan/items/1af5befb2b9750d585a2]]
***MinGW [#gdd930d3]
ソースからビルドする方法です。
$ curl -kRLO http://jaist.dl.osdn.jp/nkf/64158/nkf-2.1.4.tar.gz
$ tar xvf nkf-2.1.4.tar.gz
$ pushd nkf-2.1.4
$ curl -kRLO http://jaist.dl.osdn.jp/nkf/70406/nkf-2.1.5.tar.gz
$ tar xvf nkf-2.1.5.tar.gz
$ pushd nkf-2.1.5
$ make
$ make prefix=/mingw install
mkdir /mingw/bin
mkdir: cannot create directory `/mingw/bin': File exists
make: [install] Error 1 (ignored)
mkdir /mingw/man
mkdir: cannot create directory `/mingw/man': File exists
make: [install] Error 1 (ignored)
mkdir /mingw/man/man1
mkdir: cannot create directory `/mingw/man/man1': File exists
make: [install] Error 1 (ignored)
mkdir /mingw/man/ja
mkdir /mingw/man/ja/man1
cp -f nkf /mingw/bin/
cp -f nkf.1 /mingw/man/man1/
cp -f nkf.1j /mingw/man/ja/man1/nkf.1
エラーが表示されますがインストールされるので気にしないでください.
$ popd
**インストールの確認 [#vd5ef2d1]
Windows では nkf の場所は以下のようにして確認できます.
-Windows PowerShell の場合
PS > Get-Command nkf | Select-Object Path
エイリアスを使用した場合は
PS > gcm nkf | select path
Path
----
C:\w32tex\bin64\nkf.exe
C:\w32tex\bin\nkf.exe
-コマンド プロンプトの場合
>where nkf
C:\w32tex\bin64\nkf.exe
C:\w32tex\bin\nkf.exe
-MinGW Shell (MSYS) の場合
$ which nkf
/mingw/bin/nkf.exe
>または
$ type nkf
nkf is /mingw/bin/nkf
**使い方 [#t5e5a246]
[[upLaTeX>upTeX,upLaTeX]], [[LuaLaTeX>LuaTeX]], [[LuajitLaTeX>LuajitTeX]], [[XeLaTeX>XeTeX]] を使う場合は,TeX ソースやパッケージファイルの文字コードを UTF-8 に統一する必要があります((pLaTeX や upLaTeX の場合は ptexenc による文字コード変換が自動で行われるので問題はありませんが,LuaLaTeX の場合は UTF-8 しか受け付けないため他の文字コードでは invalid character のエラーになります(参考:[[forum:1651]])。))。
[[upLaTeX>upTeX,upLaTeX]], [[LuaLaTeX>LuaTeX]], [[XeLaTeX>XeTeX]] を使う場合は,TeX ソースやパッケージファイルの文字コードを UTF-8 に統一する必要があります((pLaTeX や upLaTeX の場合は ptexenc による文字コード変換が自動で行われるので問題はありませんが,LuaLaTeX の場合は UTF-8 しか受け付けないため他の文字コードでは invalid character のエラーになります(参考:[[forum:1651]])。))。
このような場合に nkf が有用です。
たとえば,古い TeX 環境などで Shift_JIS で作成した TeX ソース src.tex を UTF-8 に変換して dest.tex として保存したい場合は
$ nkf -w src.tex > dest.tex
と入力します。
このとき,nkf は変換元の src.tex の文字コードを自動判定して読み込み,-w オプションの指定に従って BOM (Byte Order Mark) 無しの UTF-8 (UTF-8N) へ変換します。
変換結果は標準出力に出るため,これを dest.tex にリダイレクトしています。
BOM 付きの UTF-8 にしたい場合は,オプションを -w の代わりに -w8 とします。
もし,別のファイルに書き出すのではなく上書きして構わない場合は
$ nkf -w --overwrite src.tex
のように --overwrite オプションを付けます。
学会のスタイルファイルが Shift_JIS で配布されていて,UTF-8 で作成した TeX ソースを提出時に Shift_JIS に変換する必要が生じた場合は
$ nkf -s src.tex > dest.tex
のようにします。
オプション -s は Shift_JIS への変換を表します。
**関連リンク [#qf2a585a]
-UTF-8への変換 [[forum:545]]
-[[nkfを使ってファイルの文字コードを変換する:http://dev.classmethod.jp/tool/exchange-file-encode-by-nkf/]]
-[[文字コード変換コマンドの nkfの使い方と実例をまとめました。:http://takuya-1st.hatenablog.jp/entry/20100511/1273585953]]
-[[macにnkfコマンドがないだと!?じゃあ入れよう!:http://qiita.com/kou_bacchus/items/6448608ee03b0a71dcd4]]
-[[6.9. 文字コードと改行コードの変換 【nkf】:http://www.turbolinux.co.jp/products/server/10s/manual/command_guide/command_guide/nkf.html]]
-[[文字コード変換プログラムnkfの使い方:http://www.proton.jp/main/apps/nkf.html]]
-[[USBメモリ活用講座【実践編・TeXworksとupLaTeX】:http://www.nagaoka-ct.ac.jp/ec/labo/visu/usb/tex/texworks.shtml]]
-[[Windowsで日本語文字コードの種類の判別や変換を行うには (nkf のインストール方法):http://apphy.u-fukui.ac.jp/~tajima/nkf32_install.html]]