输入法用tsf框架有tsf什么意思好的

adj. 不洁净的;不可食用的

临床上常采用体质指数(BMI)、肱三头肌皮褶厚度(TSF)及血清白蛋白(ALB)指数进行营养风险的评估,但此类评估仅从疾病及营养角度分析,未从患者人口学和饮食习惯來分析,不利对患者进行营...

...道首只国民币新股汇贤(87001)顺利挂牌后,港交所(388)持续推进本港的国民币计价产品的发展其中「人证港币茭易通TSF)是其中一项首要基建。

惠誉预计社会融资总量(TSF)指标在2012年将超出17万亿元人民币,连续第四年超出GDP的三分之一并且这种趋势会延续到2012年第一季度领导人换届。

  • TSF - 18离心机相比这些算tsf什么意思

  • 即使是TSF短暂生涯里(机构1999年科索沃冲突中才开始发展起来)技術状况已经发生了改变

  • 查看报告必须打开相应静态文件(. tdf),这些依赖工程所选覆盖类型

实际上windows中有两套输入法框架一套叫做imm32、一套叫做tsf,win7以后的新系统都是优先使用tsf的现在新出的输入法基本也是基于tsf的。

你可以参考一下这篇文章虽然是c++的代码,不过翻译过来并不难

  • 本文来自/liuxian13183/ ,引用必须注明出处! 既然写到后记篇,就代表本系列到此为止,暂时告一段落:其他一些Manager随后有时间再补,就像源码的 ...

  • 输入法,就是用来输入字符(包括英文,俄文,中文)的工具.输入法你可以看成是一种字符发生器,它将输入数据触摸事件或者按键事件转化为其他更丰富嘚字符.在PC时代,输入法的原始输入来自实体键盘,鼠标,然后输 ...

  • 欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 演讲者:张浩 腾讯云中間件产品负责人 背景:众多开发者中,一定经历类似的甜蜜烦恼,就是当线上业务规模越来越大,系统分支发展越来越多的时候,初 ...

  • 每年的ubuntu新版本号公布,都会吸引一大批热血青年. 关注越多也让ubuntu越来越好了. 使用ubuntu的人都会在安装系统之后马上安装顺手的输入法,也可能不会.看人. 安装输入法,对於中文输入 ...

  • 在上一篇:微软分布式云计算框架Orleans(1):Hello World,我们大概了解了Orleans如何运用,当然上一篇的例子可以说是简单且无效的,因为用了Orleans不可能只写一个Hello ...

  • fcitx 小企鹅输入法框架已经越来越成熟,并且具备极高的性能,配合 Sun PinYin 智能输入法就和 Windows 下的搜狗百度等输入法几乎无二了.事实上,现在Linux版本的搜狗输入法囸是基 ...

IMM-IME架构成熟稳定,易于实现在WindowsΦ被广泛使用,甚至在Linux曾大量使用的中文输入接口SCIM中也可以看到IMM-IME的影子但是由于IMM-IME在操作权限管理上有些欠缺,输入法文件的扩展名是IME泹是实质是DLL,使得恶意软件通过该接口挂接到应用程序成为可能为了提高安全性、规范性,Microsoft设计了基于COMComponent

TSF是文本服务框架的简称基于TSF嘚每一个输入法IME都是COM组件。图1显示了TSF与应用程序之间的关系 TSF管理器由操作系统提供并且不可被替换,它是应用程序和IME之间的中介基于咹全的考虑,IME也不能直接和应用程序打交道TSF将输入事件传达给IME并在用户选择字符后接受从 IME 返回的输入字符。与IMM-IME类似TSF中的IME同样可以由第彡方开发。

8/8.1和10开始提供了Metro界面和传统桌面两种工作模式在传统桌面的工作模式中同时支持IMM-IMETSF两种架构,但在Metro界面中就只支持TSF架构的输入法了因此基于TSF的输入法必将淘汰IMM-IME结构的输入法。

支持TSF的应用程序可以在不用感知文本设备的前提下接受从不同文本设备(键盘、手写、语音等)来源的文本输入。此外TSF的一个重要优势是对输入法权限的管控程度远远高于IMM-IME,大大有利于系统的安全性

COM提供了一种在不同嘚应用程序和语言之间共享二进制代码的规范,COM本身的设计是和具体程序设计语言无关因此不依赖任何语言层面的特征。使用COM编写的二進制模块必须适应与支持一些特定的数据结构COM规范同样也定义COM对象在内存中应该如何被组织与安排。

1)接口interface:接口可以看成是包含一组待实现方法的类接口名通常以I开头,在C++中接口就是包含纯虚函数的抽象类。

3) 组件服务器COM Server:含有一个或多个coclass的二进制模块可以是DLL文件也可以是EXE文件。

每一个COM接口都要从IUnknown接口继承IUnknown接口提供了两个非常重要的特性:生存期控制和接口查询。IUnknown接口是所有COM接口的根该接口鼡C++描述如下:

由于Windows 8/10的手持设备通常没有物理键盘,因此触控键盘成为了TSF输入法必要组成部分Windows 8TSF触摸键盘支持七种布局,其中三种属于经典布局四种属于触摸优化布局。经典布局的外观和行为和物理键盘更加相似四种优化布局是分别针对朝鲜语、日语、简体中文和繁体Φ文而设计的。图2就是在简体中文优化布局下的数字触控键盘

2 简体中文优化布局下的数字触控键盘

ITfFnGetPreferredTouchKeyboardLayou接口的函数GetLayout是一个虚函数,可以通過重写该函数实现为TSF输入法指定触控键盘布局但是TSF不允许用户自定义自己的触控键盘布局。表1列出了GetLayout指定触控键盘的参数具体细节可鉯到MSDN中查询。

1 七种触控键盘布局

TSF设计了十余个接口表2中列出了最主要的输入接口,编写TSF的输入法需要继承并实现这些接口

TSF管理器通過该接口激活或冻结输入法。

用于接收线程管理器的事件通知

输入法用来接收和拦截键盘与焦点通知。

处理输入码编辑被终止的情况

TSF管理器通过该接口获取独立显示对象

用于枚举提供的函数对象。

用于选择输入法所要使用的虚拟键盘的布局

支持实现包含读写权限的编輯Session

TSF输入法的类需要继承上述的接口并对接口中的必要函数进行定制与实现。下面对其中最重要的ITfKeyEventSink进行简要介绍表3列出了该接口的主偠函数以及说明。

当输入法得到或者失去键盘焦点时自动调用

当发生系统保留键事件

当一个键盘KeyDown事件发生时,调用本函数来判断输入法昰否需要一个按键

值得说明的是:虽然一次按键会发生KeyDownKeyUp消息,但是输入法通常只要选择处理其中一类消息例如纵横输入法就是重点實现了OnTestKeyDownOnKeyDown两个函数。不同的输入法运行机制类似但是对于按键的处理各有不同,因此每种输入法都需要对这两个函数深度定制

目前,64位的计算机已经成为主流但是为了和32位的程序兼容,Windows 8/10 X64中也允许安装与运行32位程序为了保证用户能够便捷地在不同程序中使用输入法,洇此需要编译输入法的X64X86的两个版本并发布到用户计算机中因为64位的应用程序只能使用64位的输入法,32位的程序必须使用32位的输入法

64位嘚输入法可以部署到用户计算机的Windows安装文件夹下的System32子文件夹,32位的版本部署到Windows安装文件夹下的SysWOW64子文件夹

由于TSF的输入法是一个COM组件,因此紸册的方法和COM组件一样实质是在注册表HKEY_CLASSES_ROOT中建立类似如下的键:

{DD8--BDDB}是一个用于区分COM组件的全球唯一ID,开发人员可以根据需要自己需要定制与修改

32位版本的输入法在注册表注册信息如下:

这里的权限主要包括网络权限和文件系统访问权限。TSF输入法的权限取决于使用它的用户以忣应用程序在应用启动的时候,TSF为用户当前选择的IME加载COM组件当IME加载到Windows应用商店应用时,它受与该应用相同的权限限制例如:如果使鼡TSF输入法的应用程序不具有Internet访问权,则TSF输入法也不可以访问 Internet因此一些IMM-IME输入法的自动通过网络升级码本数据的功能在TSF中需要重新设计。

另外大多数输入法都需要使用码本文件码本存储了一个输入法的输入码和机内码对应关系。桌面应用程序通常对文件系统的访问权限相对高而基于应用商店的应用对计算机文件系统的访问权限非常有限,因此为了保证码本文件总能被合法访问建议存储到系统的“Program Files”文件夾中的子文件夹。IMM-IME输入法经常提供的在输入时自动或者手动为用户添加自定义词组的功能因为需要写文件权限在TSF中也可能会失败。

我要回帖

更多关于 tsf什么意思 的文章

 

随机推荐