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