1 ## Copyright (C) 1996,1998
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¡Ë
8 ## ¤³¤Î¥½¡¼¥¹¤Î¤¤¤«¤Ê¤ëÊ£¼Ì¡¤²þÊÑ¡¤½¤Àµ¤âµöÂú¤·¤Þ¤¹¡£¤¿¤À¤·¡¢
9 ## ¤½¤ÎºÝ¤Ë¤Ï¡¢Ã¯¤¬¹×¸¥¤·¤¿¤ò¼¨¤¹¤³¤ÎÉôʬ¤ò»Ä¤¹¤³¤È¡£
10 ## ºÆÇÛÉۤ仨»ï¤ÎÉÕÏ¿¤Ê¤É¤ÎÌ䤤¹ç¤ï¤»¤âɬÍפ¢¤ê¤Þ¤»¤ó¡£
11 ## ±ÄÍøÍøÍѤâ¾åµ¤ËÈ¿¤·¤Ê¤¤ÈϰϤǵö²Ä¤·¤Þ¤¹¡£
12 ## ¥Ð¥¤¥Ê¥ê¤ÎÇÛÉۤκݤˤÏversion message¤òÊݸ¤¹¤ë¤³¤È¤ò¾ò·ï¤È¤·¤Þ¤¹¡£
13 ## ¤³¤Î¥×¥í¥°¥é¥à¤Ë¤Ä¤¤¤Æ¤ÏÆä˲¿¤ÎÊݾڤ⤷¤Ê¤¤¡¢°¤·¤«¤é¤º¡£
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.
27 use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
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.
37 nkf nkf_continue inputcode
41 bootstrap NKF $VERSION;
43 # Preloaded methods go here.
45 # Autoload methods go after =cut, and are processed by the autosplit program.
49 # Below is the stub of documentation for your module. You better edit it!
53 NKF - Perl extension for Network Kanji Filter
58 $output = nkf("-s",$input);
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.
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.
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.
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>.
86 Output is bufferred (DEFAULT),Output is unbufferred
88 =item B<-j -s -e -w -w16>
90 Outout code is ISO-2022-JP (7bit JIS), Shift_JIS, EUC-JP,
92 Without this option and compile option, ISO-2022-JP is assumed.
94 =item B<-J -S -E -W -W16>
96 Input assumption is JIS 7 bit , Shift_JIS, EUC-JP,
103 Assume JIS input. It also accepts EUC-JP.
104 This is the default. This flag does not exclude Shift_JIS.
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.
114 Assume EUC-JP input. It also accepts JIS.
125 Output sequence to designate JIS-kanji (DEFAULT B)
129 Output sequence to designate ASCII (DEFAULT B)
133 {de/en}crypt ROT13/47
135 =item B<-h[123] --hiragana --katakana --katakana-hiragana>
139 =item B<-h1 --hiragana>
141 Katakana to Hiragana convertion
143 =item B<-h2 --katakana>
145 Hiragana to Katakana convertion
147 =item B<-h3 --katakana-hiragana>
149 Katakana to Hiragana and Hiragana to Katakana convertion
154 Text mode output (MS-DOS)
158 ISO8859-1 (Latin-1) support
160 =item B<-f[I<m> [- I<n>]]>
162 Folding on I<m> length with I<n> margin in a line.
163 Without this option, fold length is 60 and fold margin is 10.
167 New line preserving line folding.
171 Convert X0208 alphabet (Fullwidth Alphabets) to ASCII.
177 Convert X0208 alphabet to ASCII.
181 converts X0208 kankaku to single ASCII space.
185 converts X0208 kankaku to double ASCII spaces.
189 Replacing Fullwidth >, <, ", & into '>', '<', '"', '&' as in HTML.
195 Assume X0201 kana in MS-Kanji.
196 With B<-X> or without this option, X0201 is converted into X0208 Kana.
197 With B<-x>, try to preseve X0208 kana and do not convert X0201 kana to X0208.
198 In JIS output, ESC-(-I is used. In EUC output, SSO is used.
202 Assume broken JIS-Kanji input, which lost ESC.
203 Useful when your site is using old B-News Nihongo patch.
209 allows any char after ESC-( or ESC-$.
213 forces ASCII after NL.
219 Replacing non iso-2022-jp char into a geta character
220 (substitute character in Japanese).
224 Delete \r in line feed, Add \r in line feed
228 MIME ISO-2022-JP/ISO8859-1 decode. (default)
229 To see ISO8859-1 (Latin-1) -l is necessary.
235 Decode MIME base64 encoded stream. Remove header or other part before
240 Decode MIME quoted stream. '_' in quoted stream is converted to space.
245 It allows line break in the middle of the base64 encoding.
255 MIME encode. Header style. All ASCII code and control characters are intact.
261 MIME encode Base64 stream.
262 Kanji conversion is performed before encoding, so this cannot be used as a picture encoder.
266 perfome quoted encoding.
272 Input and output code is ISO8859-1 (Latin-1) and ISO-2022-JP.
273 B<-s>, B<-e> and B<-x> are not compatible with this option.
293 Without this option, nkf doesn't convert line breaks.
297 =item B<--fj --unix --mac --msdos --windows>
299 convert for these system
301 =item B<--jis --euc --sjis --mime --base64>
303 convert for named code
305 =item B<--jis-input --euc-input --sjis-input --mime-input --base64-input>
309 =item B<--ic=I<input codeset> --oc=I<output codeset>>
311 Set the input or output codeset.
312 NKF supports following codesets and those codeset name are case insensitive.
318 a.k.a. RFC1468, 7bit JIS, JUNET
320 =item EUC-JP (eucJP-nkf)
322 a.k.a. AT&T JIS, Japanese EUC, UJIS
330 Microsoft Version of EUC-JP.
334 a.k.a. SJIS, MS-Kanji
358 UTF-16 Big Endian without BOM
362 UTF-16 Big Endian with BOM
366 UTF-16 Little Endian without BOM
370 UTF-16 Little Endian with BOM
372 =item UTF8-MAC (input only)
376 =item B<--fb-{skip, html, xml, perl, java, subchar}>
378 Specify the way that nkf handles unassigned characters.
379 Without this option, --fb-skip is assumed.
381 =item B<--prefix=I<escape character>I<target character>..>
383 When nkf converts to Shift_JIS,
384 nkf adds a specified escape character to specified 2nd byte of Shift_JIS characters.
385 1st byte of argument is the escape character and following bytes are target characters.
387 =item B<--disable-cp932ext>
389 Handle the characters extended in CP932 as unassinged characters.
393 Decode hex encoded characters.
397 Unescape percent escaped characters.
401 ignore rest of -option
407 Network Kanji Filter Version 2.0.5
409 Copyright (C) 1987, FUJITSU LTD. (I.Ichikawa),2000 S. Kono, COW, 2002-2005 Kono, Furukawa, Naruse