⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 big5

📁 C语言库函数的原型,有用的拿去
💻
📖 第 1 页 / 共 5 页
字号:
// big5 -- one- or two-byte/wide-character tables
 #pragma once

#ifndef _CVT_BIG5_
#ifndef RC_INVOKED
 #define _CVT_BIG5_
// 
// 	Name:             BIG5 to Unicode table (complete)
// 	Unicode version:  1.1
// 	Table version:    0.0d3
// 	Table format:     Format A
// 	Date:             11 February 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 BIG5 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 BIG5 and Unicode, consult the
//  VENDORS mapping data.  Normative information on the mapping between
//  BIG5 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 BIG5 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.
// 
// 	WARNING!  It is currently impossible to provide round-trip compatibility
// 		between BIG5 and Unicode.
// 
// 	A number of characters are not currently mapped because
// 		of conflicts with other mappings.  They are as follows:
// 
//        BIG5        Description                    Comments
// 
//        0xA15A      SPACING UNDERSCORE             duplicates A1C4
//        0xA1C3      SPACING HEAVY OVERSCORE        not in Unicode
//        0xA1C5      SPACING HEAVY UNDERSCORE       not in Unicode
//        0xA1FE      LT DIAG UP RIGHT TO LOW LEFT   duplicates A2AC
//        0xA240      LT DIAG UP LEFT TO LOW RIGHT   duplicates A2AD
//        0xA2CC      HANGZHOU NUMERAL TEN           conflicts with A451 mapping
//        0xA2CE      HANGZHOU NUMERAL THIRTY        conflicts with A4CA mapping
// 
// 	We currently map all of these characters to U+FFFD REPLACEMENT CHARACTER.
// 		It is also possible to map these characters to their duplicates, or to
// 		the user zone.
// 
// 	Notes:
// 
// 	1. In addition to the above, there is some uncertainty about the
//        mappings in the range C6A1 - C8FE, and F9DD - F9FE.  The ETEN
// 	version of BIG5 organizes the former range differently, and adds
// 	additional characters in the latter range.  The correct mappings
// 	these ranges need to be determined.
// 
// 	2.  There is an uncertainty in the mapping of the Big Five character
// 	0xA3BC.  This character occurs within the Big Five block of tone marks
// 	for bopomofo and is intended to be the tone mark for the first tone in
// 	Mandarin Chinese.  We have selected the mapping U+02C9 MODIFIER LETTER
// 	MACRON (Mandarin Chinese first tone) to reflect this semantic.
// 	However, because bopomofo uses the absense of a tone mark to indicate
// 	the first Mandarin tone, most implementations of Big Five represent
// 	this character with a blank space, and so a mapping such as U+2003 EM
// 	SPACE might be preferred.
// 
// 	Format:  Three tab-separated columns
// 		 Column #1 is the BIG5 code (in hex as 0xXXXX)
// 		 Column #2 is the Unicode (in hex as 0xXXXX)
// 		 Column #3  is 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 BIG5 order
// 
// 
#include <cvt/xtwo_byte>

 #pragma pack(push,_CRT_PACKING)
 #pragma warning(push,3)

namespace stdext {
	namespace cvt {
template<class _Dummy>
	struct _tab_big5 {
	enum {
		_Nlow = 0x80,
		_Nbytes = 2};
	static const unsigned short _Btw[0x80];
	static const unsigned short _Dbvalid[0x358e];
	static const unsigned short _Dbtw[0x358e];
	static const unsigned short _Wvalid[0x358e];
	static const unsigned short _Wtb[0x358e];
	};

template<class _Dummy>
	const unsigned short _tab_big5<_Dummy>::_Btw[0x80] =
	{	/* map single bytes to words */
 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_big5<_Dummy>::_Dbvalid[0x358e] =
	{	/* double bytes that map to words */
 0xa140, 0xa141, 0xa142, 0xa143, 0xa144, 0xa145, 0xa146, 0xa147,
 0xa148, 0xa149, 0xa14a, 0xa14b, 0xa14c, 0xa14d, 0xa14e, 0xa14f,
 0xa150, 0xa151, 0xa152, 0xa153, 0xa154, 0xa155, 0xa156, 0xa157,
 0xa158, 0xa159, 0xa15a, 0xa15b, 0xa15c, 0xa15d, 0xa15e, 0xa15f,
 0xa160, 0xa161, 0xa162, 0xa163, 0xa164, 0xa165, 0xa166, 0xa167,
 0xa168, 0xa169, 0xa16a, 0xa16b, 0xa16c, 0xa16d, 0xa16e, 0xa16f,
 0xa170, 0xa171, 0xa172, 0xa173, 0xa174, 0xa175, 0xa176, 0xa177,
 0xa178, 0xa179, 0xa17a, 0xa17b, 0xa17c, 0xa17d, 0xa17e, 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, 0xa240, 0xa241, 0xa242,
 0xa243, 0xa244, 0xa245, 0xa246, 0xa247, 0xa248, 0xa249, 0xa24a,
 0xa24b, 0xa24c, 0xa24d, 0xa24e, 0xa24f, 0xa250, 0xa251, 0xa252,
 0xa253, 0xa254, 0xa255, 0xa256, 0xa257, 0xa258, 0xa259, 0xa25a,
 0xa25b, 0xa25c, 0xa25d, 0xa25e, 0xa25f, 0xa260, 0xa261, 0xa262,
 0xa263, 0xa264, 0xa265, 0xa266, 0xa267, 0xa268, 0xa269, 0xa26a,
 0xa26b, 0xa26c, 0xa26d, 0xa26e, 0xa26f, 0xa270, 0xa271, 0xa272,
 0xa273, 0xa274, 0xa275, 0xa276, 0xa277, 0xa278, 0xa279, 0xa27a,
 0xa27b, 0xa27c, 0xa27d, 0xa27e, 0xa2a1, 0xa2a2, 0xa2a3, 0xa2a4,
 0xa2a5, 0xa2a6, 0xa2a7, 0xa2a8, 0xa2a9, 0xa2aa, 0xa2ab, 0xa2ac,
 0xa2ad, 0xa2ae, 0xa2af, 0xa2b0, 0xa2b1, 0xa2b2, 0xa2b3, 0xa2b4,
 0xa2b5, 0xa2b6, 0xa2b7, 0xa2b8, 0xa2b9, 0xa2ba, 0xa2bb, 0xa2bc,
 0xa2bd, 0xa2be, 0xa2bf, 0xa2c0, 0xa2c1, 0xa2c2, 0xa2c3, 0xa2c4,
 0xa2c5, 0xa2c6, 0xa2c7, 0xa2c8, 0xa2c9, 0xa2ca, 0xa2cb, 0xa2cc,
 0xa2cd, 0xa2ce, 0xa2cf, 0xa2d0, 0xa2d1, 0xa2d2, 0xa2d3, 0xa2d4,
 0xa2d5, 0xa2d6, 0xa2d7, 0xa2d8, 0xa2d9, 0xa2da, 0xa2db, 0xa2dc,
 0xa2dd, 0xa2de, 0xa2df, 0xa2e0, 0xa2e1, 0xa2e2, 0xa2e3, 0xa2e4,
 0xa2e5, 0xa2e6, 0xa2e7, 0xa2e8, 0xa2e9, 0xa2ea, 0xa2eb, 0xa2ec,
 0xa2ed, 0xa2ee, 0xa2ef, 0xa2f0, 0xa2f1, 0xa2f2, 0xa2f3, 0xa2f4,
 0xa2f5, 0xa2f6, 0xa2f7, 0xa2f8, 0xa2f9, 0xa2fa, 0xa2fb, 0xa2fc,
 0xa2fd, 0xa2fe, 0xa340, 0xa341, 0xa342, 0xa343, 0xa344, 0xa345,
 0xa346, 0xa347, 0xa348, 0xa349, 0xa34a, 0xa34b, 0xa34c, 0xa34d,
 0xa34e, 0xa34f, 0xa350, 0xa351, 0xa352, 0xa353, 0xa354, 0xa355,
 0xa356, 0xa357, 0xa358, 0xa359, 0xa35a, 0xa35b, 0xa35c, 0xa35d,
 0xa35e, 0xa35f, 0xa360, 0xa361, 0xa362, 0xa363, 0xa364, 0xa365,
 0xa366, 0xa367, 0xa368, 0xa369, 0xa36a, 0xa36b, 0xa36c, 0xa36d,
 0xa36e, 0xa36f, 0xa370, 0xa371, 0xa372, 0xa373, 0xa374, 0xa375,
 0xa376, 0xa377, 0xa378, 0xa379, 0xa37a, 0xa37b, 0xa37c, 0xa37d,
 0xa37e, 0xa3a1, 0xa3a2, 0xa3a3, 0xa3a4, 0xa3a5, 0xa3a6, 0xa3a7,
 0xa3a8, 0xa3a9, 0xa3aa, 0xa3ab, 0xa3ac, 0xa3ad, 0xa3ae, 0xa3af,
 0xa3b0, 0xa3b1, 0xa3b2, 0xa3b3, 0xa3b4, 0xa3b5, 0xa3b6, 0xa3b7,
 0xa3b8, 0xa3b9, 0xa3ba, 0xa3bb, 0xa3bc, 0xa3bd, 0xa3be, 0xa3bf,
 0xa440, 0xa441, 0xa442, 0xa443, 0xa444, 0xa445, 0xa446, 0xa447,
 0xa448, 0xa449, 0xa44a, 0xa44b, 0xa44c, 0xa44d, 0xa44e, 0xa44f,
 0xa450, 0xa451, 0xa452, 0xa453, 0xa454, 0xa455, 0xa456, 0xa457,
 0xa458, 0xa459, 0xa45a, 0xa45b, 0xa45c, 0xa45d, 0xa45e, 0xa45f,
 0xa460, 0xa461, 0xa462, 0xa463, 0xa464, 0xa465, 0xa466, 0xa467,
 0xa468, 0xa469, 0xa46a, 0xa46b, 0xa46c, 0xa46d, 0xa46e, 0xa46f,
 0xa470, 0xa471, 0xa472, 0xa473, 0xa474, 0xa475, 0xa476, 0xa477,
 0xa478, 0xa479, 0xa47a, 0xa47b, 0xa47c, 0xa47d, 0xa47e, 0xa4a1,
 0xa4a2, 0xa4a3, 0xa4a4, 0xa4a5, 0xa4a6, 0xa4a7, 0xa4a8, 0xa4a9,
 0xa4aa, 0xa4ab, 0xa4ac, 0xa4ad, 0xa4ae, 0xa4af, 0xa4b0, 0xa4b1,
 0xa4b2, 0xa4b3, 0xa4b4, 0xa4b5, 0xa4b6, 0xa4b7, 0xa4b8, 0xa4b9,
 0xa4ba, 0xa4bb, 0xa4bc, 0xa4bd, 0xa4be, 0xa4bf, 0xa4c0, 0xa4c1,
 0xa4c2, 0xa4c3, 0xa4c4, 0xa4c5, 0xa4c6, 0xa4c7, 0xa4c8, 0xa4c9,
 0xa4ca, 0xa4cb, 0xa4cc, 0xa4cd, 0xa4ce, 0xa4cf, 0xa4d0, 0xa4d1,
 0xa4d2, 0xa4d3, 0xa4d4, 0xa4d5, 0xa4d6, 0xa4d7, 0xa4d8, 0xa4d9,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -