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

📄 qbig5codec.cpp

📁 奇趣公司比较新的qt/emd版本
💻 CPP
📖 第 1 页 / 共 5 页
字号:
/******************************************************************************** Copyright (C) 1992-2007 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://trolltech.com/products/qt/licenses/licensing/opensource/**** If you are unsure which license is appropriate for your use, please** review the following information:** http://trolltech.com/products/qt/licenses/licensing/licensingoverview** or contact the sales department at sales@trolltech.com.**** In addition, as a special exception, Trolltech gives you certain** additional rights. These rights are described in the Trolltech GPL** Exception version 1.0, which can be found at** http://www.trolltech.com/products/qt/gplexception/ and in the file** GPL_EXCEPTION.txt in this package.**** In addition, as a special exception, Trolltech, as the sole copyright** holder for Qt Designer, grants users of the Qt/Eclipse Integration** plug-in the right for the Qt/Eclipse Integration to link to** functionality provided by Qt Designer and its related libraries.**** Trolltech reserves all rights not expressly granted herein.**** 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;};struct B5Index {    const B5Map * table;    ushort tableSize;};// Big 5 to Unicode maping tables.// Tables are in sorted order on X(all table together) & Y(individually)static const B5Map b5_8140_to_uc_map[] = {        /* 0x8140 - 0x8DFE */         {0x8140,0xeeb8},  {0x8141,0xeeb9},  {0x8142,0xeeba},  {0x8143,0xeebb},          {0x8144,0xeebc},  {0x8145,0xeebd},  {0x8146,0xeebe},  {0x8147,0xeebf},          {0x8148,0xeec0},  {0x8149,0xeec1},  {0x814a,0xeec2},  {0x814b,0xeec3},          {0x814c,0xeec4},  {0x814d,0xeec5},  {0x814e,0xeec6},  {0x814f,0xeec7},          {0x8150,0xeec8},  {0x8151,0xeec9},  {0x8152,0xeeca},  {0x8153,0xeecb},          {0x8154,0xeecc},  {0x8155,0xeecd},  {0x8156,0xeece},  {0x8157,0xeecf},          {0x8158,0xeed0},  {0x8159,0xeed1},  {0x815a,0xeed2},  {0x815b,0xeed3},          {0x815c,0xeed4},  {0x815d,0xeed5},  {0x815e,0xeed6},  {0x815f,0xeed7},          {0x8160,0xeed8},  {0x8161,0xeed9},  {0x8162,0xeeda},  {0x8163,0xeedb},          {0x8164,0xeedc},  {0x8165,0xeedd},  {0x8166,0xeede},  {0x8167,0xeedf},          {0x8168,0xeee0},  {0x8169,0xeee1},  {0x816a,0xeee2},  {0x816b,0xeee3},          {0x816c,0xeee4},  {0x816d,0xeee5},  {0x816e,0xeee6},  {0x816f,0xeee7},          {0x8170,0xeee8},  {0x8171,0xeee9},  {0x8172,0xeeea},  {0x8173,0xeeeb},          {0x8174,0xeeec},  {0x8175,0xeeed},  {0x8176,0xeeee},  {0x8177,0xeeef},          {0x8178,0xeef0},  {0x8179,0xeef1},  {0x817a,0xeef2},  {0x817b,0xeef3},          {0x817c,0xeef4},  {0x817d,0xeef5},  {0x817e,0xeef6},  {0x81a1,0xeef7},          {0x81a2,0xeef8},  {0x81a3,0xeef9},  {0x81a4,0xeefa},  {0x81a5,0xeefb},          {0x81a6,0xeefc},  {0x81a7,0xeefd},  {0x81a8,0xeefe},  {0x81a9,0xeeff},          {0x81aa,0xef00},  {0x81ab,0xef01},  {0x81ac,0xef02},  {0x81ad,0xef03},          {0x81ae,0xef04},  {0x81af,0xef05},  {0x81b0,0xef06},  {0x81b1,0xef07},          {0x81b2,0xef08},  {0x81b3,0xef09},  {0x81b4,0xef0a},  {0x81b5,0xef0b},          {0x81b6,0xef0c},  {0x81b7,0xef0d},  {0x81b8,0xef0e},  {0x81b9,0xef0f},          {0x81ba,0xef10},  {0x81bb,0xef11},  {0x81bc,0xef12},  {0x81bd,0xef13},          {0x81be,0xef14},  {0x81bf,0xef15},  {0x81c0,0xef16},  {0x81c1,0xef17},          {0x81c2,0xef18},  {0x81c3,0xef19},  {0x81c4,0xef1a},  {0x81c5,0xef1b},          {0x81c6,0xef1c},  {0x81c7,0xef1d},  {0x81c8,0xef1e},  {0x81c9,0xef1f},          {0x81ca,0xef20},  {0x81cb,0xef21},  {0x81cc,0xef22},  {0x81cd,0xef23},          {0x81ce,0xef24},  {0x81cf,0xef25},  {0x81d0,0xef26},  {0x81d1,0xef27},          {0x81d2,0xef28},  {0x81d3,0xef29},  {0x81d4,0xef2a},  {0x81d5,0xef2b},          {0x81d6,0xef2c},  {0x81d7,0xef2d},  {0x81d8,0xef2e},  {0x81d9,0xef2f},          {0x81da,0xef30},  {0x81db,0xef31},  {0x81dc,0xef32},  {0x81dd,0xef33},          {0x81de,0xef34},  {0x81df,0xef35},  {0x81e0,0xef36},  {0x81e1,0xef37},          {0x81e2,0xef38},  {0x81e3,0xef39},  {0x81e4,0xef3a},  {0x81e5,0xef3b},          {0x81e6,0xef3c},  {0x81e7,0xef3d},  {0x81e8,0xef3e},  {0x81e9,0xef3f},          {0x81ea,0xef40},  {0x81eb,0xef41},  {0x81ec,0xef42},  {0x81ed,0xef43},          {0x81ee,0xef44},  {0x81ef,0xef45},  {0x81f0,0xef46},  {0x81f1,0xef47},          {0x81f2,0xef48},  {0x81f3,0xef49},  {0x81f4,0xef4a},  {0x81f5,0xef4b},          {0x81f6,0xef4c},  {0x81f7,0xef4d},  {0x81f8,0xef4e},  {0x81f9,0xef4f},          {0x81fa,0xef50},  {0x81fb,0xef51},  {0x81fc,0xef52},  {0x81fd,0xef53},          {0x81fe,0xef54},  {0x8240,0xef55},  {0x8241,0xef56},  {0x8242,0xef57},          {0x8243,0xef58},  {0x8244,0xef59},  {0x8245,0xef5a},  {0x8246,0xef5b},          {0x8247,0xef5c},  {0x8248,0xef5d},  {0x8249,0xef5e},  {0x824a,0xef5f},          {0x824b,0xef60},  {0x824c,0xef61},  {0x824d,0xef62},  {0x824e,0xef63},          {0x824f,0xef64},  {0x8250,0xef65},  {0x8251,0xef66},  {0x8252,0xef67},          {0x8253,0xef68},  {0x8254,0xef69},  {0x8255,0xef6a},  {0x8256,0xef6b},          {0x8257,0xef6c},  {0x8258,0xef6d},  {0x8259,0xef6e},  {0x825a,0xef6f},          {0x825b,0xef70},  {0x825c,0xef71},  {0x825d,0xef72},  {0x825e,0xef73},          {0x825f,0xef74},  {0x8260,0xef75},  {0x8261,0xef76},  {0x8262,0xef77},          {0x8263,0xef78},  {0x8264,0xef79},  {0x8265,0xef7a},  {0x8266,0xef7b},          {0x8267,0xef7c},  {0x8268,0xef7d},  {0x8269,0xef7e},  {0x826a,0xef7f},          {0x826b,0xef80},  {0x826c,0xef81},  {0x826d,0xef82},  {0x826e,0xef83},          {0x826f,0xef84},  {0x8270,0xef85},  {0x8271,0xef86},  {0x8272,0xef87},          {0x8273,0xef88},  {0x8274,0xef89},  {0x8275,0xef8a},  {0x8276,0xef8b},          {0x8277,0xef8c},  {0x8278,0xef8d},  {0x8279,0xef8e},  {0x827a,0xef8f},          {0x827b,0xef90},  {0x827c,0xef91},  {0x827d,0xef92},  {0x827e,0xef93},          {0x82a1,0xef94},  {0x82a2,0xef95},  {0x82a3,0xef96},  {0x82a4,0xef97},          {0x82a5,0xef98},  {0x82a6,0xef99},  {0x82a7,0xef9a},  {0x82a8,0xef9b},          {0x82a9,0xef9c},  {0x82aa,0xef9d},  {0x82ab,0xef9e},  {0x82ac,0xef9f},          {0x82ad,0xefa0},  {0x82ae,0xefa1},  {0x82af,0xefa2},  {0x82b0,0xefa3},          {0x82b1,0xefa4},  {0x82b2,0xefa5},  {0x82b3,0xefa6},  {0x82b4,0xefa7},          {0x82b5,0xefa8},  {0x82b6,0xefa9},  {0x82b7,0xefaa},  {0x82b8,0xefab},          {0x82b9,0xefac},  {0x82ba,0xefad},  {0x82bb,0xefae},  {0x82bc,0xefaf},          {0x82bd,0xefb0},  {0x82be,0xefb1},  {0x82bf,0xefb2},  {0x82c0,0xefb3},          {0x82c1,0xefb4},  {0x82c2,0xefb5},  {0x82c3,0xefb6},  {0x82c4,0xefb7},          {0x82c5,0xefb8},  {0x82c6,0xefb9},  {0x82c7,0xefba},  {0x82c8,0xefbb},          {0x82c9,0xefbc},  {0x82ca,0xefbd},  {0x82cb,0xefbe},  {0x82cc,0xefbf},          {0x82cd,0xefc0},  {0x82ce,0xefc1},  {0x82cf,0xefc2},  {0x82d0,0xefc3},          {0x82d1,0xefc4},  {0x82d2,0xefc5},  {0x82d3,0xefc6},  {0x82d4,0xefc7},          {0x82d5,0xefc8},  {0x82d6,0xefc9},  {0x82d7,0xefca},  {0x82d8,0xefcb},          {0x82d9,0xefcc},  {0x82da,0xefcd},  {0x82db,0xefce},  {0x82dc,0xefcf},          {0x82dd,0xefd0},  {0x82de,0xefd1},  {0x82df,0xefd2},  {0x82e0,0xefd3},          {0x82e1,0xefd4},  {0x82e2,0xefd5},  {0x82e3,0xefd6},  {0x82e4,0xefd7},          {0x82e5,0xefd8},  {0x82e6,0xefd9},  {0x82e7,0xefda},  {0x82e8,0xefdb},          {0x82e9,0xefdc},  {0x82ea,0xefdd},  {0x82eb,0xefde},  {0x82ec,0xefdf},          {0x82ed,0xefe0},  {0x82ee,0xefe1},  {0x82ef,0xefe2},  {0x82f0,0xefe3},          {0x82f1,0xefe4},  {0x82f2,0xefe5},  {0x82f3,0xefe6},  {0x82f4,0xefe7},          {0x82f5,0xefe8},  {0x82f6,0xefe9},  {0x82f7,0xefea},  {0x82f8,0xefeb},          {0x82f9,0xefec},  {0x82fa,0xefed},  {0x82fb,0xefee},  {0x82fc,0xefef},          {0x82fd,0xeff0},  {0x82fe,0xeff1},  {0x8340,0xeff2},  {0x8341,0xeff3},          {0x8342,0xeff4},  {0x8343,0xeff5},  {0x8344,0xeff6},  {0x8345,0xeff7},          {0x8346,0xeff8},  {0x8347,0xeff9},  {0x8348,0xeffa},  {0x8349,0xeffb},          {0x834a,0xeffc},  {0x834b,0xeffd},  {0x834c,0xeffe},  {0x834d,0xefff},          {0x834e,0xf000},  {0x834f,0xf001},  {0x8350,0xf002},  {0x8351,0xf003},          {0x8352,0xf004},  {0x8353,0xf005},  {0x8354,0xf006},  {0x8355,0xf007},          {0x8356,0xf008},  {0x8357,0xf009},  {0x8358,0xf00a},  {0x8359,0xf00b},          {0x835a,0xf00c},  {0x835b,0xf00d},  {0x835c,0xf00e},  {0x835d,0xf00f},          {0x835e,0xf010},  {0x835f,0xf011},  {0x8360,0xf012},  {0x8361,0xf013},          {0x8362,0xf014},  {0x8363,0xf015},  {0x8364,0xf016},  {0x8365,0xf017},          {0x8366,0xf018},  {0x8367,0xf019},  {0x8368,0xf01a},  {0x8369,0xf01b},          {0x836a,0xf01c},  {0x836b,0xf01d},  {0x836c,0xf01e},  {0x836d,0xf01f},          {0x836e,0xf020},  {0x836f,0xf021},  {0x8370,0xf022},  {0x8371,0xf023},          {0x8372,0xf024},  {0x8373,0xf025},  {0x8374,0xf026},  {0x8375,0xf027},          {0x8376,0xf028},  {0x8377,0xf029},  {0x8378,0xf02a},  {0x8379,0xf02b},          {0x837a,0xf02c},  {0x837b,0xf02d},  {0x837c,0xf02e},  {0x837d,0xf02f},          {0x837e,0xf030},  {0x83a1,0xf031},  {0x83a2,0xf032},  {0x83a3,0xf033}, 

⌨️ 快捷键说明

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