[發明專利]基于嵌入式操作系統的漢字字符混合輸出顯示的實現方法在審
| 申請號: | 201811234915.3 | 申請日: | 2018-10-23 |
| 公開(公告)號: | CN109375962A | 公開(公告)日: | 2019-02-22 |
| 發明(設計)人: | 趙漫菲;姚蕊;李濤;張楊 | 申請(專利權)人: | 北京計算機技術及應用研究所 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445;G06F9/448 |
| 代理公司: | 中國兵器工業集團公司專利中心 11011 | 代理人: | 王雪芬 |
| 地址: | 100854*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 嵌入式操作系統 漢字字符 混合輸出 西文 漢字 嵌入式軟件技術 漢字編碼 漢字庫 驅動層 混排 字體 計算機 研究 | ||
1.一種基于嵌入式操作系統的漢字字符混合輸出顯示的實現方法,其特征在于,包括以下步驟:
第一步:修改字體驅動文件udbmffnt.c,同時要生成中文和字符合一的字體庫;
第二步:通過用戶調用,加載設備驅動、字體引擎;
第三步:基于第二步查找及設置字體屬性;
第四步:基于第一步進行漢字和字符的混顯輸出。
2.如權利要求1所述的方法,其特征在于,第一步具體為:修改udbmffnt.c中的uglBMFTextDrawW()及uglBMFTextSizeGetW函數,然后生成需要的字體,并形成一個字庫,并把字庫形成的點陣數據按照windml中點陣字庫的結構進行提取,最后形成漢字庫適用于windml漢字庫文件,并在該文件中加入英文及字符的定義,從而生成一個可以處理漢字及字符的字體驅動以及中文和字符合一的字體庫。
3.如權利要求2所述的方法,其特征在于,第一步中,修改udbmffnt.c中的uglBMFTextDrawW()及uglBMFTextSizeGetW函數的方式為:將讀入的雙字節指針轉換為一個單字節指針,之后對讀入的文本內容進行解析,程序是對文本的機內碼進行處理的,直接取16位漢字的低8位得到該漢字的機內碼可以對應的位碼,對于漢字來說,其機內碼的高低字節都應該大于等于0xa1,小于0xa1的數按照字符或者英文進行處理,大于等于0xa1的數按漢字進行處理,記錄數在頁表中的位置,對于字符,則處理完后指針右移8位,得到的這個8位數是該漢字的機內碼可以對應的區碼,處理結束后指針按處理的不同類型指向下一個8位或16位的位置。
4.如權利要求3所述的方法,其特征在于,第一步中,用漢字庫生成工具FontPicker.exe生成需要的字體。
5.如權利要求4所述的方法,其特征在于,第一步中,生成需要的字體后形成一個16*16的宋體字庫。
6.如權利要求5所述的方法,其特征在于,第二步中加載設備驅動時調用一個結構體,該結構體定義了鍵盤、鼠標、字體這些設備驅動,在圖形界面初始化時,加載設備驅動以及字體引擎。
7.如權利要求6所述的方法,其特征在于,第二步中,需要加載的設備會在UGL_DISPLAY_CFG結構體中寫好,圖形界面初始化時,用戶的程序入口調用WindMl5.3開發組件中的uglInitialize()函數;這樣通過讀出結構體中的元素獲知加載了哪些設備。
8.如權利要求7所述的方法,其特征在于,第三步中,加載完設備驅動及字體引擎之后,查找及設置字體屬性,其中調用Windml開發組件中的函數uglFontFindString()、uglFontCreate()、uglFontSet()來設置用戶需要的字體類型,大小屬性。
9.如權利要求8所述的方法,其特征在于,第四步中,在用戶應用程序中通過調用Windml組件中經第一步修改后的uglBMFTextDrawW()函數來完成對漢字和字符的混和輸出。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京計算機技術及應用研究所,未經北京計算機技術及應用研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811234915.3/1.html,轉載請聲明來源鉆瓜專利網。





