📄 pinyin.h
字号:
/*
******************************************************************
* XIAMEN YAXON NETWORK CO.LTD.
* XINXI BUILDING,HULI,XIAMEN
* (c) Copyright 2002,XIAMEN YAXON NETWORK CO.LTD. ,XIAMEN
* All Rights Reserved
*
* FileName : pinyin.H
* Programmer(s): yanglei
* Description : 2023-3-12
******************************************************************
*/
#ifndef DEF_CHINESE
#define DEF_CHINESE
#ifdef CHINESE_GLOBALS
#define CHINESE_EXT
#else
#define CHINESE_EXT extern
#endif
#define WORD_BASE_ADDR 0x1BC000//整个表单在FLASH的绝对地址
#define PY_GB_BASE WORD_BASE_ADDR+0x0000//表单起始地址
#define GBCODE_BASE WORD_BASE_ADDR+0x1910//汉字起始地址
#define PHRASEINDEX_BASE WORD_BASE_ADDR+0x4048//词组表单起始地址
#define PHRASECODE_BASE WORD_BASE_ADDR+0xa259//词组起始地址
#define PHRASEUSUAL_BASE WORD_BASE_ADDR+0x1475f//常用字起始地址,长度16(8个字)
#define MAX_SEARCH 0x1910
typedef struct {
INT8U pylen;
INT8U chlen; //中文个数
INT8U py[6];
INT8U chinese[200];
}CHINESETBL;
typedef struct {
INT8U pylen;
INT8U key[6];
INT8U py[6];
INT8U chlen; //中文长度,等于中文个数×2
INT8U chstartH; //中文起始下标
INT8U chstartL;
}PYTBL;
//def by yangl
typedef struct { //用来表示词的结构
INT8U wordcodeH; //被选字的ASCII码
INT8U wordcodeL;
INT8U phraselen; //词组长度,等于个数×2
INT8U phrasestartH; //词组起始下标。词表中所放的都是词组字在字表中的偏移地址
INT8U phrasestartL;
}PHRASETBL;
//end def
#define INVALID_SEARCH 0xff
//INT8U SearchChineseByNumber(INT8U *number,INT8U numlen, INT8U *matchedindex);
void GetChineseMessage(INT16U index,CHINESETBL *tbl);
BOOLEAN SearchPhraseByWord(INT16U wordaddr, INT8U* phrasestartaddr, INT8U* PHRNum);
INT8U *HZQuery(INT8U *Input, INT8U key);
CHINESE_EXT INT8U MatchNum;//与输入拼音匹配的个数
CHINESE_EXT PYTBL CurPyTbl;
CHINESE_EXT INT8U matchpy[100][6];//用于存放匹配的拼音集合
CHINESE_EXT INT8U PYTemp[6];
CHINESE_EXT INT8U PYMatchAddr[200];
CHINESE_EXT INT8U PHRMatchAddr[200];
CHINESE_EXT INT16U P_Y_index[100];
CHINESE_EXT CHINESETBL maptable;
CHINESE_EXT INT16U wordaddrbase;
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -