📄 euc
字号:
// euc -- one- or two-byte/wide-character tables
#pragma once
#ifndef _CVT_EUC_
#ifndef RC_INVOKED
#define _CVT_EUC_
//
// Name: JIS X 0201 (1976) to Unicode 1.1 Table
// Unicode version: 1.1
// Table version: 0.9
// Table format: Format A
// Date: 8 March 1994
//
// Copyright (c) 1991-1994 Unicode, Inc. All Rights reserved.
//
// This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
// No claims are made as to fitness for any particular purpose. No
// warranties of any kind are expressed or implied. The recipient
// agrees to determine applicability of information provided. If this
// file has been provided on magnetic media by Unicode, Inc., the sole
// remedy for any claim will be exchange of defective media within 90
// days of receipt.
//
// Recipient is granted the right to make copies in any form for
// internal distribution and to freely use the information supplied
// in the creation of products supporting Unicode. Unicode, Inc.
// specifically excludes the right to re-distribute this file directly
// to third parties or other organizations whether for profit or not.
//
// General notes:
//
//
// This table contains one set of mappings from JIS X 0201 into Unicode.
// Note that these data are *possible* mappings only and may not be the
// same as those used by actual products, nor may they be the best suited
// for all uses. For more information on the mappings between various code
// pages incorporating the repertoire of JIS X 0201 and Unicode, consult the
// VENDORS mapping data. Normative information on the mapping between
// JIS X 0201 and Unicode may be found in the Unihan.txt file in the
// latest Unicode Character Database.
//
// If you have carefully considered the fact that the mappings in
// this table are only one possible set of mappings between JIS X 0201 and
// Unicode and have no normative status, but still feel that you
// have located an error in the table that requires fixing, you may
// report any such error to errata@unicode.org.
//
//
// Format: Three tab-separated columns
// Column #1 is the shift JIS code (in hex as 0xXX)
// Column #2 is the Unicode (in hex as 0xXXXX)
// Column #3 the Unicode (ISO 10646) name (follows a comment sign)
//
// The entries are in JIS order
//
//
//
// Name: JIS X 0208 (1990) to Unicode
// Unicode version: 1.1
// Table version: 0.9
// Table format: Format A
// Date: 8 March 1994
//
// Copyright (c) 1991-1994 Unicode, Inc. All Rights reserved.
//
// This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
// No claims are made as to fitness for any particular purpose. No
// warranties of any kind are expressed or implied. The recipient
// agrees to determine applicability of information provided. If this
// file has been provided on magnetic media by Unicode, Inc., the sole
// remedy for any claim will be exchange of defective media within 90
// days of receipt.
//
// Recipient is granted the right to make copies in any form for
// internal distribution and to freely use the information supplied
// in the creation of products supporting Unicode. Unicode, Inc.
// specifically excludes the right to re-distribute this file directly
// to third parties or other organizations whether for profit or not.
//
// General notes:
//
//
// This table contains one set of mappings from JIS X 0208 (1990) into Unicode.
// Note that these data are *possible* mappings only and may not be the
// same as those used by actual products, nor may they be the best suited
// for all uses. For more information on the mappings between various code
// pages incorporating the repertoire of JIS X 0208 (1990) and Unicode, consult the
// VENDORS mapping data. Normative information on the mapping between
// JIS X 0208 (1990) and Unicode may be found in the Unihan.txt file in the
// latest Unicode Character Database.
//
// If you have carefully considered the fact that the mappings in
// this table are only one possible set of mappings between JIS X 0208 (1990)
// and Unicode and have no normative status, but still feel that you
// have located an error in the table that requires fixing, you may
// report any such error to errata@unicode.org.
//
//
// Format: Four tab-separated columns
// Column #1 is the shift-JIS code (in hex)
// Column #2 is the JIS X 0208 code (in hex as 0xXXXX)
// Column #3 is the Unicode (in hex as 0xXXXX)
// Column #4 the Unicode name (follows a comment sign, '#')
// The official names for Unicode characters U+4E00
// to U+9FA5, inclusive, is "CJK UNIFIED IDEOGRAPH-XXXX",
// where XXXX is the code point. Including all these
// names in this file increases its size substantially
// and needlessly. The token "<CJK>" is used for the
// name of these characters. If necessary, it can be
// expanded algorithmically by a parser or editor.
//
// The entries are in JIS X 0208 order
//
// The following algorithms can be used to change the hex form
// of JIS 0208 to other standard forms:
//
// To change hex to EUC form, add 0x8080
// To change hex to kuten form, first subtract 0x2020. Then
// the high and low bytes correspond to the ku and ten of
// the kuten form. For example, 0x2121 -> 0x0101 -> 0101;
// 0x7426 -> 0x5406 -> 8406
//
// The kanji mappings are a normative part of ISO/IEC 10646. The
// non-kanji mappings are provisional, pending definition of
// official mappings by Japanese standards bodies
//
// Any comments or problems, contact <John_Jenkins@taligent.com>
//
//
#include <cvt/xtwo_byte>
#pragma pack(push,_CRT_PACKING)
#pragma warning(push,3)
namespace stdext {
namespace cvt {
template<class _Dummy>
struct _tab_euc {
enum {
_Nlow = 0x5c,
_Nbytes = 2};
static const unsigned short _Btw[0xa4];
static const unsigned short _Dbvalid[0x1b1e];
static const unsigned short _Dbtw[0x1b1e];
static const unsigned short _Wvalid[0x1b20];
static const unsigned short _Wtb[0x1b20];
};
template<class _Dummy>
const unsigned short _tab_euc<_Dummy>::_Btw[0xa4] =
{ /* map single bytes to words */
0x00a5, 0x005d, 0x005e, 0x005f, 0x0060, 0x0061, 0x0062, 0x0063,
0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, 0x006b,
0x006c, 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x0073,
0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x007b,
0x007c, 0x007d, 0x203e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000};
template<class _Dummy>
const unsigned short _tab_euc<_Dummy>::_Dbvalid[0x1b1e] =
{ /* double bytes that map to words */
0x8ea1, 0x8ea2, 0x8ea3, 0x8ea4, 0x8ea5, 0x8ea6, 0x8ea7, 0x8ea8,
0x8ea9, 0x8eaa, 0x8eab, 0x8eac, 0x8ead, 0x8eae, 0x8eaf, 0x8eb0,
0x8eb1, 0x8eb2, 0x8eb3, 0x8eb4, 0x8eb5, 0x8eb6, 0x8eb7, 0x8eb8,
0x8eb9, 0x8eba, 0x8ebb, 0x8ebc, 0x8ebd, 0x8ebe, 0x8ebf, 0x8ec0,
0x8ec1, 0x8ec2, 0x8ec3, 0x8ec4, 0x8ec5, 0x8ec6, 0x8ec7, 0x8ec8,
0x8ec9, 0x8eca, 0x8ecb, 0x8ecc, 0x8ecd, 0x8ece, 0x8ecf, 0x8ed0,
0x8ed1, 0x8ed2, 0x8ed3, 0x8ed4, 0x8ed5, 0x8ed6, 0x8ed7, 0x8ed8,
0x8ed9, 0x8eda, 0x8edb, 0x8edc, 0x8edd, 0x8ede, 0x8edf, 0xa1a1,
0xa1a2, 0xa1a3, 0xa1a4, 0xa1a5, 0xa1a6, 0xa1a7, 0xa1a8, 0xa1a9,
0xa1aa, 0xa1ab, 0xa1ac, 0xa1ad, 0xa1ae, 0xa1af, 0xa1b0, 0xa1b1,
0xa1b2, 0xa1b3, 0xa1b4, 0xa1b5, 0xa1b6, 0xa1b7, 0xa1b8, 0xa1b9,
0xa1ba, 0xa1bb, 0xa1bc, 0xa1bd, 0xa1be, 0xa1bf, 0xa1c0, 0xa1c1,
0xa1c2, 0xa1c3, 0xa1c4, 0xa1c5, 0xa1c6, 0xa1c7, 0xa1c8, 0xa1c9,
0xa1ca, 0xa1cb, 0xa1cc, 0xa1cd, 0xa1ce, 0xa1cf, 0xa1d0, 0xa1d1,
0xa1d2, 0xa1d3, 0xa1d4, 0xa1d5, 0xa1d6, 0xa1d7, 0xa1d8, 0xa1d9,
0xa1da, 0xa1db, 0xa1dc, 0xa1dd, 0xa1de, 0xa1df, 0xa1e0, 0xa1e1,
0xa1e2, 0xa1e3, 0xa1e4, 0xa1e5, 0xa1e6, 0xa1e7, 0xa1e8, 0xa1e9,
0xa1ea, 0xa1eb, 0xa1ec, 0xa1ed, 0xa1ee, 0xa1ef, 0xa1f0, 0xa1f1,
0xa1f2, 0xa1f3, 0xa1f4, 0xa1f5, 0xa1f6, 0xa1f7, 0xa1f8, 0xa1f9,
0xa1fa, 0xa1fb, 0xa1fc, 0xa1fd, 0xa1fe, 0xa2a1, 0xa2a2, 0xa2a3,
0xa2a4, 0xa2a5, 0xa2a6, 0xa2a7, 0xa2a8, 0xa2a9, 0xa2aa, 0xa2ab,
0xa2ac, 0xa2ad, 0xa2ae, 0xa2ba, 0xa2bb, 0xa2bc, 0xa2bd, 0xa2be,
0xa2bf, 0xa2c0, 0xa2c1, 0xa2ca, 0xa2cb, 0xa2cc, 0xa2cd, 0xa2ce,
0xa2cf, 0xa2d0, 0xa2dc, 0xa2dd, 0xa2de, 0xa2df, 0xa2e0, 0xa2e1,
0xa2e2, 0xa2e3, 0xa2e4, 0xa2e5, 0xa2e6, 0xa2e7, 0xa2e8, 0xa2e9,
0xa2ea, 0xa2f2, 0xa2f3, 0xa2f4, 0xa2f5, 0xa2f6, 0xa2f7, 0xa2f8,
0xa2f9, 0xa2fe, 0xa3b0, 0xa3b1, 0xa3b2, 0xa3b3, 0xa3b4, 0xa3b5,
0xa3b6, 0xa3b7, 0xa3b8, 0xa3b9, 0xa3c1, 0xa3c2, 0xa3c3, 0xa3c4,
0xa3c5, 0xa3c6, 0xa3c7, 0xa3c8, 0xa3c9, 0xa3ca, 0xa3cb, 0xa3cc,
0xa3cd, 0xa3ce, 0xa3cf, 0xa3d0, 0xa3d1, 0xa3d2, 0xa3d3, 0xa3d4,
0xa3d5, 0xa3d6, 0xa3d7, 0xa3d8, 0xa3d9, 0xa3da, 0xa3e1, 0xa3e2,
0xa3e3, 0xa3e4, 0xa3e5, 0xa3e6, 0xa3e7, 0xa3e8, 0xa3e9, 0xa3ea,
0xa3eb, 0xa3ec, 0xa3ed, 0xa3ee, 0xa3ef, 0xa3f0, 0xa3f1, 0xa3f2,
0xa3f3, 0xa3f4, 0xa3f5, 0xa3f6, 0xa3f7, 0xa3f8, 0xa3f9, 0xa3fa,
0xa4a1, 0xa4a2, 0xa4a3, 0xa4a4, 0xa4a5, 0xa4a6, 0xa4a7, 0xa4a8,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -