- 博客(14)
- 收藏
- 关注
原创 山东大学软件工程应用于实践——WeaselIME(三)
2021SC@SDUSC了解了一下IME之后,本篇正式开始阅读分析小狼毫WeaselIME包中的文件。上图为WsaselIME包中的文件结构。通过粗略浏览,很多文件当中都引用了WsaselIME.h,因此先阅读分析一下该文件。#pragma once#include <WeaselIPC.h>#include "KeyEvent.h"#define MAX_COMPOSITION_SIZE 256struct CompositionInfo{ COMPOSITIONSTRI
2021-12-20 15:56:17
314
原创 山东大学软件工程应用与实践——WeaselIME(二)
2021SC@SDUSC文章目录IME常用函数IME 文件中的常用结构IME常用函数BOOL WINAPI ImmGenerateMessage( //将汉字串法发送到与当前输入法相关联的应用软件中HIMC hIMC);//成功为TRUE,否则为FALSELRESULT WINAPI ImmRequestMessage( //向应用程序发送WM_IME_REQUEST消息HIMC hIMC, //与当前输入法相关联的应用软件的句柄WPARAM wParam, //与WM_IME
2021-12-15 15:46:19
174
原创 山东大学软件工程应用与实践——WeaselIME(一)
2021SC@SDUSC文章目录IME概述IME工作原理IME命令IME示例从这一篇开始分析WeaselIME包的关键代码。在这里我们先简单了解一下IME。IME概述IME是指Input Method Editors输入法编辑器,它是一种专门的应用程序, 用来输入代表东亚地区书面语言文字的不同字符。一个IMF结构中包含三个主要的部分:input method manager(IMM):管理各部分的交互。它是一个客户端API,存在于各个应用程序的context中,用来沟通管理所有进程间交互的
2021-12-15 15:45:54
221
原创 山东大学软件工程应用于实践——WeaselTSF(三)
2021SC@SDUSC文章目录Register.hRegister.cpp本篇首先分析下WeaselTSF包里Register.h以及Register.cpp这两个文件。Register.h#pragma once#include "Globals.h"BOOL RegisterProfiles();void UnregisterProfiles();BOOL RegisterCategories();void UnregisterCategories();BOOL Registe
2021-11-21 11:37:01
282
原创 山东大学软件工程应用于实践——WeaselTSF(二)
2021SC@SDUSC文章目录TSF的构架图TFS代码实例WeaselTFS.h详解ITfTextInputProcessorEx、ITfTextInputProcessorITfThreadMgrEventSinkITfKeyEventSinkITfContext、ITfEditSessionITfContextComposition、ITfCompositionITfTextEditSink、ITfCompositionSinkITfThreadFocusSinkITfLangBarEventSin
2021-11-21 11:25:19
762
原创 山东大学软件工程应用与实践——WeaselTSF(一)
2021SC@SDUSC文章目录简单介绍WeaselTSF.h从本篇博客开始分析WeaselTFS这个包中的代码。简单介绍WeaselTSF.vcprojThis is the main project file for VC++ projects generated using an Application Wizard.It contains information about the version of Visual C++ that generated the file, andi
2021-11-21 10:57:19
712
原创 山东大学软件工程应用与实践——WeaselUI(五)
2021SC@SDUSC前两篇分析完WeaselPanel.h引用的头文件,这一篇终于可以来看一下WeaselPanel.h以及WeaselPanel.cpp的具体内容。typedef CWinTraits<WS_POPUP|WS_CLIPSIBLINGS|WS_DISABLED, WS_EX_TOOLWINDOW|WS_EX_TOPMOST> CWeaselPanelTraits;class WeaselPanel : public CWindowImpl<WeaselPan
2021-11-21 08:44:28
453
原创 山东大学软件工程应用与实践——WeaselUI(四)
2021SC@SDUSC本篇报告接上一篇来继续研读分析WeaselUI.h文件。#pragma once#include <WeaselCommon.h>namespace weasel{ enum ClientCapabilities { INLINE_PREEDIT_CAPABLE = 1, }; class UIImpl; // // 输入法界面接口类 // class UI { public: UI() : pimpl_(0) {
2021-11-01 08:00:00
84
原创 山东大学软件工程应用与实践——WeaselUI(三)
2021SC@SDUSC文章目录VerticalLayout垂直布局HorizontalLayout水平布局WeaselPanelVerticalLayout垂直布局HorizontalLayout水平布局WeaselPanel
2021-10-25 21:43:56
182
原创 山东大学软件工程应用与实践——WeaselUI(二)
文章目录布局ScreenLayoutFullScreenLayout.h文件weasel命名空间类的继承关系2021SC@SDUSC布局ScreenLayoutFullScreenLayout.h文件FullScreenLayout.h#pragma once#include "StandardLayout.h"namespace weasel{ class FullScreenLayout: public StandardLayout { public: FullScreen
2021-10-25 21:23:31
108
原创 山东大学软件工程应用于实践——WeaselUI(一)
文章目录WeaselUI概括分析代码文件概要解读代码详解targetver.h文件stdafx.h文件详细工作原理遵守的规则2021SC@SDUSCWeaselUI概括分析今天分析一下小狼毫Weasel代码的一个包WeaselUI,这个包主要是界面设计部分的代码。我们可以看到包里的全部文件,其中ReadMe.txt简单介绍了这一部分代码的内容。代码文件概要解读其中WeaselUI.vcproj这个文件这是使用应用程序向导生成的VC++项目的主项目文件。它包含生成文件的VisualC++的版本信
2021-10-25 18:20:26
252
原创 山东大学软件工程应用与实践——RIME输入法配置文件分析
2021SC@SDUSC一.配置文件格式.yaml文件是配置文件,是我们主要修改的一块.例如(default.yaml 是输入法配置文件夹, luna_pinyin.schema.yaml,是luna(明月)输入方案的配置文件).custom.yaml是用户用来自定义配置的内容..bin文件是rime输入法自动生成的, 不需要去动..table.bin 是生成的词库文件(在重新部属的时候会自动生成需要导入词库的.table.bin文件.)二.配置原理在输入法重新部属的时候, 会所需要的设置
2021-10-10 11:39:24
1132
原创 山东大学软件工程应用与实践——RIME输入法综述
2021SC@SDUSCRIME输入法综述1. 项目下载2. 安装配置3. 项目介绍简介历史开发第一期第二期第三期概念4. 任务划分项目构成任务分配1. 项目下载 首先去中州韵输入法引擎官网https://rime.im/下载符合自己要求的输入法压缩包。由于RIME中州韵输入法引擎,是一个跨平台的输入法算法框架,基于这一框架,Rime 开发者与其他开源社区的参与者在 Windows、macOS、Linux、Android 等平台上创造了不同的输入法前端实现。 其中**小狼毫Weasel**适用于
2021-09-29 22:17:18
324
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人