1/**********************************************************************
2  cp932.c -  Onigmo (Oniguruma-mod) (regular expression library)
3**********************************************************************/
4/*-
5 * Copyright (c) 2002-2009  K.Kosako  <sndgk393 AT ybb DOT ne DOT jp>
6 * Copyright (c) 2011       K.Takata  <kentkt AT csc DOT jp>
7 * All rights reserved.
8 *
9 * Redistribution and use in source and binary forms, with or without
10 * modification, are permitted provided that the following conditions
11 * are met:
12 * 1. Redistributions of source code must retain the above copyright
13 *    notice, this list of conditions and the following disclaimer.
14 * 2. Redistributions in binary form must reproduce the above copyright
15 *    notice, this list of conditions and the following disclaimer in the
16 *    documentation and/or other materials provided with the distribution.
17 *
18 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
19 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
22 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28 * SUCH DAMAGE.
29 */
30
31#define ENC_CP932
32#include "shift_jis.c"
33
34OnigEncodingDefine(windows_31j, Windows_31J) = {
35  mbc_enc_len,
36  "Windows-31J",   /* name */
37  2,             /* max byte length */
38  1,             /* min byte length */
39  onigenc_is_mbc_newline_0x0a,
40  mbc_to_code,
41  code_to_mbclen,
42  code_to_mbc,
43  mbc_case_fold,
44  apply_all_case_fold,
45  get_case_fold_codes_by_str,
46  property_name_to_ctype,
47  is_code_ctype,
48  get_ctype_code_range,
49  left_adjust_char_head,
50  is_allowed_reverse_match,
51  0,
52  ONIGENC_FLAG_NONE,
53};
54/*
55 * Name: Windows-31J
56 * MIBenum: 2024
57 * Link: http://www.iana.org/assignments/character-sets
58 * Link: http://www.microsoft.com/globaldev/reference/dbcs/932.mspx
59 * Link: http://ja.wikipedia.org/wiki/Windows-31J
60 * Link: http://source.icu-project.org/repos/icu/data/trunk/charset/data/ucm/windows-932-2000.ucm
61 *
62 * Windows Standard Character Set and its mapping to Unicode by Microsoft.
63 * Since 1.9.3, SJIS is the alias of Windows-31J because its character
64 * set is usually this one even if its mapping may differ.
65 */
66ENC_ALIAS("CP932", "Windows-31J")
67ENC_ALIAS("csWindows31J", "Windows-31J") /* IANA.  IE6 don't accept Windows-31J but csWindows31J. */
68ENC_ALIAS("SJIS", "Windows-31J")
69
70/*
71 * Name: PCK
72 * Link: http://download.oracle.com/docs/cd/E19253-01/819-0606/x-2chn0/index.html
73 * Link: http://download.oracle.com/docs/cd/E19253-01/819-0606/appb-pckwarn-1/index.html
74 *
75 * Solaris's SJIS variant. Its set is Windows Standard Character Set; it
76 * consists JIS X 0201 Latin (US-ASCII), JIS X 0201 Katakana, JIS X 0208, NEC
77 * special characters, NEC-selected IBM extended characters, and IBM extended
78 * characters. Solaris's iconv seems to use SJIS-open.
79 */
80ENC_ALIAS("PCK", "Windows-31J")
81