📄 qbig5codec.cpp
字号:
/******************************************************************************** Copyright (C) 1992-2006 Trolltech ASA. All rights reserved.**** This file is part of the plugins of the Qt Toolkit.**** This file may be used under the terms of the GNU General Public** License version 2.0 as published by the Free Software Foundation** and appearing in the file LICENSE.GPL included in the packaging of** this file. Please review the following information to ensure GNU** General Public Licensing requirements will be met:** http://www.trolltech.com/products/qt/opensource.html**** If you are unsure which license is appropriate for your use, please** review the following information:** http://www.trolltech.com/products/qt/licensing.html or contact the** sales department at sales@trolltech.com.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.******************************************************************************/#include "qbig5codec.h"#ifndef QT_NO_TEXTCODECstatic int qt_Big5hkscsToUnicode(const uchar *s, uint *pwc);static int qt_UnicodeToBig5hkscs(uint wc, uchar *r);#define InRange(c, lower, upper) (((c) >= (lower)) && ((c) <= (upper)))#define IsLatin(c) ((c) < 0x80)#define IsFirstByte(c) (InRange((c), 0x81, 0xFE))#define IsSecondByteRange1(c) (InRange((c), 0x40, 0x7E))#define IsSecondByteRange2(c) (InRange((c), 0xA1, 0xFE))#define IsSecondByte(c) (IsSecondByteRange1(c) || IsSecondByteRange2(c))#define QValidChar(u) ((u) ? QChar((ushort)(u)) : QChar(QChar::ReplacementCharacter))int QBig5Codec::_mibEnum(){ return 2026;}QByteArray QBig5Codec::_name(){ return "Big5";}struct B5Map { ushort x; ushort y;};static const B5Map b5_to_uc_map[] = { { 0xc6a1, 0xf6b1 }, { 0xc6a2, 0xf6b2 }, { 0xc6a3, 0xf6b3 }, { 0xc6a4, 0xf6b4 }, { 0xc6a5, 0xf6b5 }, { 0xc6a6, 0xf6b6 }, { 0xc6a7, 0xf6b7 }, { 0xc6a8, 0xf6b8 }, { 0xc6a9, 0xf6b9 }, { 0xc6aa, 0xf6ba }, { 0xc6ab, 0xf6bb }, { 0xc6ac, 0xf6bc }, { 0xc6ad, 0xf6bd }, { 0xc6ae, 0xf6be }, { 0xc6af, 0xf6bf }, { 0xc6b0, 0xf6c0 }, { 0xc6b1, 0xf6c1 }, { 0xc6b2, 0xf6c2 }, { 0xc6b3, 0xf6c3 }, { 0xc6b4, 0xf6c4 }, { 0xc6b5, 0xf6c5 }, { 0xc6b6, 0xf6c6 }, { 0xc6b7, 0xf6c7 }, { 0xc6b8, 0xf6c8 }, { 0xc6b9, 0xf6c9 }, { 0xc6ba, 0xf6ca }, { 0xc6bb, 0xf6cb }, { 0xc6bc, 0xf6cc }, { 0xc6bd, 0xf6cd }, { 0xc6be, 0xf6ce }, { 0xc6bf, 0xf6cf }, { 0xc6c0, 0xf6d0 }, { 0xc6c1, 0xf6d1 }, { 0xc6c2, 0xf6d2 }, { 0xc6c3, 0xf6d3 }, { 0xc6c4, 0xf6d4 }, { 0xc6c5, 0xf6d5 }, { 0xc6c6, 0xf6d6 }, { 0xc6c7, 0xf6d7 }, { 0xc6c8, 0xf6d8 }, { 0xc6c9, 0xf6d9 }, { 0xc6ca, 0xf6da }, { 0xc6cb, 0xf6db }, { 0xc6cc, 0xf6dc }, { 0xc6cd, 0xf6dd }, { 0xc6ce, 0xf6de }, { 0xc6d0, 0xf6e0 }, { 0xc6d1, 0xf6e1 }, { 0xc6d2, 0xf6e2 }, { 0xc6d4, 0xf6e4 }, { 0xc6d6, 0xf6e6 }, { 0xc6d8, 0xf6e8 }, { 0xc6d9, 0xf6e9 }, { 0xc6da, 0xf6ea }, { 0xc6db, 0xf6eb }, { 0xc6dc, 0xf6ec }, { 0xc6dd, 0xf6ed }, { 0xc6e0, 0xf6f0 }, { 0xc6e1, 0xf6f1 }, { 0xc6e2, 0xf6f2 }, { 0xc6e3, 0xf6f3 }, { 0xc6e4, 0xf6f4 }, { 0xc6e5, 0xf6f5 }, { 0xc6e6, 0xf6f6 }, { 0xc6e7, 0xf6f7 }, { 0xc6e8, 0xf6f8 }, { 0xc6e9, 0xf6f9 }, { 0xc6ea, 0xf6fa }, { 0xc6eb, 0xf6fb }, { 0xc6ec, 0xf6fc }, { 0xc6ed, 0xf6fd }, { 0xc6ee, 0xf6fe }, { 0xc6ef, 0xf6ff }, { 0xc6f0, 0xf700 }, { 0xc6f1, 0xf701 }, { 0xc6f2, 0xf702 }, { 0xc6f3, 0xf703 }, { 0xc6f4, 0xf704 }, { 0xc6f5, 0xf705 }, { 0xc6f6, 0xf706 }, { 0xc6f7, 0xf707 }, { 0xc6f8, 0xf708 }, { 0xc6f9, 0xf709 }, { 0xc6fa, 0xf70a }, { 0xc6fb, 0xf70b }, { 0xc6fc, 0xf70c }, { 0xc6fd, 0xf70d }, { 0xc6fe, 0xf70e }, { 0xc740, 0xf70f }, { 0xc741, 0xf710 }, { 0xc742, 0xf711 }, { 0xc743, 0xf712 }, { 0xc744, 0xf713 }, { 0xc745, 0xf714 }, { 0xc746, 0xf715 }, { 0xc747, 0xf716 }, { 0xc748, 0xf717 }, { 0xc749, 0xf718 }, { 0xc74a, 0xf719 }, { 0xc74b, 0xf71a }, { 0xc74c, 0xf71b }, { 0xc74d, 0xf71c }, { 0xc74e, 0xf71d }, { 0xc74f, 0xf71e }, { 0xc750, 0xf71f }, { 0xc751, 0xf720 }, { 0xc752, 0xf721 }, { 0xc753, 0xf722 }, { 0xc754, 0xf723 }, { 0xc755, 0xf724 }, { 0xc756, 0xf725 }, { 0xc757, 0xf726 }, { 0xc758, 0xf727 }, { 0xc759, 0xf728 }, { 0xc75a, 0xf729 }, { 0xc75b, 0xf72a }, { 0xc75c, 0xf72b }, { 0xc75d, 0xf72c }, { 0xc75e, 0xf72d }, { 0xc75f, 0xf72e }, { 0xc760, 0xf72f }, { 0xc761, 0xf730 }, { 0xc762, 0xf731 }, { 0xc763, 0xf732 }, { 0xc764, 0xf733 }, { 0xc765, 0xf734 }, { 0xc766, 0xf735 }, { 0xc767, 0xf736 }, { 0xc768, 0xf737 }, { 0xc769, 0xf738 }, { 0xc76a, 0xf739 }, { 0xc76b, 0xf73a }, { 0xc76c, 0xf73b }, { 0xc76d, 0xf73c }, { 0xc76e, 0xf73d }, { 0xc76f, 0xf73e }, { 0xc770, 0xf73f }, { 0xc771, 0xf740 }, { 0xc772, 0xf741 }, { 0xc773, 0xf742 }, { 0xc774, 0xf743 }, { 0xc775, 0xf744 }, { 0xc776, 0xf745 }, { 0xc777, 0xf746 }, { 0xc778, 0xf747 }, { 0xc779, 0xf748 }, { 0xc77a, 0xf749 }, { 0xc77b, 0xf74a }, { 0xc77c, 0xf74b }, { 0xc77d, 0xf74c }, { 0xc77e, 0xf74d }, { 0xc7a1, 0xf74e }, { 0xc7a2, 0xf74f }, { 0xc7a3, 0xf750 }, { 0xc7a4, 0xf751 }, { 0xc7a5, 0xf752 }, { 0xc7a6, 0xf753 }, { 0xc7a7, 0xf754 }, { 0xc7a8, 0xf755 }, { 0xc7a9, 0xf756 }, { 0xc7aa, 0xf757 }, { 0xc7ab, 0xf758 }, { 0xc7ac, 0xf759 }, { 0xc7ad, 0xf75a }, { 0xc7ae, 0xf75b }, { 0xc7af, 0xf75c }, { 0xc7b0, 0xf75d }, { 0xc7b1, 0xf75e }, { 0xc7b2, 0xf75f }, { 0xc7b3, 0xf760 }, { 0xc7b4, 0xf761 }, { 0xc7b5, 0xf762 }, { 0xc7b6, 0xf763 }, { 0xc7b7, 0xf764 }, { 0xc7b8, 0xf765 }, { 0xc7b9, 0xf766 }, { 0xc7ba, 0xf767 }, { 0xc7bb, 0xf768 }, { 0xc7bc, 0xf769 }, { 0xc7bd, 0xf76a }, { 0xc7be, 0xf76b }, { 0xc7bf, 0xf76c }, { 0xc7c0, 0xf76d }, { 0xc7c1, 0xf76e }, { 0xc7c2, 0xf76f }, { 0xc7c3, 0xf770 }, { 0xc7c4, 0xf771 }, { 0xc7c5, 0xf772 }, { 0xc7c6, 0xf773 }, { 0xc7c7, 0xf774 }, { 0xc7c8, 0xf775 }, { 0xc7c9, 0xf776 }, { 0xc7ca, 0xf777 }, { 0xc7cb, 0xf778 }, { 0xc7cc, 0xf779 }, { 0xc7cd, 0xf77a }, { 0xc7ce, 0xf77b }, { 0xc7cf, 0xf77c }, { 0xc7d0, 0xf77d }, { 0xc7d1, 0xf77e }, { 0xc7d2, 0xf77f }, { 0xc7d3, 0xf780 }, { 0xc7d4, 0xf781 }, { 0xc7d5, 0xf782 }, { 0xc7d6, 0xf783 }, { 0xc7d7, 0xf784 }, { 0xc7d8, 0xf785 }, { 0xc7d9, 0xf786 }, { 0xc7da, 0xf787 }, { 0xc7db, 0xf788 }, { 0xc7dc, 0xf789 }, { 0xc7dd, 0xf78a }, { 0xc7de, 0xf78b }, { 0xc7df, 0xf78c }, { 0xc7e0, 0xf78d }, { 0xc7e1, 0xf78e }, { 0xc7e2, 0xf78f }, { 0xc7e3, 0xf790 }, { 0xc7e4, 0xf791 }, { 0xc7e5, 0xf792 }, { 0xc7e6, 0xf793 }, { 0xc7e7, 0xf794 }, { 0xc7e8, 0xf795 }, { 0xc7e9, 0xf796 }, { 0xc7ea, 0xf797 }, { 0xc7eb, 0xf798 }, { 0xc7ec, 0xf799 }, { 0xc7ed, 0xf79a }, { 0xc7ee, 0xf79b }, { 0xc7ef, 0xf79c }, { 0xc7f0, 0xf79d }, { 0xc7f1, 0xf79e }, { 0xc7f2, 0xf79f }, { 0xc7f3, 0xf7a0 }, { 0xc7f4, 0xf7a1 }, { 0xc7f5, 0xf7a2 }, { 0xc7f6, 0xf7a3 }, { 0xc7f7, 0xf7a4 }, { 0xc7f8, 0xf7a5 }, { 0xc7f9, 0xf7a6 }, { 0xc7fa, 0xf7a7 }, { 0xc7fb, 0xf7a8 }, { 0xc7fc, 0xf7a9 }, { 0xc7fd, 0xf7aa }, { 0xc7fe, 0xf7ab }, { 0xc840, 0xf7ac }, { 0xc841, 0xf7ad }, { 0xc842, 0xf7ae },
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -