发明名称 字元高亮处理的方法
摘要 本发明为一种字元高亮处理的方法,其中揭露了一种对游标指向的字元提供所需之高亮位置及范围的技术;根据本发明所揭露之技术,先藉由一查找的流程,如以二分法或累计法寻得游标所在背景字串的正确字元序号,再依序取得所要高亮字元的起始字元序号与终止字元序号,以决定出高亮字元的范围,并根据起始字元序号决定出高亮字元的定位位置,如此便能正确完成任意等间距或不等间距字体字元的高亮处理。
申请公布号 TW440770 申请公布日期 2001.06.16
申请号 TW087121169 申请日期 1998.12.18
申请人 英业达股份有限公司 发明人 宋建福;林光信;郝军
分类号 G06F15/00 主分类号 G06F15/00
代理机构 代理人 许世正 台北巿忠孝东路五段四一○号四楼
主权项 1.一种字元高亮处理的方法,用以对一游标指向的字元提供所要高亮字串的一高亮位置及一高亮范围,包含:取得该游标指向一背景字串之一字元的位置;以二分查找法决定出该字元的序号;由该字元序号依序向前一字元搜寻该高亮字串一起始字元的序号;根据该起始字元序号决定该高亮字串的该高亮位置;以及由该字元序号依序向后一字元搜寻该高亮字串一终止字元的序号,以决定该高亮字串的该高亮范围。2.如申请专利范围第1项所述之字元高亮处理的方法,其中该游标指向的字元为西字元。3.如申请专利范围第2项所述之字元高亮处理的方法,其中该高亮字串为一西文单字。4.如申请专利范围第1项所述之字元高亮处理的方法,其中该二分查找法的步骤更包括:a)设定二分查找的左値为1,右値为该背景字串的总字元数;b)取得中値为该左値加该右値后除以二,并将结果放在一记忆单元中记录为该字元的序号;c)从该背景字串中取出该字元序号之前的复数个字元,并计算出该些字元所显示的宽度;d)判定该些字元宽度是否大于等于所取得的游标指向的该字元位置,若是则进行下步骤,若否则将该记忆单元内的该序号値加1的结果放入该左値并跳回步骤b;e)取该背景字串该游标指向字元序号前减1个字元的显示宽度;以及f)判断步骤e中的该显示宽度是否小于游标指向的该字元位置,若是则结束该二分查找,若否则修改该右値为该序号减1,并跳回步骤2。5.如申请专利范围第4项所述之字元高亮处理的方法,其中进行该步骤b之前更包括判断左値是否大于右値,若是则异常终止流程,表示游标不在该背景字串上。6.如申请专利范围第4项所述之字元高亮处理的方法,其中该显示宽度的计算可以Visual Basic中标签控件的Autosize方法获得。7.如申请专利范围第4项所述之字元高亮处理的方法,其中该显示宽度的计算可以Visual C++中相应的API函数求得。8.如申请专利范围第4项所述之字元高亮处理的方法,其中该高亮范围为该起始字元序号和该终止字元序号之间的字串。9.一种字元高亮处理的方法,用以对一游标指向的字元提供所要高亮字串的一高亮位置及一高亮范围,包含:取得该游标指向一背景字串之一字元的位置;以累计查找法决定出该字元的序号;由该字元序号向左搜寻该高亮字串一起始字元的序号;根据该起始字元序号决定该高亮字串的该高亮位置;以及由该字元序号向右搜寻该高亮字串一终止字元的序号,以决定该高亮字串的该高亮范围。10.如申请专利范围第9项所述之字元高亮处理的方法,其中该累计查找法的步骤更包括:a)设定一初始値;b)将该初始値累计后存入一记忆单元内,记录为该字元的序号;c)从该背景字串中取出该字元序号之前复数个字元,丛计算出该些字元所显示的宽度;以及d)判断该字些字元宽度是否大于或等于游标指向的该字元位置或是已取完所有的字元,若是则结束该累计查找,若否则跳回步骤b。11.如申请专利范围第10项所述之字元高亮处理的方法,其中步骤a中的该初始値设为0,步骤b中累计的方法为将该初始値加1。12.如申请专利范围第10项所述之字元高亮处理的方法,其中步骤a中的该初始値设为该背景字串的总字元数加1,步骤b中累计的方法为将该初始値减1。图式简单说明:第一图绘示本发明字元高亮处理方法的前段流程,以二分查找法的一种实施例;第二图绘示本发明不同第一图流程的另一种实施例的方法;以及第三图绘示本发明字元高亮处理方法的后段流程。
地址 台北巿士林区后港街六十六号