OSDN Git Service

Fix type of mimeout_state.buf. [nkf-bug:20079]
[nkf/nkf.git] / man / nkf.1.pm
1 # Copyright (c) 1987, Fujitsu LTD. (Itaru ICHIKAWA).
2 # Copyright (c) 1996-2010, The nkf Project.
3 # All rights reserved.
4 #
5 # This software is provided 'as-is', without any express or implied
6 # warranty. In no event will the authors be held liable for any damages
7 # arising from the use of this software.
8 #
9 # Permission is granted to anyone to use this software for any purpose,
10 # including commercial applications, and to alter it and redistribute it
11 # freely, subject to the following restrictions:
12 #
13 # 1. The origin of this software must not be misrepresented; you must not
14 # claim that you wrote the original software. If you use this software
15 # in a product, an acknowledgment in the product documentation would be
16 # appreciated but is not required.
17 #
18 # 2. Altered source versions must be plainly marked as such, and must not be
19 # misrepresented as being the original software.
20 #
21 # 3. This notice may not be removed or altered from any source distribution.
22
23 package NKF;
24
25 use strict;
26 use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
27
28 require Exporter;
29 require DynaLoader;
30
31 @ISA = qw(Exporter DynaLoader);
32 # Items to export into callers namespace by default. Note: do not export
33 # names by default without a very good reason. Use EXPORT_OK instead.
34 # Do not simply export all your public functions/methods/constants.
35 @EXPORT = qw(
36         nkf     nkf_continue    inputcode
37 );
38 $VERSION = '2.11';
39
40 bootstrap NKF $VERSION;
41
42 # Preloaded methods go here.
43
44 # Autoload methods go after =cut, and are processed by the autosplit program.
45
46 1;
47 __END__
48
49 #
50
51
52 =head1 NAME
53
54
55 nkf - Network Kanji Filter
56
57
58 =head1 SYNOPSIS
59
60
61 nkf B<[-butjnesliohrTVvwWJESZxXFfmMBOcdILg]> B<[>I<file ...>B<]>
62
63
64 =head1 DESCRIPTION
65
66
67 B<Nkf> is a yet another kanji code converter among networks, hosts and terminals.
68 It converts input kanji code to designated kanji code
69 such as ISO-2022-JP, Shift_JIS, EUC-JP, UTF-8, UTF-16 or UTF-32.
70
71 One of the most unique faculty of B<nkf> is the guess of the input kanji encodings.
72 It currently recognizes ISO-2022-JP, Shift_JIS, EUC-JP, UTF-8, UTF-16 and UTF-32.
73 So users needn't set the input kanji code explicitly.
74
75 By default, X0201 kana is converted into X0208 kana.
76 For X0201 kana, SO/SI, SSO and ESC-(-I methods are supported.
77 For automatic code detection, nkf assumes no X0201 kana in Shift_JIS.
78 To accept X0201 in Shift_JIS, use B<-X>, B<-x> or B<-S>.
79
80 =head1 OPTIONS
81
82 =over
83
84 =item B<-J -S -E -W -W16 -W32 -j -s -e -w -w16 -w32>
85
86 Specify input and output encodings. Upper case is input.
87 cf. --ic and --oc.
88
89 =over
90
91 =item B<-J>
92
93 ISO-2022-JP (JIS code).
94
95 =item B<-S>
96
97 Shift_JIS and JIS X 0201 kana.
98 EUC-JP is recognized as X0201 kana. Without B<-x> flag,
99 JIS X 0201 Katakana (a.k.a.halfwidth kana) is converted into JIS X 0208.
100 If you use Windows, see Windows-31J (CP932).
101
102 =item B<-E>
103
104 EUC-JP.
105
106 =item B<-W>
107
108 UTF-8N.
109
110 =item B<-W16[BL][0]>
111
112 UTF-16.
113 B or L gives whether Big Endian or Little Endian.
114 0 gives whther put BOM or not.
115
116 =item B<-W32[BL][0]>
117
118 UTF-32.
119 B or L gives whether Big Endian or Little Endian.
120 0 gives whther put BOM or not.
121
122 =back
123
124 =item B<-b -u>
125
126 Output is buffered (DEFAULT), Output is unbuffered.
127
128 =item B<-t>
129
130 No conversion.
131
132 =item B<-i[@B]>
133
134 Specify the escape sequence for JIS X 0208.
135
136 =over
137
138 =item B<-i@>
139
140 Use ESC ( @. (JIS X 0208-1978)
141
142 =item B<-iB>
143
144 Use ESC ( B. (JIS X 0208-1983/1990 DEFAULT)
145
146 =back
147
148 =item B<-o[BJ]>
149
150 Specify the escape sequence for US-ASCII/JIS X 0201 Roman. (DEFAULT B)
151
152 =item B<-r>
153
154 {de/en}crypt ROT13/47
155
156 =item B<-h[123] --hiragana --katakana --katakana-hiragana>
157
158 =over
159
160 =item B<-h1 --hiragana>
161
162 Katakana to Hiragana conversion.
163
164 =item B<-h2 --katakana>
165
166 Hiragana to Katakana conversion.
167
168 =item B<-h3 --katakana-hiragana>
169
170 Katakana to Hiragana and Hiragana to Katakana conversion.
171
172 =back
173
174 =item B<-T>
175
176 Text mode output (MS-DOS)
177
178 =item B<-l>
179
180 ISO8859-1 (Latin-1) support
181
182 =item B<-f[I<m> [- I<n>]]>
183
184 Folding on I<m> length with I<n> margin in a line.
185 Without this option, fold length is 60 and fold margin is 10.
186
187 =item B<-F>
188
189 New line preserving line folding.
190
191 =item B<-Z[0-3]>
192
193 Convert X0208 alphabet (Fullwidth Alphabets) to ASCII.
194
195 =over
196
197 =item B<-Z -Z0>
198
199 Convert X0208 alphabet to ASCII.
200
201 =item B<-Z1>
202
203 Convert X0208 kankaku to single ASCII space.
204
205 =item B<-Z2>
206
207 Convert X0208 kankaku to double ASCII spaces.
208
209 =item B<-Z3>
210
211 Replacing fullwidth >, <, ", & into '&gt;', '&lt;', '&quot;', '&amp;' as in HTML.
212
213 =back
214
215 =item B<-X -x>
216
217 With B<-X> or without this option, X0201 is converted into X0208 Kana.
218 With B<-x>, try to preserve X0208 kana and do not convert X0201 kana to X0208.
219 In JIS output, ESC-(-I is used. In EUC output, SS2 is used.
220
221 =item B<-B[0-2]>
222
223 Assume broken JIS-Kanji input, which lost ESC.
224 Useful when your site is using old B-News Nihongo patch.
225
226 =over
227
228 =item B<-B1>
229
230 allows any chars after ESC-( or ESC-$.
231
232 =item B<-B2>
233
234 force ASCII after NL.
235
236 =back
237
238 =item B<-I>
239
240 Replacing non iso-2022-jp char into a geta character
241 (substitute character in Japanese).
242
243 =item B<-m[BQN0]>
244
245 MIME ISO-2022-JP/ISO8859-1 decode. (DEFAULT)
246 To see ISO8859-1 (Latin-1) -l is necessary.
247
248 =over
249
250 =item B<-mB>
251
252 Decode MIME base64 encoded stream. Remove header or other part before
253 conversion. 
254
255 =item B<-mQ>
256
257 Decode MIME quoted stream. '_' in quoted stream is converted to space.
258
259 =item B<-mN>
260
261 Non-strict decoding.
262 It allows line break in the middle of the base64 encoding.
263
264 =item B<-m0>
265
266 No MIME decode.
267
268 =back
269
270 =item B<-M>
271
272 MIME encode. Header style. All ASCII code and control characters are intact.
273
274 =over
275
276 =item B<-MB>
277
278 MIME encode Base64 stream.
279 Kanji conversion is performed before encoding, so this cannot be used as a picture encoder.
280
281 =item B<-MQ>
282
283 Perform quoted encoding.
284
285 =back
286
287 =item B<-l>
288
289 Input and output code is ISO8859-1 (Latin-1) and ISO-2022-JP.
290 B<-s>, B<-e> and B<-x> are not compatible with this option.
291
292 =item B<-L[uwm] -d -c>
293
294 Convert line breaks.
295
296 =over
297
298 =item B<-Lu -d>
299
300 unix (LF)
301
302 =item B<-Lw -c>
303
304 windows (CRLF)
305
306 =item B<-Lm>
307
308 mac (CR)
309
310 Without this option, nkf doesn't convert line breaks.
311
312 =back
313
314 =item B<--fj --unix --mac --msdos --windows>
315
316 Convert for these systems.
317
318 =item B<--jis --euc --sjis --mime --base64>
319
320 Convert to named code.
321
322 =item B<--jis-input --euc-input --sjis-input --mime-input --base64-input>
323
324 Assume input system
325
326 =item B<--ic=I<input codeset> --oc=I<output codeset>>
327
328 Set the input or output codeset.
329 NKF supports following codesets and those codeset names are case insensitive.
330
331 =over
332
333 =item ISO-2022-JP
334
335 a.k.a. RFC1468, 7bit JIS, JUNET
336
337 =item EUC-JP (eucJP-nkf)
338
339 a.k.a. AT&T JIS, Japanese EUC, UJIS
340
341 =item eucJP-ascii
342
343 =item eucJP-ms
344
345 =item CP51932
346
347 Microsoft Version of EUC-JP.
348
349 =item Shift_JIS
350
351 a.k.a. SJIS, MS_Kanji
352
353 =item Windows-31J
354
355 a.k.a. CP932
356
357 =item UTF-8
358
359 same as UTF-8N
360
361 =item UTF-8N
362
363 UTF-8 without BOM
364
365 =item UTF-8-BOM
366
367 UTF-8 with BOM
368
369 =item UTF8-MAC (input only)
370
371 decomposed UTF-8
372
373 =item UTF-16
374
375 same as UTF-16BE
376
377 =item UTF-16BE
378
379 UTF-16 Big Endian without BOM
380
381 =item UTF-16BE-BOM
382
383 UTF-16 Big Endian with BOM
384
385 =item UTF-16LE
386
387 UTF-16 Little Endian without BOM
388
389 =item UTF-16LE-BOM
390
391 UTF-16 Little Endian with BOM
392
393 =item UTF-32
394
395 same as UTF-32BE
396
397 =item UTF-32BE
398
399 UTF-32 Big Endian without BOM
400
401 =item UTF-32BE-BOM
402
403 UTF-32 Big Endian with BOM
404
405 =item UTF-32LE
406
407 UTF-32 Little Endian without BOM
408
409 =item UTF-32LE-BOM
410
411 UTF-32 Little Endian with BOM
412
413 =back
414
415 =item B<--fb-{skip, html, xml, perl, java, subchar}>
416
417 Specify the way that nkf handles unassigned characters.
418 Without this option, --fb-skip is assumed.
419
420 =item B<--prefix=I<escape character>I<target character>..>
421
422 When nkf converts to Shift_JIS,
423 nkf adds a specified escape character to specified 2nd byte of Shift_JIS characters.
424 1st byte of argument is the escape character and following bytes are target characters.
425
426 =item B<--no-cp932ext>
427
428 Handle the characters extended in CP932 as unassigned characters.
429
430 =item B<--no-best-fit-chars>
431
432 When Unicode to Encoded byte conversion,
433 don't convert characters which is not round trip safe.
434 When Unicode to Unicode conversion,
435 with this and -x option, nkf can be used as UTF converter.
436 (In other words, without this and -x option, nkf doesn't save some characters)
437
438 When nkf converts strings that related to path, you should use this opion.
439
440 =item B<--cap-input>
441
442 Decode hex encoded characters.
443
444 =item B<--url-input>
445
446 Unescape percent escaped characters.
447
448 =item B<--numchar-input>
449
450 Decode character reference, such as "&#....;".
451
452
453 =item B<--in-place[=>I<SUFFIX>B<]>  B<--overwrite[=>I<SUFFIX>B<]>
454
455 Overwrite B<original> listed files by filtered result.
456
457 B<Note> --overwrite preserves timestamps of original files.
458
459 =item B<--guess=[12]>
460
461 Print guessed encoding and newline. (2 is default, 1 is only encoding)
462
463 =item B<--help>
464
465 Print nkf's help.
466
467 =item B<--version>
468
469 Print nkf's version.
470
471
472 =item B<-->
473
474 Ignore rest of -option.
475
476 =back
477
478 =head1 AUTHOR
479
480 Copyright (c) 1987, Fujitsu LTD. (Itaru ICHIKAWA).
481
482 Copyright (c) 1996-2010, The nkf Project.
483
484
485 =cut