mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			81 lines
		
	
	
	
		
			3.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
	
		
			3.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/**********************************************************************
 | 
						|
  windows_31j.c -  Onigmo (Oniguruma-mod) (regular expression library)
 | 
						|
**********************************************************************/
 | 
						|
/*-
 | 
						|
 * Copyright (c) 2002-2009  K.Kosako  <sndgk393 AT ybb DOT ne DOT jp>
 | 
						|
 * Copyright (c) 2011       K.Takata  <kentkt AT csc DOT jp>
 | 
						|
 * All rights reserved.
 | 
						|
 *
 | 
						|
 * Redistribution and use in source and binary forms, with or without
 | 
						|
 * modification, are permitted provided that the following conditions
 | 
						|
 * are met:
 | 
						|
 * 1. Redistributions of source code must retain the above copyright
 | 
						|
 *    notice, this list of conditions and the following disclaimer.
 | 
						|
 * 2. Redistributions in binary form must reproduce the above copyright
 | 
						|
 *    notice, this list of conditions and the following disclaimer in the
 | 
						|
 *    documentation and/or other materials provided with the distribution.
 | 
						|
 *
 | 
						|
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
 | 
						|
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 | 
						|
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 | 
						|
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
 | 
						|
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 | 
						|
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 | 
						|
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 | 
						|
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 | 
						|
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 | 
						|
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 | 
						|
 * SUCH DAMAGE.
 | 
						|
 */
 | 
						|
 | 
						|
#define ENC_CP932
 | 
						|
#include "shift_jis.h"
 | 
						|
 | 
						|
OnigEncodingDefine(windows_31j, Windows_31J) = {
 | 
						|
  mbc_enc_len,
 | 
						|
  "Windows-31J", /* name */
 | 
						|
  2,             /* max byte length */
 | 
						|
  1,             /* min byte length */
 | 
						|
  onigenc_is_mbc_newline_0x0a,
 | 
						|
  mbc_to_code,
 | 
						|
  code_to_mbclen,
 | 
						|
  code_to_mbc,
 | 
						|
  mbc_case_fold,
 | 
						|
  apply_all_case_fold,
 | 
						|
  get_case_fold_codes_by_str,
 | 
						|
  property_name_to_ctype,
 | 
						|
  is_code_ctype,
 | 
						|
  get_ctype_code_range,
 | 
						|
  left_adjust_char_head,
 | 
						|
  is_allowed_reverse_match,
 | 
						|
  onigenc_ascii_only_case_map,
 | 
						|
  0,
 | 
						|
  ONIGENC_FLAG_NONE,
 | 
						|
};
 | 
						|
/*
 | 
						|
 * Name: Windows-31J
 | 
						|
 * MIBenum: 2024
 | 
						|
 * Link: http://www.iana.org/assignments/character-sets
 | 
						|
 * Link: http://www.microsoft.com/globaldev/reference/dbcs/932.mspx
 | 
						|
 * Link: https://ja.wikipedia.org/wiki/Windows-31J
 | 
						|
 * Link: http://source.icu-project.org/repos/icu/data/trunk/charset/data/ucm/windows-932-2000.ucm
 | 
						|
 *
 | 
						|
 * Windows Standard Character Set and its mapping to Unicode by Microsoft.
 | 
						|
 * Since 1.9.3, SJIS is the alias of Windows-31J because its character
 | 
						|
 * set is usually this one even if its mapping may differ.
 | 
						|
 */
 | 
						|
ENC_ALIAS("CP932", "Windows-31J")
 | 
						|
ENC_ALIAS("csWindows31J", "Windows-31J") /* IANA.  IE6 don't accept Windows-31J but csWindows31J. */
 | 
						|
ENC_ALIAS("SJIS", "Windows-31J")
 | 
						|
 | 
						|
/*
 | 
						|
 * Name: PCK
 | 
						|
 * Link: http://download.oracle.com/docs/cd/E19253-01/819-0606/x-2chn0/index.html
 | 
						|
 * Link: http://download.oracle.com/docs/cd/E19253-01/819-0606/appb-pckwarn-1/index.html
 | 
						|
 *
 | 
						|
 * Solaris's SJIS variant. Its set is Windows Standard Character Set; it
 | 
						|
 * consists JIS X 0201 Latin (US-ASCII), JIS X 0201 Katakana, JIS X 0208, NEC
 | 
						|
 * special characters, NEC-selected IBM extended characters, and IBM extended
 | 
						|
 * characters. Solaris's iconv seems to use SJIS-open.
 | 
						|
 */
 | 
						|
ENC_ALIAS("PCK", "Windows-31J")
 |