Windows 開発環境構築(3) Cinnamon.Nkf が動いた

(2)はbuild は出来たがインストール出来ない・・・まででした。

インストールが出来ないのはライセンスファイルの問題。

そこで、正常にインストール出来たcabalのライセンスの行をコピー。

ライセンスファイルもそのファイルをコピーすると入ったけれど、ライセンスが気になる・・・Orz( ファイル名をlicense -> LICENSE と大文字に変更すればOKです。)

 -- C のnkfを呼んで与えられたパラメータの最初をnkfのパラメータとし、次の文字列を
 -- パラメータで指示されたコードに変換して表示する。
module Main where
 
import System.Environment
import Cinnamon.Nkf
 
main = do
   cs <- getArgs
   putStrLn $ nkf (head cs) (head (tail cs))

コンパイル

 
> ghc --make ghc_nkf.hs
[1 of 1] Compiling Main ( ghc_nkf.hs, ghc_nkf.o )
Linking ghc_nkf.exe ...

「| nkf -g」はエンコードされた文字列を受け取って、外部のnkfエンコード判定している。


>ghc_nkf "-m0 -s" 日本語 |nkf -g
Shift_JIS

>ghc_nkf "-m0 -u" 日本語 |nkf -g
ISO-2022-JP

>ghc_nkf "-m0 -w" 日本語 |nkf -g
UTF-8

Cinnamon\Nkf.hs で nkfにパラメータを与え、toJis などが定義されている。


toJis :: String -> String
toJis = nkf "-m0 -j"

toEuc :: String -> String
toEuc = nkf "-m0 -e"

toSjis :: String -> String
toSjis = nkf "-m0 -s"

toUtf8 :: String -> String
toUtf8 = nkf "-m0 -w"

toUtf16 :: String -> String
toUtf16 = nkf "-m0 -w16"