TW201007477A - Method for customizing font - Google Patents

Method for customizing font Download PDF

Info

Publication number
TW201007477A
TW201007477A TW097130869A TW97130869A TW201007477A TW 201007477 A TW201007477 A TW 201007477A TW 097130869 A TW097130869 A TW 097130869A TW 97130869 A TW97130869 A TW 97130869A TW 201007477 A TW201007477 A TW 201007477A
Authority
TW
Taiwan
Prior art keywords
font
file
user
character
picture
Prior art date
Application number
TW097130869A
Other languages
English (en)
Inventor
Fred Chen
Dafy Zhong
Gordon Liou
Original Assignee
Inventec Besta Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inventec Besta Co Ltd filed Critical Inventec Besta Co Ltd
Priority to TW097130869A priority Critical patent/TW201007477A/zh
Publication of TW201007477A publication Critical patent/TW201007477A/zh

Links

Landscapes

  • Document Processing Apparatus (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

201007477 九、發明說明: 【發明所屬之技術領域】 本發明是有關於一種供用戶自定義字體之方法,特別是有關 於一種讓用戶以字元圖片打包成字體槽於欲入式系統中使用的技 術領域。 【先前技術】 隨著嵌入式裝置(掌上型數位助理)的存儲容量越來越大,用戶 對嵌入式裝置的功能也越來越多。其中,嵌入式裝置個人化便是 其中一項受重視的功能。許多用戶喜歡用可以代表其個性的特殊 字體’雖然嵌入式裝置上有很多種字型字體可供用戶下載,但仍 不夠滿足一些用戶對更個性化字體的的需求,如親筆字體等。 在習知技藝中’嵌入式裝置可以通過制定特殊的腳本 (script) ’逐個使用圖片來顯示一些字元(character),但圖片的顧示 不具備字形檔顯示的基本特點。顯示此種圖片的資料中亦需要再 特別指定圖片資源’而且此種傳統的圖片資源的顯示手法需要大 量的運算,對於性能限定的嵌入式裝置中不一定可以快速地使用 圖片來顯示字元。因此’如何兼顧讓用戶在嵌入式裝置上可自行 定義字體有不會消耗過多資源是一項丞待解決的問題。 【發明内容】 有鑑於上述習知技藝之問題,本發明之其中一目的就是在提 供一種供用戶自定義字體之方法,以提高嵌入式系統擴充字體的 便利性。 5 201007477 輝不㈣《目的,提出一麵用戶自定義字體之方法,適 2-嵌人m該供用戶自定義字體之方法包含下列步驟。 —,提供至少-字元圖片,再解析字元圖片的文件名,以取得 子凡圖片所對應的字元碼,並讀取字元圖片的文件數據。接著, 將至少-字元圖片打包成—字體播,以及將字如碼及文件數據 記ΐ於字體獅索引。當用戶選擇制此字體時,根據-欲顯示 的子7L碼’對字體權的索引進行檢索,當檢索匹配時,自字體構 *巾取得職此欲顯示字元顯字元® >1並顯示。 ® 其巾’字元圖#之文件名係包含字元碼。 其中’此方法更包含提供—對照表,騎絲記錄該字元圖 片之文件名無字元碼之對細係,祕據此賴絲取得此字 元圖片所對應的字元碼。 其中’此方法更包含將該至少一字元圖片所公用的調色板資 訊和字高資訊儲存於字體檔中。 其中’在用戶選擇使用該字體之步驟,更包含純入式系統 〇 執行一内建用以讀取字體的應用程式介面函數(API)。 承上所述,依本發明之供用戶自定義字體之方法,其可具有 一或多個下述優點: (1) 本發明可輸入用戶製作的圖像資源作為字元圖片,並以目 錄名區分字體類型,或以檔案名對應上字元碼,並將字元圖片資 訊中重複冗餘的部分僅保存一份作為公用資訊,此舉可降低嵌入 式系統使用使自定義字體的負擔。 (2) 本發明使用字體檔的索引及去除了很多冗餘的資訊,以避 免的不必要過濾和解析處理,加上以字體類型為單位在緩衝區集 201007477 =理’軌鮮的加細像魏,可提高雜齡速度, 疋用於運算能力有_嵌人_置_戶字義應用。 ⑶根據本發騎產生的字_可用於字體的統—介面函數 (I〇NT AH贿,料需躲以_字_賴用層的程 式’從而保證了已經發佈出去的應用程式能夠二進位相雜 compatible)。 【實施方式】 請參閱第1 ,其係為本發明之供用戶自定義字體之方法之 步驟流程圖。圖中’供用戶自定義字體之方法包含下列步驟。圖 中’在步驟11提供至少-字抑片’例如表—所示的分別顯示" 我"、"的"、”字"、”体”、"A"、”B”、,,c”及”D"的8張用戶手寫字 元圖片。相同類型的字元圖片可儲存於同一目錄,且目錄名稱可 包含此些字元圖片的字體類型名稱。 字元圖片 W - fjn 文件名 ISN_0x6211.b mp ISN__0x7684.b mp ISN_0x5b57.b mp ISN—0x4f53.bm p 字元圖片 A B G 文件名 ISN一 65.bmp ISN 66.bmp ISN_67.bmp ISN—68.bmp 表一 接著在步驟12解析字元圖片的文件名,以取得字元圖片所對 應的字元碼,並讀取字元圖片的文件數據。此文件數據係包含字 7 201007477 元圖片的寬度高度以及檔案偏移量(offset)。而在步驟13將至少 一字元圖片打包成一字體檔’以及將字元碼及文件數據記錄於字 體檔的索引。其中’此字體檔的索引可以一具備快速查找能力的 資料結構來記錄’例如紅黑樹資料結構(RedBlackTree),以提高 之後此索引進行檢索的速度。 字元圖片之文件名視需要可包含字元碼,例如在表一中,,,体 "字元圖片的文件名為ISN一0x4f53.bmp,"4f53"為”体"的字元碼,
"D”字元圖片的文件名為ISN一68.bmp,”68”為"D"的字元瑪,藉此 可加快此字體檔的索引的產生。此外,在執行步驟12之前亦可包 含提供一對照表,此對照表記錄字元圖片之文件名與字元碼之對 應關係,而執行步驟12時係根據此對照表以取得字元圖片所對應 的字元碼。 " 此外,在步驟13打包字體檔時,亦可將至少一字元圖片所公 用的調色板資訊和字高資訊儲存於字體檔中。藉此,可加速之& 應用此字體檔時的檢索速度。而字體檔產生之後,亦可對字體檔 進行壓縮,以縮小其資料量。 在步驟14當該用戶選擇使用該字體時,根據一欲顯示 對該子體槽的索引進行檢索,並於步驟ls判斷檢索是否匹配。 其中’當字體標的索引係以紅黑樹資料結構(RedBlaek ,錄時’财㈣14可制-最近最久未賴轉 =mly Used ’ LRU) ’並搭配一緩衝區來進行檢索。當配 時’在步驟I6從字體槽中取得對應欲顯示字元碼的字片、 不’如第2圖所示。在第2圖中,第1行及第2行传顯干表、中 的8個字體,而第3行為—般標準字體。仃_不表-中 8 201007477 凊參閱第3圖’其係為本發明之供用戶自定義字體之方法產 生字體其索引之實施例之步驟流程圖。圖中,此實施例由開 始展開,繼之,在步驟31判斷是否有指定的欲打包字元圖片清單, 若是’則執行步驟32。若否,則在步驟33判斷是否有指定的合法 i錄或私,若^ ’則闕祕步驟,若是,則在步驟%掃描此 口法目錄内的文件以產生—欲打包字元圖片清單,並執行步驟%。 在步驟32 ’解析子元圖片的文件名,以取得字元圖片所對應 〇的字元碼丄並讀取字元圖片的文件數據。其中,當字元圖片之文 件名包含字70碼’則解析字元圖片的文件名便可取得字元圖片所 ,應的子元碼胃子元圖片之文件名無包含字元瑪則步驟32執 行需要-記錄字元圖片之文件名與字元碼之對應_的對照表, 並於此對照表中查詢每一對應字元圖片的字元碼。 在步驟35將至少-字元圖片打包成一字體樓,以及將字元碼 及文件數據記錄於字體槽的索引。此字麵的索引可使用一具備 快速查找能力的資料結構來記錄,例如紅黑樹資料結構(制施洗 Tree) ’以提高之後此索引進行檢索的速度。接著,在步驟%判斷 此字體檔及其索引是否需壓縮,若否,職行步驟37輸出此字體 檔及其索引’接著結束此流程。 若此字體觀其糾需魏,則在步驟38 壓縮演算 法,而在步驟39對字義及其索引進行壓縮,接著進行步驟^。 請參閱第4圓’其係為本發明之供用戶自定義字體之方法使 用自定義字體之實施例之步驟_圖。圖中,麟程由開始展開, 繼^,在步驟41執行-字體應用程式介面函數伽聰),以取得 -子體來顯tf。此字體制程式介面函數可為嵌人絲統中内建 9 201007477 統一的介面函數’如表二所示的c或C++語言中的字型介面函數。 由於透過本發明之方法來製作的字賴可使用字體的統一介面函 數(FONT API)進行操作’並不需要修改到使用字體顯示應用層得 程式’從而保證了已經發佈出去的應用程式能夠二進位相容 (binary compatible)。藉此,可滿足用戶對字型的任意特殊的自定 義要求,且在編輯和製作自定義過程也不再需要複雜的字體 描述軟體。 - 與字型相關的介面函數 1 JJSHORTGetCharWidth( USHORT ch, USHORT fonttype) 2 USHORT GetFontHeight( USHORT fonttvne、 3 4 USHORT GetFontMatrix( USHORT ch, PUCHAR buffer, USHORT fonttype) USHORT WnteChar(SHORT x,SHORT y,USHORT ch, USHORT operate) —在步驟U ’判斷所操作的字體是否為下載字體,若是,則進 行=驟43 ’右否’則進行步驟μ使用預設字體料的備用方案, 或疋報σ錯誤独字元,例如” ? ”替鋪示等,接著結束此流 程。 若所操作的子體為下載字體,則在步驟43以一最近最久未使 用(LHIJ)/冑算法查詢此字體是^已經加翻緩衝區中。若此字 體已、’呈加載到緩衝區巾,則進行步驟Μ,若否,則進行步驟奶 加載此字體的侧資料至緩衝區’並在步驟47饋是否加載成 ❹ Ο 201007477 功,若是,則進行步驟45,若否,則進行步驟44。 在步驟45取得緩衝區的數據節點,並調整咖鍵表,接著 在步驟48提供下載子體數據服務,以顯示出如第2圖所示 面。結束此流程。 過3實施例’可朗本發明可輸域戶製作_像資源 子疋,並以目錄名區分字體類型,或以槽案名對應上字 兀此舉可降低使用者自定義字體的娜度。再者,本發明使 用字體標的索弓丨及絲了很多冗餘的資訊,以避免的不必要過渡 和解析處理。此外,字體類型可為單位在緩衝區集中管理,避免 ,,的加載圖像資源’可提高字體顯示速度’制是用於運算能 ^有限的故人式裝置的用戶字體的應用。此外,本發明所產生的 字體檔可祕字_統—介面錄(F〇NT綱進行操作並不需 要修改到使用字體顯示應闕的程式,從聽證了已經發佈出去 的應用程式能夠二進位相容。 X上所制|為舉雛,*非為限制性者。任何未脫離本發明 之精神與範可,而對其進行之等效修改或變更,均應包含於後附 之申請專利範圍中。 【圖式簡單說明】 第1圖係為本發明之供用戶自定義字體之方法之步驟流程圖; 第2圖係為本發明之用戶自定義字體之顯示示意圖; 第3圖係為本發明之彻戶自定義字體之方法產生字雜及其索 引之實施例之步驟流程圖;以及 201007477 第4圖係為本發明之供用戶自定義字體之方法使用自定義字體之 實施例之步驟流程圖。 【主要元件符號說明】 11-16、31〜39、41〜49 :步驟流程。 〇 ❿ 12

Claims (1)

  1. 201007477 十、申請專利範圍: 種供用戶自定義字體之方法’ _於—欲以系統,該供 用戶自定義字體之方法包含: 提供至少一字元圖片; —解析該字元則的文件名,以取得鮮元® >1所對應的 字70碼,並讀取該字元圖片的文件數據; 將該至少一子元圖片打包成一字體檔,以及將該字元碼 及該文件數據記錄於該字體檔的索引; 當該用戶選擇使用該字體時,根據一欲顯示的字元碼, 對該字體檔的索引進行檢索;以及 當該檢索匹配時,自該字體檔中取得對應該欲顯示字元 碼的字元圖片並顯示。 2.如申請專利範圍第1項所述之供用戶自定義字體之方法,其 中該字元圖片之文件名係包含該字元碼。 Ο 3.如申請專利範圍第1項所述之供用戶自定義字體之方法,更 包含提供一對照表,該對照表記錄該字元圖片之文件名與該 字元碼之對應關係’而根據該對照表以取得該字元圖片所對 應的字元碼。 4. 如申請專利範圍第1項所述之供用戶自定義字體之方法,其 中該字元圖片的文件數據包含該字元圖片的寬度高度以及 檔案偏務量(offset)。 5. 如申請專利範圍第1項所述之供用戶自定義字體之方法,更 包含將該至少一字元圖片所公用的調色板資訊和字高資訊 13 201007477 儲存於該字體檔中。 6. ^申請專利範_丨項所述之供用戶自定義字體之 ί至少—字元圖片係存於—目錄,且該目錄之名稱係包乂 該予元圖片之字體類型。 ’、3 ^申請專利範圍第丨項所述之供用戶自定義字體之方法 產生該字雜之步驟更包含賴字_進行壓縮。、
    8. 如申請專利範圍第丨項所述之供用戶自定義字 :在該用戶選擇使用該字體之步驟,更包含由嵌人式系統執 行一内建用以讀取字體的應用程式介面函數(^j)。 9. 如申請專利範圍^ (項所述之供用戶自定義字體之方法,其 中該字體構的索引係以一具備快速查找能力的資料結構來 記錄。 10.如申請專利範圍第丨項所述之供用戶自定義字體之方法其 中於該字體槽的索引進行檢索的步驟更包含使用一最近最 久未使用演算法(Least Recently Used,LRU),並搭配一緩 衝區來進行檢索。
TW097130869A 2008-08-13 2008-08-13 Method for customizing font TW201007477A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW097130869A TW201007477A (en) 2008-08-13 2008-08-13 Method for customizing font

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW097130869A TW201007477A (en) 2008-08-13 2008-08-13 Method for customizing font

Publications (1)

Publication Number Publication Date
TW201007477A true TW201007477A (en) 2010-02-16

Family

ID=44827068

Family Applications (1)

Application Number Title Priority Date Filing Date
TW097130869A TW201007477A (en) 2008-08-13 2008-08-13 Method for customizing font

Country Status (1)

Country Link
TW (1) TW201007477A (zh)

Similar Documents

Publication Publication Date Title
US9286059B2 (en) Information processing device and difference generating for software patching system
CN103500186B (zh) 一种在浏览器中进行图片加载的方法、装置和浏览器
JP5707647B2 (ja) 音声ファイルまたはビデオファイルを取り込むための方法および移動電話
CN109885324B (zh) 一种应用程序安装包的处理方法、装置、终端及存储介质
US20150126288A1 (en) Information processing device, program, and recording medium
US20080222232A1 (en) Method and Apparatus for Widget and Widget-Container Platform Adaptation and Distribution
CN113066515B (zh) 一种光盘刻录方法、计算设备及可读存储介质
US7430565B2 (en) Information processing apparatus, information processing method, and computer program
JP2006506747A5 (zh)
US20130067237A1 (en) Providing random access to archives with block maps
US20150126284A1 (en) Information processing device, data structure of game data, and recording medium
JP2007052703A (ja) テストシナリオ作成プログラム、テストシナリオ作成装置、テストシナリオ作成方法
CN106886568B8 (zh) 一种分表方法、装置及电子设备
CN101477516B (zh) 一种电子数据处理方法和系统
US10052555B2 (en) Information processing device, data structure of game data, and recording medium
US20080303839A1 (en) Facilitating caching in an image-processing system
WO2020078323A1 (zh) 水印嵌入方法、装置、终端及存储介质
WO2017148194A1 (zh) 一种图片展示方法、装置及电子设备
WO2011020259A1 (zh) 供用户自定义字体的方法
TW201007477A (en) Method for customizing font
CN110188211B (zh) 一种应用于安卓车载系统快速加载多媒体应用列表的方法
JP6178119B2 (ja) データ移行システム、及びデータ移行方法
TW201342233A (zh) 手機內外資源統一管理方法及系統
US11983177B2 (en) Information processing device and file access method
CN112988737B (zh) 数据存储方法及装置、数据获取方法及装置、电子设备