OSDN Git Service

* Fix: mime encode extra NL + SPACE.
[nkf/nkf.git] / nkf.1
1 .\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32
2 .\"
3 .\" Standard preamble:
4 .\" ========================================================================
5 .de Sh \" Subsection heading
6 .br
7 .if t .Sp
8 .ne 5
9 .PP
10 \fB\\$1\fR
11 .PP
12 ..
13 .de Sp \" Vertical space (when we can't use .PP)
14 .if t .sp .5v
15 .if n .sp
16 ..
17 .de Vb \" Begin verbatim text
18 .ft CW
19 .nf
20 .ne \\$1
21 ..
22 .de Ve \" End verbatim text
23 .ft R
24 .fi
25 ..
26 .\" Set up some character translations and predefined strings.  \*(-- will
27 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
28 .\" double quote, and \*(R" will give a right double quote.  | will give a
29 .\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
30 .\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
31 .\" expand to `' in nroff, nothing in troff, for use with C<>.
32 .tr \(*W-|\(bv\*(Tr
33 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
34 .ie n \{\
35 .    ds -- \(*W-
36 .    ds PI pi
37 .    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
38 .    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
39 .    ds L" ""
40 .    ds R" ""
41 .    ds C` ""
42 .    ds C' ""
43 'br\}
44 .el\{\
45 .    ds -- \|\(em\|
46 .    ds PI \(*p
47 .    ds L" ``
48 .    ds R" ''
49 'br\}
50 .\"
51 .\" If the F register is turned on, we'll generate index entries on stderr for
52 .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
53 .\" entries marked with X<> in POD.  Of course, you'll have to process the
54 .\" output yourself in some meaningful fashion.
55 .if \nF \{\
56 .    de IX
57 .    tm Index:\\$1\t\\n%\t"\\$2"
58 ..
59 .    nr % 0
60 .    rr F
61 .\}
62 .\"
63 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
64 .\" way too many mistakes in technical documents.
65 .hy 0
66 .if n .na
67 .\"
68 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
69 .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
70 .    \" fudge factors for nroff and troff
71 .if n \{\
72 .    ds #H 0
73 .    ds #V .8m
74 .    ds #F .3m
75 .    ds #[ \f1
76 .    ds #] \fP
77 .\}
78 .if t \{\
79 .    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
80 .    ds #V .6m
81 .    ds #F 0
82 .    ds #[ \&
83 .    ds #] \&
84 .\}
85 .    \" simple accents for nroff and troff
86 .if n \{\
87 .    ds ' \&
88 .    ds ` \&
89 .    ds ^ \&
90 .    ds , \&
91 .    ds ~ ~
92 .    ds /
93 .\}
94 .if t \{\
95 .    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
96 .    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
97 .    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
98 .    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
99 .    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
100 .    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
101 .\}
102 .    \" troff and (daisy-wheel) nroff accents
103 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
104 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
105 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
106 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
107 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
108 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
109 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
110 .ds ae a\h'-(\w'a'u*4/10)'e
111 .ds Ae A\h'-(\w'A'u*4/10)'E
112 .    \" corrections for vroff
113 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
114 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
115 .    \" for low resolution devices (crt and lpr)
116 .if \n(.H>23 .if \n(.V>19 \
117 \{\
118 .    ds : e
119 .    ds 8 ss
120 .    ds o a
121 .    ds d- d\h'-1'\(ga
122 .    ds D- D\h'-1'\(hy
123 .    ds th \o'bp'
124 .    ds Th \o'LP'
125 .    ds ae ae
126 .    ds Ae AE
127 .\}
128 .rm #[ #] #H #V #F C
129 .\" ========================================================================
130 .\"
131 .IX Title "nkf 1"
132 .TH nkf 1 "2007-08-08" "nkf 2.0.8" " "
133 .SH "NAME"
134 nkf \- Network Kanji Filter
135 .SH "SYNOPSIS"
136 .IX Header "SYNOPSIS"
137 nkf \fB[\-butjnesliohrTVvwWJESZxXFfmMBOcdILg]\fR \fB[\fR\fIfile ...\fR\fB]\fR
138 .SH "DESCRIPTION"
139 .IX Header "DESCRIPTION"
140 \&\fBNkf\fR is a yet another kanji code converter among networks, hosts and terminals.
141 It converts input kanji code to designated kanji code
142 such as \s-1ISO\-2022\-JP\s0, Shift_JIS, \s-1EUC\-JP\s0, \s-1UTF\-8\s0 or \s-1UTF\-16\s0.
143 .PP
144 One of the most unique faculty of \fBnkf\fR is the guess of the input kanji encodings.
145 It currently recognizes \s-1ISO\-2022\-JP\s0, Shift_JIS, \s-1EUC\-JP\s0, \s-1UTF\-8\s0 and \s-1UTF\-16\s0.
146 So users needn't set the input kanji code explicitly.
147 .PP
148 By default, X0201 kana is converted into X0208 kana.
149 For X0201 kana, \s-1SO/SI\s0, \s-1SSO\s0 and \s-1ESC\-\s0(\-I methods are supported.
150 For automatic code detection, nkf assumes no X0201 kana in Shift_JIS.
151 To accept X0201 in Shift_JIS, use \fB\-X\fR, \fB\-x\fR or \fB\-S\fR.
152 .SH "OPTIONS"
153 .IX Header "OPTIONS"
154 .IP "\fB\-b \-u\fR" 4
155 .IX Item "-b -u"
156 Output is buffered (\s-1DEFAULT\s0), Output is unbuffered.
157 .IP "\fB\-j \-s \-e \-w \-w16\fR" 4
158 .IX Item "-j -s -e -w -w16"
159 Output code is \s-1ISO\-2022\-JP\s0 (7bit \s-1JIS\s0), Shift_JIS, \s-1EUC\-JP\s0,
160 \&\s-1UTF\-8N\s0, \s-1UTF\-16BE\s0.
161 Without this option and compile option, \s-1ISO\-2022\-JP\s0 is assumed.
162 .IP "\fB\-J \-S \-E \-W \-W16\fR" 4
163 .IX Item "-J -S -E -W -W16"
164 Input assumption is \s-1JIS\s0 7 bit, Shift_JIS, \s-1EUC\-JP\s0,
165 \&\s-1UTF\-8\s0, \s-1UTF\-16LE\s0.
166 .RS 4
167 .IP "\fB\-J\fR" 4
168 .IX Item "-J"
169 Assume  \s-1JIS\s0 input.
170 This is the default.
171 .IP "\fB\-S\fR" 4
172 .IX Item "-S"
173 Assume Shift_JIS and X0201 kana input.
174 EUC-JP is recognized as X0201 kana. Without \fB\-x\fR flag,
175 X0201 kana (halfwidth kana) is converted into X0208.
176 .IP "\fB\-E\fR" 4
177 .IX Item "-E"
178 Assume EUC-JP input.
179 .RE
180 .RS 4
181 .RE
182 .IP "\fB\-t\fR" 4
183 .IX Item "-t"
184 No conversion.
185 .IP "\fB\-i[@B]\fR" 4
186 .IX Item "-i[@B]"
187 Specify the Esc Seq for \s-1JIS\s0 X 0208\-1978/83. (\s-1DEFAULT\s0 B)
188 .IP "\fB\-o[\s-1BJH\s0]\fR" 4
189 .IX Item "-o[BJH]"
190 Specify the Esc Seq for ASCII/Roman. (\s-1DEFAULT\s0 B)
191 .IP "\fB\-r\fR" 4
192 .IX Item "-r"
193 {de/en}crypt \s-1ROT13/47\s0
194 .IP "\fB\-h[123] \-\-hiragana \-\-katakana \-\-katakana\-hiragana\fR" 4
195 .IX Item "-h[123] --hiragana --katakana --katakana-hiragana"
196 .RS 4
197 .PD 0
198 .IP "\fB\-h1 \-\-hiragana\fR" 4
199 .IX Item "-h1 --hiragana"
200 .PD
201 Katakana to Hiragana conversion.
202 .IP "\fB\-h2 \-\-katakana\fR" 4
203 .IX Item "-h2 --katakana"
204 Hiragana to Katakana conversion.
205 .IP "\fB\-h3 \-\-katakana\-hiragana\fR" 4
206 .IX Item "-h3 --katakana-hiragana"
207 Katakana to Hiragana and Hiragana to Katakana conversion.
208 .RE
209 .RS 4
210 .RE
211 .IP "\fB\-T\fR" 4
212 .IX Item "-T"
213 Text mode output (\s-1MS\-DOS\s0)
214 .IP "\fB\-l\fR" 4
215 .IX Item "-l"
216 \&\s-1ISO8859\-1\s0 (Latin\-1) support
217 .IP "\fB\-f[\f(BIm\fB [\- \f(BIn\fB]]\fR" 4
218 .IX Item "-f[m [- n]]"
219 Folding on \fIm\fR length with \fIn\fR margin in a line.
220 Without this option, fold length is 60 and fold margin is 10.
221 .IP "\fB\-F\fR" 4
222 .IX Item "-F"
223 New line preserving line folding.
224 .IP "\fB\-Z[0\-3]\fR" 4
225 .IX Item "-Z[0-3]"
226 Convert X0208 alphabet (Fullwidth Alphabets) to \s-1ASCII\s0.
227 .RS 4
228 .IP "\fB\-Z \-Z0\fR" 4
229 .IX Item "-Z -Z0"
230 Convert X0208 alphabet to \s-1ASCII\s0.
231 .IP "\fB\-Z1\fR" 4
232 .IX Item "-Z1"
233 Convert X0208 kankaku to single \s-1ASCII\s0 space.
234 .IP "\fB\-Z2\fR" 4
235 .IX Item "-Z2"
236 Convert X0208 kankaku to double \s-1ASCII\s0 spaces.
237 .IP "\fB\-Z3\fR" 4
238 .IX Item "-Z3"
239 Replacing fullwidth >, <, ", & into '&gt;', '&lt;', '&quot;', '&amp;' as in \s-1HTML\s0.
240 .RE
241 .RS 4
242 .RE
243 .IP "\fB\-X \-x\fR" 4
244 .IX Item "-X -x"
245 Assume X0201 kana in MS\-Kanji.
246 With \fB\-X\fR or without this option, X0201 is converted into X0208 Kana.
247 With \fB\-x\fR, try to preserve X0208 kana and do not convert X0201 kana to X0208.
248 In \s-1JIS\s0 output, \s-1ESC\-\s0(\-I is used. In \s-1EUC\s0 output, \s-1SSO\s0 is used.
249 .IP "\fB\-B[0\-2]\fR" 4
250 .IX Item "-B[0-2]"
251 Assume broken JIS-Kanji input, which lost \s-1ESC\s0.
252 Useful when your site is using old B\-News Nihongo patch.
253 .RS 4
254 .IP "\fB\-B1\fR" 4
255 .IX Item "-B1"
256 allows any chars after \s-1ESC\-\s0( or \s-1ESC\-$\s0.
257 .IP "\fB\-B2\fR" 4
258 .IX Item "-B2"
259 force \s-1ASCII\s0 after \s-1NL\s0.
260 .RE
261 .RS 4
262 .RE
263 .IP "\fB\-I\fR" 4
264 .IX Item "-I"
265 Replacing non iso\-2022\-jp char into a geta character
266 (substitute character in Japanese).
267 .IP "\fB\-m[\s-1BQN0\s0]\fR" 4
268 .IX Item "-m[BQN0]"
269 \&\s-1MIME\s0 \s-1ISO\-2022\-JP/ISO8859\-1\s0 decode. (\s-1DEFAULT\s0)
270 To see \s-1ISO8859\-1\s0 (Latin\-1) \-l is necessary.
271 .RS 4
272 .IP "\fB\-mB\fR" 4
273 .IX Item "-mB"
274 Decode \s-1MIME\s0 base64 encoded stream. Remove header or other part before
275 conversion. 
276 .IP "\fB\-mQ\fR" 4
277 .IX Item "-mQ"
278 Decode \s-1MIME\s0 quoted stream. '_' in quoted stream is converted to space.
279 .IP "\fB\-mN\fR" 4
280 .IX Item "-mN"
281 Non-strict decoding.
282 It allows line break in the middle of the base64 encoding.
283 .IP "\fB\-m0\fR" 4
284 .IX Item "-m0"
285 No \s-1MIME\s0 decode.
286 .RE
287 .RS 4
288 .RE
289 .IP "\fB\-M\fR" 4
290 .IX Item "-M"
291 \&\s-1MIME\s0 encode. Header style. All \s-1ASCII\s0 code and control characters are intact.
292 .RS 4
293 .IP "\fB\-MB\fR" 4
294 .IX Item "-MB"
295 \&\s-1MIME\s0 encode Base64 stream.
296 Kanji conversion is performed before encoding, so this cannot be used as a picture encoder.
297 .IP "\fB\-MQ\fR" 4
298 .IX Item "-MQ"
299 Perform quoted encoding.
300 .RE
301 .RS 4
302 .RE
303 .IP "\fB\-l\fR" 4
304 .IX Item "-l"
305 Input and output code is \s-1ISO8859\-1\s0 (Latin\-1) and \s-1ISO\-2022\-JP\s0.
306 \&\fB\-s\fR, \fB\-e\fR and \fB\-x\fR are not compatible with this option.
307 .IP "\fB\-L[uwm] \-d \-c\fR" 4
308 .IX Item "-L[uwm] -d -c"
309 Convert line breaks.
310 .RS 4
311 .IP "\fB\-Lu \-d\fR" 4
312 .IX Item "-Lu -d"
313 unix (\s-1LF\s0)
314 .IP "\fB\-Lw \-c\fR" 4
315 .IX Item "-Lw -c"
316 windows (\s-1CRLF\s0)
317 .IP "\fB\-Lm\fR" 4
318 .IX Item "-Lm"
319 mac (\s-1CR\s0)
320 .Sp
321 Without this option, nkf doesn't convert line breaks.
322 .RE
323 .RS 4
324 .RE
325 .IP "\fB\-\-fj \-\-unix \-\-mac \-\-msdos \-\-windows\fR" 4
326 .IX Item "--fj --unix --mac --msdos --windows"
327 Convert for these systems.
328 .IP "\fB\-\-jis \-\-euc \-\-sjis \-\-mime \-\-base64\fR" 4
329 .IX Item "--jis --euc --sjis --mime --base64"
330 Convert to named code.
331 .IP "\fB\-\-jis\-input \-\-euc\-input \-\-sjis\-input \-\-mime\-input \-\-base64\-input\fR" 4
332 .IX Item "--jis-input --euc-input --sjis-input --mime-input --base64-input"
333 Assume input system
334 .IP "\fB\-\-ic=\f(BIinput codeset\fB \-\-oc=\f(BIoutput codeset\fB\fR" 4
335 .IX Item "--ic=input codeset --oc=output codeset"
336 Set the input or output codeset.
337 \&\s-1NKF\s0 supports following codesets and those codeset names are case insensitive.
338 .RS 4
339 .IP "\s-1ISO\-2022\-JP\s0" 4
340 .IX Item "ISO-2022-JP"
341 a.k.a. \s-1RFC1468\s0, 7bit \s-1JIS\s0, \s-1JUNET\s0
342 .IP "EUC-JP (eucJP\-nkf)" 4
343 .IX Item "EUC-JP (eucJP-nkf)"
344 a.k.a. \s-1AT&T\s0 \s-1JIS\s0, Japanese \s-1EUC\s0, \s-1UJIS\s0
345 .IP "eucJP-ascii" 4
346 .IX Item "eucJP-ascii"
347 .PD 0
348 .IP "eucJP-ms" 4
349 .IX Item "eucJP-ms"
350 .IP "\s-1CP51932\s0" 4
351 .IX Item "CP51932"
352 .PD
353 Microsoft Version of \s-1EUC\-JP\s0.
354 .IP "Shift_JIS" 4
355 .IX Item "Shift_JIS"
356 a.k.a. \s-1SJIS\s0, MS-Kanji
357 .IP "\s-1CP932\s0" 4
358 .IX Item "CP932"
359 a.k.a. Windows\-31J
360 .IP "\s-1UTF\-8\s0" 4
361 .IX Item "UTF-8"
362 same as \s-1UTF\-8N\s0
363 .IP "\s-1UTF\-8N\s0" 4
364 .IX Item "UTF-8N"
365 \&\s-1UTF\-8\s0 without \s-1BOM\s0
366 .IP "\s-1UTF\-8\-BOM\s0" 4
367 .IX Item "UTF-8-BOM"
368 \&\s-1UTF\-8\s0 with \s-1BOM\s0
369 .IP "\s-1UTF8\-MAC\s0 (input only)" 4
370 .IX Item "UTF8-MAC (input only)"
371 decomposed \s-1UTF\-8\s0
372 .IP "\s-1UTF\-16\s0" 4
373 .IX Item "UTF-16"
374 same as \s-1UTF\-16BE\s0
375 .IP "\s-1UTF\-16BE\s0" 4
376 .IX Item "UTF-16BE"
377 \&\s-1UTF\-16\s0 Big Endian without \s-1BOM\s0
378 .IP "\s-1UTF\-16BE\-BOM\s0" 4
379 .IX Item "UTF-16BE-BOM"
380 \&\s-1UTF\-16\s0 Big Endian with \s-1BOM\s0
381 .IP "\s-1UTF\-16LE\s0" 4
382 .IX Item "UTF-16LE"
383 \&\s-1UTF\-16\s0 Little Endian without \s-1BOM\s0
384 .IP "\s-1UTF\-16LE\-BOM\s0" 4
385 .IX Item "UTF-16LE-BOM"
386 \&\s-1UTF\-16\s0 Little Endian with \s-1BOM\s0
387 .RE
388 .RS 4
389 .RE
390 .IP "\fB\-\-fb\-{skip, html, xml, perl, java, subchar}\fR" 4
391 .IX Item "--fb-{skip, html, xml, perl, java, subchar}"
392 Specify the way that nkf handles unassigned characters.
393 Without this option, \-\-fb\-skip is assumed.
394 .IP "\fB\-\-prefix=\f(BIescape character\fB\f(BItarget character\fB..\fR" 4
395 .IX Item "--prefix=escape charactertarget character.."
396 When nkf converts to Shift_JIS,
397 nkf adds a specified escape character to specified 2nd byte of Shift_JIS characters.
398 1st byte of argument is the escape character and following bytes are target characters.
399 .IP "\fB\-\-no\-cp932ext\fR" 4
400 .IX Item "--no-cp932ext"
401 Handle the characters extended in \s-1CP932\s0 as unassigned characters.
402 .IP "\fB\-\-no\-best\-fit\-chars\fR" 4
403 .IX Item "--no-best-fit-chars"
404 When Unicode to Encoded byte conversion,
405 don't convert characters which is not round trip safe.
406 When Unicode to Unicode conversion,
407 with this and \-x option, nkf can be used as \s-1UTF\s0 converter.
408 (In other words, without this and \-x option, nkf doesn't save some characters)
409 .Sp
410 When nkf converts strings that related to path, you should use this opion.
411 .IP "\fB\-\-cap\-input\fR" 4
412 .IX Item "--cap-input"
413 Decode hex encoded characters.
414 .IP "\fB\-\-url\-input\fR" 4
415 .IX Item "--url-input"
416 Unescape percent escaped characters.
417 .IP "\fB\-\-numchar\-input\fR" 4
418 .IX Item "--numchar-input"
419 Decode character reference, such as \*(L"&#....;\*(R".
420 .IP "\fB\-\-in\-place[=\fR\fI\s-1SUFFIX\s0\fR\fB]\fR  \fB\-\-overwrite[=\fR\fI\s-1SUFFIX\s0\fR\fB]\fR" 4
421 .IX Item "--in-place[=SUFFIX]  --overwrite[=SUFFIX]"
422 Overwrite \fBoriginal\fR listed files by filtered result.
423 .Sp
424 \&\fBNote\fR \-\-overwrite preserves timestamps of original files.
425 .IP "\fB\-\-guess\fR" 4
426 .IX Item "--guess"
427 Print guessed encoding.
428 .IP "\fB\-\-help\fR" 4
429 .IX Item "--help"
430 Print nkf's help.
431 .IP "\fB\-\-version\fR" 4
432 .IX Item "--version"
433 Print nkf's version.
434 .IP "\fB\-\-\fR" 4
435 .IX Item "--"
436 Ignore rest of \-option.
437 .SH "AUTHOR"
438 .IX Header "AUTHOR"
439 Copyright (C) 1987, \s-1FUJITSU\s0 \s-1LTD\s0. (I.Ichikawa),2000 S. Kono, \s-1COW\s0
440 Copyright (C) 2002\-2007 Kono, Furukawa, Naruse, mastodon