OSDN Git Service

Release 2.1.3
[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.13';
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<-f[I<m> [- I<n>]]>
179
180 Folding on I<m> length with I<n> margin in a line.
181 Without this option, fold length is 60 and fold margin is 10.
182
183 =item B<-F>
184
185 New line preserving line folding.
186
187 =item B<-Z[0-3]>
188
189 Convert X0208 alphabet (Fullwidth Alphabets) to ASCII.
190
191 =over
192
193 =item B<-Z -Z0>
194
195 Convert X0208 alphabet to ASCII.
196
197 =item B<-Z1>
198
199 Convert X0208 kankaku to single ASCII space.
200
201 =item B<-Z2>
202
203 Convert X0208 kankaku to double ASCII spaces.
204
205 =item B<-Z3>
206
207 Replacing fullwidth >, <, ", & into '&gt;', '&lt;', '&quot;', '&amp;' as in HTML.
208
209 =back
210
211 =item B<-X -x>
212
213 With B<-X> or without this option, X0201 is converted into X0208 Kana.
214 With B<-x>, try to preserve X0208 kana and do not convert X0201 kana to X0208.
215 In JIS output, ESC-(-I is used. In EUC output, SS2 is used.
216
217 =item B<-B[0-2]>
218
219 Assume broken JIS-Kanji input, which lost ESC.
220 Useful when your site is using old B-News Nihongo patch.
221
222 =over
223
224 =item B<-B1>
225
226 allows any chars after ESC-( or ESC-$.
227
228 =item B<-B2>
229
230 force ASCII after NL.
231
232 =back
233
234 =item B<-I>
235
236 Replacing non iso-2022-jp char into a geta character
237 (substitute character in Japanese).
238
239 =item B<-m[BQN0]>
240
241 MIME ISO-2022-JP/ISO8859-1 decode. (DEFAULT)
242 To see ISO8859-1 (Latin-1) -l is necessary.
243
244 =over
245
246 =item B<-mB>
247
248 Decode MIME base64 encoded stream. Remove header or other part before
249 conversion. 
250
251 =item B<-mQ>
252
253 Decode MIME quoted stream. '_' in quoted stream is converted to space.
254
255 =item B<-mN>
256
257 Non-strict decoding.
258 It allows line break in the middle of the base64 encoding.
259
260 =item B<-m0>
261
262 No MIME decode.
263
264 =back
265
266 =item B<-M>
267
268 MIME encode. Header style. All ASCII code and control characters are intact.
269
270 =over
271
272 =item B<-MB>
273
274 MIME encode Base64 stream.
275 Kanji conversion is performed before encoding, so this cannot be used as a picture encoder.
276
277 =item B<-MQ>
278
279 Perform quoted encoding.
280
281 =back
282
283 =item B<-l>
284
285 Input and output code is ISO8859-1 (Latin-1) and ISO-2022-JP.
286 B<-s>, B<-e> and B<-x> are not compatible with this option.
287
288 =item B<-L[uwm] -d -c>
289
290 Convert line breaks.
291
292 =over
293
294 =item B<-Lu -d>
295
296 unix (LF)
297
298 =item B<-Lw -c>
299
300 windows (CRLF)
301
302 =item B<-Lm>
303
304 mac (CR)
305
306 Without this option, nkf doesn't convert line breaks.
307
308 =back
309
310 =item B<--fj --unix --mac --msdos --windows>
311
312 Convert for these systems.
313
314 =item B<--jis --euc --sjis --mime --base64>
315
316 Convert to named code.
317
318 =item B<--jis-input --euc-input --sjis-input --mime-input --base64-input>
319
320 Assume input system
321
322 =item B<--ic=I<input codeset> --oc=I<output codeset>>
323
324 Set the input or output codeset.
325 NKF supports following codesets and those codeset names are case insensitive.
326
327 =over
328
329 =item ISO-2022-JP
330
331 a.k.a. RFC1468, 7bit JIS, JUNET
332
333 =item EUC-JP (eucJP-nkf)
334
335 a.k.a. AT&T JIS, Japanese EUC, UJIS
336
337 =item eucJP-ascii
338
339 =item eucJP-ms
340
341 =item CP51932
342
343 Microsoft Version of EUC-JP.
344
345 =item Shift_JIS
346
347 a.k.a. SJIS, MS_Kanji
348
349 =item Windows-31J
350
351 a.k.a. CP932
352
353 =item UTF-8
354
355 same as UTF-8N
356
357 =item UTF-8N
358
359 UTF-8 without BOM
360
361 =item UTF-8-BOM
362
363 UTF-8 with BOM
364
365 =item UTF8-MAC (input only)
366
367 decomposed UTF-8
368
369 =item UTF-16
370
371 same as UTF-16BE
372
373 =item UTF-16BE
374
375 UTF-16 Big Endian without BOM
376
377 =item UTF-16BE-BOM
378
379 UTF-16 Big Endian with BOM
380
381 =item UTF-16LE
382
383 UTF-16 Little Endian without BOM
384
385 =item UTF-16LE-BOM
386
387 UTF-16 Little Endian with BOM
388
389 =item UTF-32
390
391 same as UTF-32BE
392
393 =item UTF-32BE
394
395 UTF-32 Big Endian without BOM
396
397 =item UTF-32BE-BOM
398
399 UTF-32 Big Endian with BOM
400
401 =item UTF-32LE
402
403 UTF-32 Little Endian without BOM
404
405 =item UTF-32LE-BOM
406
407 UTF-32 Little Endian with BOM
408
409 =back
410
411 =item B<--fb-{skip, html, xml, perl, java, subchar}>
412
413 Specify the way that nkf handles unassigned characters.
414 Without this option, --fb-skip is assumed.
415
416 =item B<--prefix=I<escape character>I<target character>..>
417
418 When nkf converts to Shift_JIS,
419 nkf adds a specified escape character to specified 2nd byte of Shift_JIS characters.
420 1st byte of argument is the escape character and following bytes are target characters.
421
422 =item B<--no-cp932ext>
423
424 Handle the characters extended in CP932 as unassigned characters.
425
426 =item B<--no-best-fit-chars>
427
428 When Unicode to Encoded byte conversion,
429 don't convert characters which is not round trip safe.
430 When Unicode to Unicode conversion,
431 with this and -x option, nkf can be used as UTF converter.
432 (In other words, without this and -x option, nkf doesn't save some characters)
433
434 When nkf converts strings that related to path, you should use this opion.
435
436 =item B<--cap-input>
437
438 Decode hex encoded characters.
439
440 =item B<--url-input>
441
442 Unescape percent escaped characters.
443
444 =item B<--numchar-input>
445
446 Decode character reference, such as "&#....;".
447
448
449 =item B<--in-place[=>I<SUFFIX>B<]>  B<--overwrite[=>I<SUFFIX>B<]>
450
451 Overwrite B<original> listed files by filtered result.
452
453 B<Note> --overwrite preserves timestamps of original files.
454
455 =item B<--guess=[12]>
456
457 Print guessed encoding and newline. (2 is default, 1 is only encoding)
458
459 =item B<--help>
460
461 Print nkf's help.
462
463 =item B<--version>
464
465 Print nkf's version.
466
467
468 =item B<-->
469
470 Ignore rest of -option.
471
472 =back
473
474 =head1 AUTHOR
475
476 Copyright (c) 1987, Fujitsu LTD. (Itaru ICHIKAWA).
477
478 Copyright (c) 1996-2013, The nkf Project.
479
480
481 =cut