生成字形字庫(kù)的方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及一種生成字形字庫(kù)的方法和系統(tǒng),該方法包括:生成由一個(gè)或多個(gè)字母構(gòu)成的字母序列的方塊字形;創(chuàng)建字母序列與方塊字形之間的對(duì)應(yīng)關(guān)系,以便在輸入字母序列時(shí)顯示對(duì)應(yīng)的方塊字形;配置OpenType字庫(kù)的布局表信息;以及根據(jù)方塊字形、對(duì)應(yīng)關(guān)系及OpenType字庫(kù)配置后的布局表信息,生成字形字庫(kù)。在通用編輯文本軟件上,選擇該字庫(kù)后,自動(dòng)以方塊字形來(lái)替代字母序列。
【專利說(shuō)明】生成字形字庫(kù)的方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于計(jì)算機(jī)文字處理【技術(shù)領(lǐng)域】,更具體地涉及生成字形字庫(kù)的方法和系統(tǒng)。
【背景技術(shù)】
[0002]OpenType字庫(kù)是Microsoft公司和Adobe公司聯(lián)合開發(fā)的一種基于Unicode編碼且與平臺(tái)無(wú)關(guān)的字體格式,它是TrueType字體格式的一種擴(kuò)展,并融合了 PostScript字體技術(shù)。OpenType字庫(kù)在Unicode編碼的大字符集基礎(chǔ)上,采用多語(yǔ)種和多語(yǔ)系的編排方法,以適應(yīng)更多的平臺(tái)和全球性的國(guó)際字符集,此外,在功能上還容納了多項(xiàng)傳統(tǒng)排版軟件才可具備的基本操作,如基線調(diào)整,豎排替換,變體替換等等。OpenType的優(yōu)勢(shì)是其跨平臺(tái)性、支持Unicode字符集和高級(jí)布局特征,能更好的支持國(guó)際化的處理。
[0003]采用漢字顛覆英文,即以中國(guó)書法的風(fēng)格來(lái)書寫英文字母在世界各地收到了廣泛的關(guān)注。但是這種做法還僅限于書法,而在出版書籍時(shí),需要事先刻制模,這將浪費(fèi)大量的人力與物力。
[0004]因此,在本領(lǐng)域中需要一種通用字庫(kù),用戶在選擇該字庫(kù)后,便可以將字母序列顯示為例如形似漢字的方塊字形。
【發(fā)明內(nèi)容】
[0005]為了解決上述問(wèn)題,本發(fā)明提供了一種生成字形字庫(kù)的方法和系統(tǒng),從而在通用文本編輯軟件上完成排版后,選擇本字形字庫(kù),就能夠自動(dòng)地以方塊字形替代字母序列。
[0006]根據(jù)本發(fā)明的第一方面,提供了一種生成字形字庫(kù)的方法,該方法包括:生成由一個(gè)或多個(gè)字母構(gòu)成的字母序列的方塊字形;創(chuàng)建字母序列與方塊字形之間的對(duì)應(yīng)關(guān)系,以便在輸入字母序列時(shí)顯示對(duì)應(yīng)的方塊字形;配置OpenType字庫(kù)的布局表信息;以及根據(jù)方塊字形、對(duì)應(yīng)關(guān)系及OpenType字庫(kù)配置后的布局表信息,生成字形字庫(kù)。
[0007]其中,上述字母可以是英文字母或漢語(yǔ)拼音字母等。
[0008]在生成方塊字形時(shí),可以首先生成每個(gè)字母的字母字形,然后根據(jù)字母序列中包含的各字母的字母字形,來(lái)組合生成字母序列的方塊字形。
[0009]當(dāng)字母序列僅包含一個(gè)字母時(shí),可以通過(guò)一個(gè)字母的字母字形作為字母序列的方塊字形。
[0010]在生成方塊字形之后,可以根據(jù)所生成的方塊字形來(lái)生成初始字庫(kù),以作為生成字形字庫(kù)的基礎(chǔ)。
[0011]在生成初始字庫(kù)時(shí),可以根據(jù)方塊字形來(lái)擬合方塊字形的輪廓,從而生成初始字庫(kù)。
[0012]被配置的布局表信息是指替換子表中的單一替換和合體替換,單一替換使得相同的字母以相同的字母字形替換,以及合體替換使得字母序列以與其對(duì)應(yīng)的方塊字形替換。大寫字母和小寫字母視為所述相同的字母。
[0013]根據(jù)本發(fā)明的第二方面,提供了一種生成字形字庫(kù)的系統(tǒng),包括:方塊字形生成裝置,生成由一個(gè)或多個(gè)字母構(gòu)成的字母序列的方塊字形;對(duì)應(yīng)關(guān)系創(chuàng)建裝置,創(chuàng)建字母序列與方塊字形之間的對(duì)應(yīng)關(guān)系,以便在輸入字母序列時(shí)顯示對(duì)應(yīng)的方塊字形;配置裝置,配置OpenType字庫(kù)的布局表信息;以及字形字庫(kù)生成裝置,根據(jù)方塊字形、對(duì)應(yīng)關(guān)系及OpenType字庫(kù)配置后的布局表信息,生成字形字庫(kù)。
[0014]其中,該字母是英文字母或漢語(yǔ)拼音字母。
[0015]方塊字形生成裝置可以首先生成每個(gè)字母的字母字形,然后根據(jù)字母序列中包含的各字母的字母字形,來(lái)組合生成字母序列的方塊字形。
[0016]當(dāng)字母序列僅包含一個(gè)字母時(shí),以一個(gè)字母的字母字形作為字母序列的方塊字形。
[0017]該系統(tǒng)還可以包括初始字庫(kù)生成裝置,在方塊字形生成裝置生成方塊字形之后,初始字庫(kù)生成裝置可以根據(jù)所生成的方塊字形來(lái)生成初始字庫(kù),以作為生成字形字庫(kù)的基礎(chǔ)。
[0018]初始字庫(kù)生成裝置可以根據(jù)方塊字形來(lái)擬合方塊字形的輪廓,從而生成初始字庫(kù)。
[0019]配置裝置配置布局表中的替換子表的單一替換和合體替換,單一替換使得相同的字母以相同的字母字形替換,以及合體替換使得字母序列以與其對(duì)應(yīng)的方塊字形替換。其中大寫字母和小寫字母視為所述相同的字母。
[0020]根據(jù)本發(fā)明的第三方面,還提供了一種文本編輯系統(tǒng),其安裝有根據(jù)本發(fā)明的第一方面的方法所生成的字形字庫(kù)或根據(jù)本發(fā)明的第二方面的系統(tǒng)生成的字形字庫(kù)。
[0021]在本發(fā)明中,采用了 OpenType字庫(kù)技術(shù),實(shí)現(xiàn)這種字形字庫(kù)的特殊功能。采用該字庫(kù)技術(shù)做成的字形字庫(kù),安裝在支持OpenType字庫(kù)的通用文本編輯軟件上之后,將字體設(shè)置成該字形字庫(kù),選擇英文輸入法輸入字母序列,便可直接顯示對(duì)應(yīng)的方塊字形;也可以將字母序列文本的字體設(shè)置為該字形字庫(kù),文章中的每一個(gè)字母序列都將以對(duì)應(yīng)的方塊字形顯示,并可以打印輸出,極大的縮短了此類書籍出版的時(shí)間。
[0022]附圖簡(jiǎn)要說(shuō)明
[0023]圖1是根據(jù)本發(fā)明實(shí)施方式的字形字庫(kù)生成方法的流程圖
[0024]圖2是英文單詞“ArtWorld”的各字母字形圖;
[0025]圖3是英文單詞“ArtWorld”的對(duì)應(yīng)方塊字形圖;
[0026]圖4是英文單詞“ArtWorld”的拼寫的幾種形式圖;
[0027]圖5是“藝術(shù)界”漢語(yǔ)拼音方塊書法字形圖;以及
[0028]圖6是根據(jù)本發(fā)明實(shí)施方式的字形字庫(kù)生成系統(tǒng)的示意框圖。
【具體實(shí)施方式】
[0029]下面結(jié)合實(shí)施例和附圖對(duì)根據(jù)本發(fā)明實(shí)施方式的生成字形字庫(kù)的方法和系統(tǒng)進(jìn)行詳細(xì)描述。
[0030]在本發(fā)明中,“字母序列”可以包含一個(gè)或多個(gè)字母,該字母序列可以是英文單詞,但并不限于英文單詞。該字母序列可以涉及任何字母的拼寫,如漢語(yǔ)拼音等。
[0031 ] 在本發(fā)明中,“方塊字形”是通過(guò)對(duì)字母序列采用中文書法筆型而構(gòu)成的形似漢字的方塊書法字形。
[0032]首先參照?qǐng)D1,將描述根據(jù)本發(fā)明實(shí)施方式的生成字形字庫(kù)的方法。
[0033]在步驟101中,生成由一個(gè)或多個(gè)字母構(gòu)成的字母序列的方塊字形。可以通過(guò)書寫的方式來(lái)形成該方塊字形,當(dāng)然也可以通過(guò)其他方式,例如通過(guò)計(jì)算機(jī)處理的方式。
[0034]根據(jù)本發(fā)明的一個(gè)實(shí)施方式,可以形成所有字母的字母字形,以及根據(jù)字母序列中包括的字母,由所包括的字母的字形來(lái)組合生成字母序列的方塊字形。但是當(dāng)字母序列僅包括一個(gè)字母時(shí),可以采用該字母的字形來(lái)作為字母序列的方塊字形,或者直接以字母本身形式呈現(xiàn)。
[0035]在書寫字母序列時(shí),每個(gè)字母可以對(duì)應(yīng)一種中文書法筆型結(jié)構(gòu),繼而每個(gè)字母可以用其拼寫字母對(duì)應(yīng)的中文書法筆型組合成一個(gè)形似漢字的方塊書法字形。
[0036]例如,參見(jiàn)圖2,示出了英文單詞“ArtWorld”中各個(gè)字母的字母字形圖。在圖3中,示出了英文單詞“ArtWorld”的對(duì)應(yīng)方塊字形圖。在圖5中,示出了 “藝術(shù)界”漢語(yǔ)拼音的對(duì)應(yīng)方塊字形圖。應(yīng)當(dāng)理解,只要是適用于通過(guò)中文書法筆型組合成形似漢字的方塊字形的任何字母序列,都適用于本發(fā)明。
[0037]在步驟103中,建立每個(gè)字母序列與由該每個(gè)字母序列構(gòu)成的方塊字形之間的對(duì)應(yīng)關(guān)系。通過(guò)二者之間的對(duì)應(yīng)關(guān)系,當(dāng)輸入或選擇某字母序列時(shí),就會(huì)顯示與其對(duì)應(yīng)的方塊字形。如果在步驟101中,沒(méi)有為某個(gè)字母序列形成方塊字形,則直接顯示原字母序列。
[0038]在步驟104中,配置OpenType字庫(kù)中的布局表信息,該布局表信息可以包括有關(guān)的文本、語(yǔ)言、特征等信息。
[0039]在本發(fā)明的一個(gè)實(shí)施方式中,對(duì)于同一個(gè)字母序列可能采用大寫字母表示,也可能采用小寫字母表示,或者采用大小寫字母混排。如圖4所示,對(duì)于英文單詞“ArtWorld”給出了三種表示方法。但是在本發(fā)明中,可以不對(duì)字母序列的大小寫字母進(jìn)行區(qū)分,也就是說(shuō),對(duì)于同一字母序列,無(wú)論其字母是大寫還是小寫,或者采用大小寫混排,都采用同一字母字形來(lái)表示相同的字母。例如,雖然在圖4中以不同的大小寫方式示出了字體為宋體的英文單詞“ArtWorld”,但是不同表示的英文單詞“ArtWorld”中的字母都可以采用圖2所示的字母字形。這樣在生成方塊字形時(shí),不同表示的“ArtWorld”都生成如圖3所示的同一方塊字形。當(dāng)然,在圖2-4所示的實(shí)施方式中,也可以對(duì)大小寫字母進(jìn)行區(qū)分,表示為不同的字母字形,從而構(gòu)成不同的方塊字形。
[0040]在本發(fā)明的一個(gè)實(shí)施方式中,綜合分析此類書法的特點(diǎn)可以利用高級(jí)布局表里的替換子表中的單一替換(輸入的當(dāng)前字符用另外一個(gè)字符字形顯示)和合體替換(輸入的多個(gè)字符用一個(gè)字符字形顯示)來(lái)實(shí)現(xiàn),其中單一替換實(shí)現(xiàn)將相同字母的大小寫用相同字符顯示,合體替換實(shí)現(xiàn)將字母序列用其字母序列對(duì)應(yīng)的方塊字形顯示。
[0041]在步驟105中,生成字形字庫(kù)。將步驟103中建立的對(duì)應(yīng)關(guān)系和在步驟104中配置的布局表信息添加到字庫(kù)中,從而生成OpenType字形字庫(kù)。
[0042]此外,根據(jù)本發(fā)明的一個(gè)實(shí)施方式,還可以包括步驟102。在步驟102中,生成初始字庫(kù)。在生成該初始字庫(kù)時(shí),通過(guò)步驟101生成的方塊字形擬合出字符輪廓來(lái)做成初始字庫(kù)。根據(jù)本發(fā)明的一個(gè)實(shí)施方式,如果在步驟101中,通過(guò)書寫方式生成字母序列的方塊字形,則將書寫好的字稿進(jìn)行掃描,擬合成字符輪廓來(lái)生成初始字庫(kù)。此外,在擬合處字符輪廓之后,還可以通過(guò)字體設(shè)計(jì)人員進(jìn)行檢驗(yàn)精修。生成的初始字庫(kù)作為后期制作字形字庫(kù)的基礎(chǔ)。
[0043]根據(jù)本發(fā)明,每個(gè)字母序列都可以對(duì)應(yīng)的中文書法筆型組合成一個(gè)形似漢字的方塊字形,該字形沒(méi)有Unicode碼,在字庫(kù)中只有這類字符的索引信息。需要注意的是,OpenType字庫(kù)中字形替換子表里涉及到的文本,語(yǔ)言,特征等信息,一定要和涉及到字形替換的輸入字符編碼一致,特征也要和定義的文本一致,因?yàn)轭愃苭ord,txt這類文本編輯軟件,底層文本解釋器是和文本,語(yǔ)言相關(guān)聯(lián)的。比如在某情況下,輸入的都是英文字母,屬于拉丁文本,語(yǔ)言采用缺省的語(yǔ)言即可,字形變體特征在拉丁定義的特征里面選,經(jīng)試驗(yàn)在支持拉丁 OpenType字庫(kù)的文本編輯器上是完全支持該類書法字庫(kù)的這種變形的。
[0044]更進(jìn)一步,為使本發(fā)明具有更好的效果,應(yīng)該盡可能多的書寫字母序列構(gòu)成的方塊書法字形,這主要是因?yàn)楫?dāng)輸入的字母序列在字庫(kù)中不存在對(duì)應(yīng)的方塊書法字形時(shí),將以字母序列字母本身字形呈現(xiàn)。
[0045]因此,本發(fā)明可以使用OpenType字庫(kù)技術(shù)完美解決利用形似漢字的方塊書法字形書寫字母序列此類特殊字庫(kù)的特定需求。采用本方法做出的字庫(kù),能像其他字庫(kù)一樣正常使用,顯示并打印
[0046]參照?qǐng)D6,示出了根據(jù)本發(fā)明實(shí)施方式的生成字形字庫(kù)的系統(tǒng)的原理框圖。該系統(tǒng)包括方塊字形生成裝置601、對(duì)應(yīng)關(guān)系創(chuàng)建裝置603、配置裝置604和字形字庫(kù)生成裝置605。
[0047]在方塊字形生成裝置601中,生成由一個(gè)或多個(gè)字母構(gòu)成的字母序列的方塊字形。當(dāng)然,本發(fā)明也可以通過(guò)書寫的方式來(lái)形成方塊字形。
[0048]根據(jù)本發(fā)明的一個(gè)實(shí)施方式,可以形成所有字母的字母字形,以及根據(jù)字母序列中包括的字母,由所包括的字母的字形來(lái)組合生成字母序列的方塊字形。但是當(dāng)字母序列僅包括一個(gè)字母時(shí),可以采用該字母的字形來(lái)作為字母序列的方塊字形,或者以字母本身形式呈現(xiàn)。
[0049]在對(duì)應(yīng)關(guān)系創(chuàng)建裝置603中,建立每個(gè)字母序列與由該每個(gè)字母序列構(gòu)成的方塊字形之間的對(duì)應(yīng)關(guān)系。通過(guò)二者之間的對(duì)應(yīng)關(guān)系,當(dāng)輸入或選擇某字母序列時(shí),就會(huì)顯示與其對(duì)應(yīng)的方塊字形。如果在方塊字形生成裝置601中,沒(méi)有為某個(gè)字母序列形成方塊字形,則直接顯示原字母序列。
[0050]在配置裝置604中,配置OpenType字庫(kù)中的布局表信息,該布局表信息可以包括有關(guān)的文本、語(yǔ)言、特征等信息。
[0051]在本發(fā)明的一個(gè)實(shí)施方式中,對(duì)于同一個(gè)字母序列可能采用大寫字母表示,也可能采用小寫字母表示,或者采用大小寫字母混排。但是在本發(fā)明中,可以不對(duì)字母序列的大小寫字母進(jìn)行區(qū)分,也就是說(shuō),對(duì)于同一字母序列,無(wú)論其字母是大寫還是小寫,或者采用大小寫混排,都采用同一字母字形來(lái)表示相同的字母。
[0052]在本發(fā)明的一個(gè)實(shí)施方式中,綜合分析此類書法的特點(diǎn)可以利用高級(jí)布局表里的替換子表中的單一替換(輸入的當(dāng)前字符用另外一個(gè)字符字形顯示)和合體替換(輸入的多個(gè)字符用一個(gè)字符字形顯示)來(lái)實(shí)現(xiàn),其中單一替換實(shí)現(xiàn)將相同字母的大小寫用相同字符顯示,合體替換實(shí)現(xiàn)將字母序列用其字母序列對(duì)應(yīng)的方塊字形顯示。
[0053]在字形字庫(kù)生成裝置605中,生成字形字庫(kù)。將對(duì)應(yīng)關(guān)系創(chuàng)建裝置603建立的對(duì)應(yīng)關(guān)系和配置裝置604配置的布局表信息添加到字庫(kù)中,從而生成OpenType字形字庫(kù)。
[0054]此外,根據(jù)本發(fā)明的一個(gè)實(shí)施方式,還可以包括初始字庫(kù)生成裝置602。初始字庫(kù)生成裝置602生成初始字庫(kù)。在生成該初始字庫(kù)時(shí),通過(guò)方塊字形生成裝置601生成的方塊字形來(lái)擬合出字符輪廓來(lái)做成初始字庫(kù)。
[0055]應(yīng)當(dāng)理解,本文以上實(shí)施方式僅僅是示例性的,而非在于限制本發(fā)明的范圍。對(duì)于本領(lǐng)域的技術(shù)人員而言,在不脫離本發(fā)明的精神和食指的情況下,可以做出各種變型和改進(jìn),但是這些變型和改進(jìn)也應(yīng)視為落入本發(fā)明的保護(hù)范圍之中。
【權(quán)利要求】
1.一種生成字形字庫(kù)的方法,包括: 生成由一個(gè)或多個(gè)字母所構(gòu)成字母序列的方塊字形; 創(chuàng)建所述字母序列與所述方塊字形之間的對(duì)應(yīng)關(guān)系,以便在輸入所述字母序列時(shí)顯示對(duì)應(yīng)的方塊字形; 配置01)61117156字庫(kù)的布局表信息;以及 根據(jù)所述方塊字形、所述對(duì)應(yīng)關(guān)系及所述字庫(kù)配置后的布局表信息,生成所述字形字庫(kù)。
2.如權(quán)利要求1所述的方法,其中,所述字母是英文字母或漢語(yǔ)拼音字母。
3.如權(quán)利要求1所述的方法,其中,生成所述方塊字形時(shí),可以首先生成每個(gè)字母的字母字形,然后根據(jù)所述字母序列中包含的各字母的字母字形,來(lái)組合生成所述字母序列的方塊字形。
4.如權(quán)利要求3所述的方法,其中,當(dāng)所述字母序列僅包含一個(gè)字母時(shí),以所述一個(gè)字母的字母字形作為字母序列的方塊字形。
5.如權(quán)利要求1所述的方法,其中,在生成所述方塊字形之后,可以根據(jù)所生成的所述方塊字形來(lái)生成初始字庫(kù),以作為生成所述字形字庫(kù)的基礎(chǔ)。
6.如權(quán)利要求5所述的方法,其中,在生成所述初始字庫(kù)時(shí),可以根據(jù)所述方塊字形來(lái)擬合所述方塊字形的輪廓,從而生成所述初始字庫(kù)。
7.如權(quán)利要求4所述的方法,其中,被配置的所述布局表信息是指替換子表中的單一替換和合體替換,所述單一替換使得相同的字母以相同的字母字形替換,以及所述合體替換使得所述字母序列以與其對(duì)應(yīng)的方塊字形替換。
8.如權(quán)利要求7所述的方法,其中,大寫字母和小寫字母視為所述相同的字母。
9.一種生成字形字庫(kù)的系統(tǒng),包括: 方塊字形生成裝置,生成由一個(gè)或多個(gè)字母所構(gòu)成字母序列的方塊字形; 對(duì)應(yīng)關(guān)系創(chuàng)建裝置,創(chuàng)建所述字母序列與所述方塊字形之間的對(duì)應(yīng)關(guān)系,以便在輸入所述字母序列時(shí)顯示對(duì)應(yīng)的方塊字形; 配置裝置,配置字庫(kù)的布局表信息;以及 字形字庫(kù)生成裝置,根據(jù)所述方塊字形、所述對(duì)應(yīng)關(guān)系及所述'沖6字庫(kù)配置后的布局表信息,生成所述字形字庫(kù)。
10.如權(quán)利要求9所述的系統(tǒng),其中,所述字母是英文字母或漢語(yǔ)拼音字母。
11.如權(quán)利要求9所述的系統(tǒng),其中,所述方塊字形生成裝置可以首先生成每個(gè)字母的字母字形,然后根據(jù)所述字母序列中包含的各字母的字母字形,來(lái)組合生成所述字母序列的方塊字形。
12.如權(quán)利要求11所述的系統(tǒng),其中,當(dāng)所述字母序列僅包含一個(gè)字母時(shí),以所述一個(gè)字母的字母字形作為字母序列的方塊字形。
13.如權(quán)利要求9所述的系統(tǒng),其中,還可以包括初始字庫(kù)生成裝置,在所述方塊字形生成裝置生成所述方塊字形之后,所述初始字庫(kù)生成裝置可以根據(jù)所生成的所述方塊字形來(lái)生成初始字庫(kù),以作為生成所述字形字庫(kù)的基礎(chǔ)。
14.如權(quán)利要求13所述的系統(tǒng),其中,所述初始字庫(kù)生成裝置可以根據(jù)所述方塊字形來(lái)擬合所述方塊字形的輪廓,從而生成所述初始字庫(kù)。
15.如權(quán)利要求12所述的系統(tǒng),其中,所述配置裝置配置所述布局表中的替換子表的單一替換和合體替換,所述單一替換使得相同的字母以相同的字母字形替換,以及所述合體替換使得所述字母序列以與其對(duì)應(yīng)的方塊字形替換。
16.如權(quán)利要求15所述的系統(tǒng),其中,大寫字母和小寫字母視為所述相同的字母。
17.一種文本編輯系統(tǒng),其安裝有根據(jù)權(quán)利要求1-8中任一項(xiàng)所述的方法所生成的字形字庫(kù)或根據(jù)權(quán)利要求9-16中任一項(xiàng)所述的系統(tǒng)生成的字形字庫(kù)。
【文檔編號(hào)】G06F17/30GK104424184SQ201310362059
【公開日】2015年3月18日 申請(qǐng)日期:2013年8月19日 優(yōu)先權(quán)日:2013年8月19日
【發(fā)明者】王玉欣, 張國(guó)榮, 唐英敏 申請(qǐng)人:北大方正集團(tuán)有限公司, 方正信息產(chǎn)業(yè)控股有限公司, 北京北大方正電子有限公司, 北京大學(xué)