OSDN Git Service

* update document
[nkf/nkf.git] / NKF.mod / NKF.pm
1 ## Copyright (C) 1996,1998
2 ## Copyright (C) 2002
3 ## Ï¢ÍíÀ衧 Î°µåÂç³Ø¾ðÊ󹩳زʠ²ÏÌî ¿¿¼£  mime/X0208 support
4 ## ¡ÊE-Mail Address: kono@ie.u-ryukyu.ac.jp¡Ë
5 ## Ï¢ÍíÀ衧 COW for DOS & Win16 & Win32 & OS/2
6 ## ¡ÊE-Mail Address: GHG00637@niftyserve.or.p¡Ë
7 ##    
8 ##    ¤³¤Î¥½¡¼¥¹¤Î¤¤¤«¤Ê¤ëÊ£¼Ì¡¤²þÊÑ¡¤½¤Àµ¤âµöÂú¤·¤Þ¤¹¡£¤¿¤À¤·¡¢
9 ##    ¤½¤ÎºÝ¤Ë¤Ï¡¢Ã¯¤¬¹×¸¥¤·¤¿¤ò¼¨¤¹¤³¤ÎÉôʬ¤ò»Ä¤¹¤³¤È¡£
10 ##    ºÆÇÛÉۤ仨»ï¤ÎÉÕÏ¿¤Ê¤É¤ÎÌ䤤¹ç¤ï¤»¤âɬÍפ¢¤ê¤Þ¤»¤ó¡£
11 ##    ±ÄÍøÍøÍѤâ¾åµ­¤ËÈ¿¤·¤Ê¤¤ÈϰϤǵö²Ä¤·¤Þ¤¹¡£
12 ##    ¥Ð¥¤¥Ê¥ê¤ÎÇÛÉۤκݤˤÏversion message¤òÊݸ¤¹¤ë¤³¤È¤ò¾ò·ï¤È¤·¤Þ¤¹¡£
13 ##    ¤³¤Î¥×¥í¥°¥é¥à¤Ë¤Ä¤¤¤Æ¤ÏÆä˲¿¤ÎÊݾڤ⤷¤Ê¤¤¡¢°­¤·¤«¤é¤º¡£
14 ##    
15 ##    Everyone is permitted to do anything on this program
16 ##    including copying, modifying, improving, 
17 ##    as long as you don't try to pretend that you wrote it.
18 ##    i.e., the above copyright notice has to appear in all copies.  
19 ##    Binar y distribution requires original version messages.
20 ##    You don't have to ask before copying, redistribution or publishing.
21 ##    THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE.
22
23
24 package NKF;
25
26 use strict;
27 use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
28
29 require Exporter;
30 require DynaLoader;
31
32 @ISA = qw(Exporter DynaLoader);
33 # Items to export into callers namespace by default. Note: do not export
34 # names by default without a very good reason. Use EXPORT_OK instead.
35 # Do not simply export all your public functions/methods/constants.
36 @EXPORT = qw(
37         nkf     nkf_continue    inputcode
38 );
39 $VERSION = '2.05';
40
41 bootstrap NKF $VERSION;
42
43 # Preloaded methods go here.
44
45 # Autoload methods go after =cut, and are processed by the autosplit program.
46
47 1;
48 __END__
49 # Below is the stub of documentation for your module. You better edit it!
50
51 =head1 NAME
52
53 NKF - Perl extension for Network Kanji Filter 
54
55 =head1 SYNOPSIS
56
57   use NKF;
58   $output = nkf("-s",$input);
59
60 =head1 DESCRIPTION
61
62 This is a Perl Extension version of nkf (Netowrk Kanji Filter).
63 It converts the last argument and return converted result. Conversion
64 details are specified by flags before the last argument.
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 or UTF-16.
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 and UTF-16.
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 Flags
81
82 =over
83
84 =item B<-b -u>
85
86 Output is bufferred (DEFAULT),Output is unbufferred
87
88 =item B<-j -s -e -w -w16>
89
90 Outout code is ISO-2022-JP (7bit JIS), Shift_JIS, EUC-JP,
91 UTF-8N, UTF-16BE.
92 Without this option and compile option, ISO-2022-JP is assumed.
93
94 =item B<-J -S -E -W -W16>
95
96 Input assumption is JIS 7 bit , Shift_JIS, EUC-JP,
97 UTF-8, UTF-16LE.
98
99 =over
100
101 =item B<-J>
102
103 Assume  JIS input. It also accepts EUC-JP.
104 This is the default. This flag does not exclude Shift_JIS.
105
106 =item B<-S>
107
108 Assume Shift_JIS and X0201 kana input. It also accepts JIS.
109 EUC-JP is recognized as X0201 kana. Without B<-x> flag,
110 X0201 kana (halfwidth kana) is converted into X0208.
111
112 =item B<-E>
113
114 Assume EUC-JP input. It also accepts JIS.
115 Same as -J.
116
117 =back
118
119 =item B<-t>
120
121 no conversion
122
123 =item B<-i_>
124
125 Output sequence to designate JIS-kanji (DEFAULT B)
126
127 =item B<-o_>
128
129 Output sequence to designate ASCII (DEFAULT B)
130
131 =item B<-r>
132
133 {de/en}crypt ROT13/47
134
135 =item B<-T>
136 Text mode output (MS-DOS)
137
138 =item B<-l>
139
140 ISO8859-1 (Latin-1) support
141
142 =item B<-f[I<m> [- I<n>]]>
143
144 Folding on I<m> length with I<n> margin in a line.
145 Without this option, fold length is 60 and fold margin is 10.
146
147 =item B<-F>
148
149 New line preserving line folding.
150
151 =item B<-Z[0-2]>
152
153 Convert X0208 alphabet (Fullwidth Alphabets) to ASCII.
154
155 =over
156
157 =item B<-Z -Z0>
158
159 Convert X0208 alphabet to ASCII.
160
161 =item B<-Z1>
162
163 converts X0208 kankaku to single ASCII space.
164
165 =item B<-Z2>
166
167 converts X0208 kankaku to double ASCII spaces.
168
169 =item B<-Z3>
170
171 Replacing Fullwidth >, <, ", & into '&gt;', '&lt;', '&quot;', '&amp;' as in HTML.
172
173 =back
174
175 =item B<-X -x>
176
177 Assume X0201 kana in MS-Kanji.
178 With B<-X> or without this option, X0201 is converted into X0208 Kana.
179 With B<-x>, try to preseve X0208 kana and do not convert X0201 kana to X0208.
180 In JIS output, ESC-(-I is used. In EUC output, SSO is used.
181
182 =item B<-B[0-2]>
183
184 Assume broken JIS-Kanji input, which lost ESC.
185 Useful when your site is using old B-News Nihongo patch.
186
187 =over
188
189 =item B<-B1>
190
191 allows any char after ESC-( or ESC-$.
192
193 =item B<-B2>
194
195 forces ASCII after NL.
196
197 =back
198
199 =item B<-I>
200
201 Replacing non iso-2022-jp char into a geta character
202 (substitute character in Japanese).
203
204 =item B<-d -c>
205
206 Delete \r in line feed, Add \r in line feed
207
208 =item B<-m[BQN0]>
209
210 MIME ISO-2022-JP/ISO8859-1 decode. (default)
211 To see ISO8859-1 (Latin-1) -l is necessary.
212
213 =over
214
215 =item B<-mB>
216
217 Decode MIME base64 encoded stream. Remove header or other part before
218 conversion. 
219
220 =item B<-mQ>
221
222 Decode MIME quoted stream. '_' in quoted stream is converted to space.
223
224 =item B<-mN>
225
226 Non-strict decoding.
227 It allows line break in the middle of the base64 encoding.
228
229 =item B<-m0>
230
231 No MIME decode.
232
233 =back
234
235 =item B<-M>
236
237 MIME encode. Header style. All ASCII code and control characters are intact.
238
239 =over
240
241 =item B<-MB>
242
243 MIME encode Base64 stream.
244 Kanji conversion is performed before encoding, so this cannot be used as a picture encoder.
245
246 =item B<-MQ>
247
248 perfome quoted encoding.
249
250 =back
251
252 =item B<-l>
253
254 Input and output code is ISO8859-1 (Latin-1) and ISO-2022-JP.
255 B<-s>, B<-e> and B<-x> are not compatible with this option.
256
257 =item B<-L[wmu]>
258
259 new line mode
260
261 =over
262
263 =item B<-Lu>
264
265 unix (LF)
266
267 =item B<-Lw>
268
269 windows (CRLF)
270
271 =item B<-Lm>
272
273 mac (CR)
274
275 Without this option, nkf doesn't convert line breaks.
276
277 =back
278
279 =item B<--fj --unix --mac --msdos --windows>
280
281 convert for these system
282
283 =item B<--jis --euc --sjis --mime --base64>
284
285 convert for named code
286
287 =item B<--jis-input --euc-input --sjis-input --mime-input --base64-input>
288
289 assume input system
290
291 =item B<--ic=I<input codeset> --oc=I<output codeset>>
292
293 Set the input or output codeset.
294 NKF supports following codesets and those codeset name are case insensitive.
295
296 =over
297
298 =item ISO-2022-JP
299
300 a.k.a. RFC1468, 7bit JIS, JUNET
301
302 =item EUC-JP (eucJP-nkf)
303
304 a.k.a. AT&T JIS, Japanese EUC, UJIS
305
306 =item eucJP-ascii
307
308 =item eucJP-ms
309
310 =item CP51932
311
312 Microsoft Version of EUC-JP.
313
314 =item Shift_JIS
315
316 a.k.a. SJIS, MS-Kanji
317
318 =item CP932
319
320 a.k.a. Windows-31J
321
322 =item UTF-8
323
324 =item UTF-16
325
326 =item UTF8-MAC (input only)
327
328 =back
329
330 =item B<--fb-{skip, html, xml, perl, java, subchar}>
331
332 Specify the way that nkf handles unassigned characters.
333 Without this option, --fb-skip is assumed.
334
335 =item B<--disable-cp932ext>
336
337 Handle the characters extended in CP932 as unassinged characters.
338
339 =item B<--cap-input>
340
341 Decode hex encoded characters.
342
343 =item B<--url-input>
344
345 Unescape percent escaped characters.
346
347 =item B<-->
348
349 ignore rest of -option
350
351 =item B<-v --help>
352
353 output this help.
354
355 =item B<-V --version>
356
357 output version info.
358
359 =back
360
361 =head1 AUTHOR
362
363 Network Kanji Filter Version 2.0.5
364
365 Copyright (C) 1987, FUJITSU LTD. (I.Ichikawa),2000 S. Kono, COW, 2002-2005 Kono, Furukawa, Naruse
366
367 =head1 SEE ALSO
368
369 perl(1).   nkf(1)
370
371 =cut