1 /**********************************************************************
2 windows_31j.c - Onigmo (Oniguruma-mod) (regular expression library)
3 **********************************************************************/
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>
9 * Redistribution and use in source and binary forms, with or without
10 * modification, are permitted provided that the following conditions
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.
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
32 #include "shift_jis.h"
34 OnigEncodingDefine(windows_31j
, Windows_31J
) = {
36 "Windows-31J", /* name */
37 2, /* max byte length */
38 1, /* min byte length */
39 onigenc_is_mbc_newline_0x0a
,
45 get_case_fold_codes_by_str
,
46 property_name_to_ctype
,
49 left_adjust_char_head
,
50 is_allowed_reverse_match
,
51 onigenc_ascii_only_case_map
,
58 * Link: http://www.iana.org/assignments/character-sets
59 * Link: http://www.microsoft.com/globaldev/reference/dbcs/932.mspx
60 * Link: https://ja.wikipedia.org/wiki/Windows-31J
61 * Link: http://source.icu-project.org/repos/icu/data/trunk/charset/data/ucm/windows-932-2000.ucm
63 * Windows Standard Character Set and its mapping to Unicode by Microsoft.
64 * Since 1.9.3, SJIS is the alias of Windows-31J because its character
65 * set is usually this one even if its mapping may differ.
67 ENC_ALIAS("CP932", "Windows-31J")
68 ENC_ALIAS("csWindows31J", "Windows-31J") /* IANA. IE6 don't accept Windows-31J but csWindows31J. */
69 ENC_ALIAS("SJIS", "Windows-31J")
73 * Link: http://download.oracle.com/docs/cd/E19253-01/819-0606/x-2chn0/index.html
74 * Link: http://download.oracle.com/docs/cd/E19253-01/819-0606/appb-pckwarn-1/index.html
76 * Solaris's SJIS variant. Its set is Windows Standard Character Set; it
77 * consists JIS X 0201 Latin (US-ASCII), JIS X 0201 Katakana, JIS X 0208, NEC
78 * special characters, NEC-selected IBM extended characters, and IBM extended
79 * characters. Solaris's iconv seems to use SJIS-open.
81 ENC_ALIAS("PCK", "Windows-31J")