欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

字體字符的放大的制作方法

文檔序號(hào):6568960閱讀:466來源:國(guó)知局
專利名稱:字體字符的放大的制作方法
字體字符的放大扭旦 冃足諸如文字處理程序、電子表格程序和/或公式編輯器等軟件應(yīng)用程序需要顯示 和打印數(shù)學(xué)等式的能力。為了正確地顯示較大或較復(fù)雜的等式,某些數(shù)學(xué)字符可能 需要在水平方向或垂直方向上增長(zhǎng)以容納等式的組成部分。例如, 一組圓括號(hào)可能 需要在垂直方向或水平方向上增長(zhǎng)以容納較長(zhǎng)的表達(dá)式。類似地,平方根符號(hào)可能 需要在垂直或水平方向上放大以匹配根號(hào)下的自變量的大小。其他這樣的數(shù)學(xué)字符 包括方括號(hào)或花括號(hào)(水平和垂直)、箭頭、撇號(hào)等。盡管典型的字體可包含各種大小的眾多數(shù)學(xué)字符,但它不可能包括每個(gè)可能 的所需字符和大小的預(yù)定義的變型。而且,盡管可能將單個(gè)數(shù)學(xué)字符復(fù)制到圖形程 序中,并使用常規(guī)手段拉伸該字符,但當(dāng)前的公式編輯器(諸如文字處理程序中的 那些)不允許在公式內(nèi)拉伸單個(gè)字符。相反,每一字符是一字體的一部分,諸如全真字體(truetype),且當(dāng)前不存在允許在一個(gè)方向上(即,垂直或水平)相對(duì)于 該字體內(nèi)的其余字符放大或增長(zhǎng)一字符的字體。概述以上和其他問題由放大文檔內(nèi)的字符,諸如公式內(nèi)的單個(gè)數(shù)學(xué)字符的系統(tǒng)和 方法解決。在各實(shí)施例中,字符的所需大小被確定,并進(jìn)一步作出關(guān)于與該字符相 關(guān)聯(lián)的字體是否也包含該字符具有所需大小的現(xiàn)有或預(yù)定義的變型。如果確定該字 體不包括該字符具有所需大小的任何預(yù)定義變型,則從與字體一起存儲(chǔ)的多個(gè)組成 部分,即"字形"("字形"是存儲(chǔ)在字體中的字符或字符的一部分的圖形表示) 組裝字符。這些組成字形可包括添加到所組裝的字符以便達(dá)到所需大小的多個(gè)延長(zhǎng) 器。另外,在一個(gè)實(shí)施例中,每一組成字形包括至少一個(gè)直線連接器,其中相鄰的 連接器部分重疊相等的量以便維持放大后字符的對(duì)稱性。在另一實(shí)施例中, 一種字體包括含有特定字體字符的放大變型的記錄以及在 沒有具有所需大小的預(yù)定義變型可用時(shí)用于組裝放大的字符的組成字形的部分記 錄的表。在一個(gè)實(shí)施例中,該表包括可在垂直或水平方向上放大的字符的計(jì)數(shù)值。該表也可包括每一組成字形的前進(jìn)值(指定字形在垂直或水平方向上延長(zhǎng)的距離), 以及各個(gè)組成字形的端部處的連接器的最小重疊值。以下描述的各個(gè)實(shí)施例可被實(shí)現(xiàn)為計(jì)算機(jī)進(jìn)程、計(jì)算系統(tǒng)或作為諸如計(jì)算機(jī) 程序產(chǎn)品或計(jì)算機(jī)可讀介質(zhì)等制品。計(jì)算機(jī)程序產(chǎn)品可包括由計(jì)算機(jī)系統(tǒng)可讀且編 碼用于執(zhí)行計(jì)算機(jī)進(jìn)程的指令的計(jì)算機(jī)程序的計(jì)算機(jī)存儲(chǔ)介質(zhì)。計(jì)算機(jī)程序產(chǎn)品也 可以是可由計(jì)算系統(tǒng)讀取的且編碼用于執(zhí)行計(jì)算機(jī)進(jìn)程的指令的計(jì)算機(jī)程序的載 波上的傳播信號(hào)。通過閱讀以下詳細(xì)描述并審閱相關(guān)聯(lián)的圖,這些和各個(gè)其它特征和優(yōu)點(diǎn)將是 顯而易見的。盡管提供該概述來以簡(jiǎn)化形式介紹將在以下進(jìn)一步描述的一些概念, 但它不旨在標(biāo)識(shí)所要求保護(hù)的主題的實(shí)質(zhì)特征,它也不旨在用于幫助確定所要求保 護(hù)的主題的范圍。附圖簡(jiǎn)述

圖1是示出本發(fā)明的需求的示例性等式。圖2示出了可在其上實(shí)現(xiàn)本發(fā)明的實(shí)施例的合適的計(jì)算系統(tǒng)環(huán)境的示例。 圖3示出了根據(jù)本發(fā)明的實(shí)施例、從字符部分對(duì)放大的數(shù)學(xué)字符的組裝,其一部分被放大以更好地示出放大字符的組成字形。圖4示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例結(jié)合到一字體中的三個(gè)表。圖5是根據(jù)本發(fā)明的實(shí)施例示出用于將放大的數(shù)學(xué)字符插入到文檔中的過程的操作特征的流程圖。圖6是根據(jù)本發(fā)明的實(shí)施例示出用于組裝放大的數(shù)學(xué)字符的過程的操作特征的流程圖。圖7示出了根據(jù)本發(fā)明的實(shí)施例包含在一字體內(nèi)的各表中的信息的示例。 詳細(xì)描述圖1A和1B示出了對(duì)具有增長(zhǎng)的能力以在等式內(nèi)包括延長(zhǎng)的數(shù)據(jù)或自變量的 數(shù)學(xué)字符的需求。具體地,圖1A中的等式102是根據(jù)其自變量x的值采用不同的 公式的函數(shù)/(3^的示例。圖1A中的標(biāo)準(zhǔn)大小花括號(hào)104太小以至于不能完全描繪 /fx」可采用的值。圖1B中的等式112使用了合適大小的較大的花括號(hào)示出了同一 函數(shù)?;ɡㄌ?hào)114足夠高來涵蓋整個(gè)等式。盡管某些全真字體可包括不同大小的字 符變型(諸如花括號(hào)),但靜態(tài)列表不太可能會(huì)包括完全涵蓋等式數(shù)據(jù)或自變量的正好正確大小的變型。相反,有可能要求用戶妥協(xié)并被迫選擇或者太大或者太小的 字符大小(例如,左括號(hào)的高度或平方根符號(hào)的長(zhǎng)度)。本發(fā)明的實(shí)施例對(duì)某些開放字體(OpenType)或全真字體添加信息以允許增 長(zhǎng)或可拉伸的字符。在一個(gè)實(shí)施例中,所添加的信息涉及諸如圓括號(hào)、花括號(hào)、平 方根號(hào)等數(shù)學(xué)字符。如下所述,本發(fā)明的一個(gè)實(shí)施例通過包括允許直接創(chuàng)建放大的 數(shù)學(xué)字符的新表來向開放字體或全真字體添加信息,這種創(chuàng)建僅使用表中所存儲(chǔ)的 信息。在一個(gè)實(shí)施例中,字體也包括詳細(xì)說明每一字符中能夠增長(zhǎng)的構(gòu)件塊,即"字 形"的附加表,以及用于組裝字形集內(nèi)組裝的各字形以構(gòu)造給定高度或長(zhǎng)度的字符 的算法。這些表和算法將在以下更詳細(xì)描述。提供圖2以示出可在其上實(shí)現(xiàn)本發(fā)明的實(shí)施例的合適計(jì)算環(huán)境200的示例。 在其最基本配置中,系統(tǒng)200包括至少一個(gè)處理單元202和存儲(chǔ)器204。取決于計(jì) 算設(shè)備的確切配置和類型,存儲(chǔ)器204可以是易失性的(諸如RAM)、非易失性 的(諸如ROM、閃存等)或是兩者的某種組合。該最基本配置在圖2中由虛線206 示出。除存儲(chǔ)器204以外,該系統(tǒng)可包括至少一個(gè)其它形式的計(jì)算機(jī)可讀介質(zhì)。計(jì) 算機(jī)可讀介質(zhì)可以是可由系統(tǒng)200訪問的任何可用介質(zhì)。作為示例而非限制,計(jì)算 機(jī)可讀介質(zhì)可包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)可包括以用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模 塊、或其它數(shù)據(jù)等信息的任何方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性、可移動(dòng)和不可 移動(dòng)的介質(zhì)。存儲(chǔ)器204、可移動(dòng)存儲(chǔ)208和不可移動(dòng)存儲(chǔ)210都是計(jì)算機(jī)存儲(chǔ)介 質(zhì)的示例。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括,但不限于,RAM、 ROM、 EPROM、 EEPROM、 閃存或其它存儲(chǔ)器技術(shù),CD-ROM、數(shù)字多功能盤(DVD)或其它光存儲(chǔ),磁帶 盒、磁帶、磁盤存儲(chǔ)或其它磁性存儲(chǔ)設(shè)備,或可用來存儲(chǔ)所需信息并可由計(jì)算設(shè)備 200訪問的任何其它介質(zhì)。任何這樣的計(jì)算機(jī)存儲(chǔ)介質(zhì)都可以是系統(tǒng)200的一部分。系統(tǒng)200也可以包含允許該系統(tǒng)與其它設(shè)備通信的通信連接212。通信連接 212是通信介質(zhì)的一個(gè)示例。通信介質(zhì)通常以諸如載波或其它傳輸機(jī)制等已調(diào)制數(shù) 據(jù)信號(hào)來體現(xiàn)計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù),并且包括任何信 息傳遞介質(zhì)。術(shù)語(yǔ)"己調(diào)制數(shù)據(jù)信號(hào)"是指以在信號(hào)中將信息編碼的方式設(shè)置或改 變其一個(gè)或多個(gè)特征的信號(hào)。作為示例,而非限制,通信介質(zhì)包括諸如有線網(wǎng)絡(luò)或直接線連接的有線介質(zhì),以及諸如聲學(xué)、RF、紅外及其它無線介質(zhì)的無線介質(zhì)。 如此處所用的術(shù)語(yǔ)"計(jì)算機(jī)可讀介質(zhì)"既包括存儲(chǔ)介質(zhì)又包括通信介質(zhì)。根據(jù)一個(gè)實(shí)施例,系統(tǒng)200包括外圍設(shè)備,諸如輸入設(shè)備214和/或輸出設(shè)備 216。示例性的輸入設(shè)備214包括但不限于鍵盤、計(jì)算機(jī)鼠標(biāo)、筆或指示筆、語(yǔ)音 輸入設(shè)備、觸摸輸入設(shè)備等輸入設(shè)備214。示例性的輸出設(shè)備216包括但不限于諸 如顯示器、揚(yáng)聲器、打印機(jī)等設(shè)備。為本發(fā)明的目的,顯示器是主要輸出設(shè)備。這 些設(shè)備在本領(lǐng)域中是公知的,因此無需在此處詳細(xì)描述。圖3示出了根據(jù)本發(fā)明的實(shí)施例形成的放大的字符。在所示的具體實(shí)施例中, 從較小的組成部分或字形構(gòu)建左花括號(hào)300。如此處所使用的,"字形"是字符或 字符的一部分的圖形表示。具體地,字形被存儲(chǔ)在字體內(nèi)(即,在字體表內(nèi)),且 本發(fā)明涉及選擇和組合多個(gè)字形以便于產(chǎn)生放大字符的圖形表示。在一個(gè)實(shí)施例 中,從至少三個(gè)組成字形構(gòu)造左花括號(hào)300:頂部彎曲字形302、底部彎曲字形304 和中央片段字形306。這三個(gè)字形302、 304和306中的每一個(gè)在一端(頂部和底 部彎曲302和304的情況)或兩端(中央片段306的情況)包括連接器部分,以允 許與相鄰字形連接。即,每一字形用作整個(gè)字符的構(gòu)件塊,且字形上的直線端用作 將字形組合在一起的"連接器"。底部彎曲字形304的示例性連接器由圖3的放大 部分中的箭頭330指定。在一實(shí)施例中,每一直線端連接器與其鄰居重疊預(yù)定的最小量以考慮當(dāng)字符 以較低分辨率顯示時(shí)的舍入誤差。圖3的放大部分包括示出直線連接器330的末端 處的示例性最小重疊值的箭頭335。在一個(gè)特定實(shí)施例中,指定預(yù)定的最小重疊量 的"最小連接器重疊(MinConnectorOverlap)"值被存儲(chǔ)在與開放字體相關(guān)聯(lián)的 表中,如將在以下更詳細(xì)描述的。盡管連接器之間的重疊可從其最小值增加以便于減少字符的總體大小,但它 是定義字符最大大小的最小重疊。例如,底部彎曲字形304可與相鄰字形重疊等于 連接器330整個(gè)長(zhǎng)度的量,以便于最小化字符的總體大小,而重疊量的減少(即, 至由箭頭335指定的最小重疊)將最大化所組裝的字符的總體大小。在其中連接器重疊被設(shè)置成其最小值而總體字符大小對(duì)所需目的而言太小的 情況中,可對(duì)字符添加直線延長(zhǎng)器以增加其總體長(zhǎng)度或高度。在圖3所示的示例中, 上延長(zhǎng)器310和下延長(zhǎng)器312—開始被添加到中央片段306的任一端以增加左花括 號(hào)300的高度。對(duì)具有預(yù)定義對(duì)稱性的字符,諸如花括號(hào)300,優(yōu)選地成對(duì)添加延 長(zhǎng)器以確保字符的高度(或長(zhǎng)度)同等增加同時(shí)維持字符的對(duì)稱性。一旦將延長(zhǎng)器310和312添加到花括號(hào)300之后,在本發(fā)明的一個(gè)實(shí)施例中, 所有相鄰組成字形之間的連接器重疊可被最大化以為該字符確定最小延長(zhǎng)大小。如果新延長(zhǎng)字符的總體大小不足以用于所需目的,則再次優(yōu)選地將連接器重疊減少為 其最小值以確定所組裝字符的最大可能大小。該最大總體字符大小然后與所需值進(jìn)行比較以確定是否還需要其它延長(zhǎng)器片段。在圖3的情況中,如果確定括號(hào)300 的大小在采用第一組延長(zhǎng)器310和312的情況下仍太小(即,高度不足以涵蓋圖1 中所示的不同等式),則可添加附加的延長(zhǎng)器320和322,如圖3中所示。一旦添加了滿足所延長(zhǎng)字符的所需高度或長(zhǎng)度的足夠數(shù)目的延長(zhǎng)器,可調(diào)節(jié) 各個(gè)直線段之間的重疊以精細(xì)調(diào)整字符大小。即,如果最小連接器重疊將產(chǎn)生太大 的字符大小,則重疊的程度可在每一重疊段上增加,直到達(dá)到所需大小。如上所述, 每一段處的重疊量應(yīng)基本上相同,以便于維持所拉伸字符的總體對(duì)稱性。而且,盡 管在圖3中描述了垂直定向的字符,但也可通過使用水平延長(zhǎng)器來延長(zhǎng)水平定向的 字符(諸如水平括號(hào)或平方根符號(hào))。在適當(dāng)連接器重疊值的判斷之后,通過組合不同的組成字形來組裝字符。在 一個(gè)實(shí)施例中,從底向上組裝垂直字符,而從左向右組裝水平字符。在一實(shí)施例中, 向每一組成字形分配等式內(nèi)自基準(zhǔn)或零位置起的"偏移量"或起始點(diǎn)。此外,向每 一組成字形分配可用于確定該組成部分在所關(guān)心的方向上的總體大小的總體"前進(jìn) 高度/寬度"。在圖3所示的示例中,所組裝的花括號(hào)300的第一字形304 (底部彎 曲)被置于基準(zhǔn)水平340上,而該組裝體中下一字形(延長(zhǎng)器312)以高于基準(zhǔn)水 平340的偏移高度350垂直地置于第一字形304上方。如上所述,在計(jì)算字形304 與312之間的適當(dāng)連接器重疊之后確定偏移高度350。類似地,以更大的偏移高度組裝花括號(hào)300的其它組成字形(322、 306、 320、 310和302),如圖3中所示的其它虛線所指示(未標(biāo)號(hào))。組裝字符300的最后 一個(gè)組成部分(頂部彎曲302)以偏移高度360置于基準(zhǔn)水平340上方,且字形302 包括由圖3中的箭頭370指定的前進(jìn)高度。因此,組裝字符300的總體高度可通過 將最后一個(gè)組成字形的偏移量360加上同一字形的前進(jìn)高度來容易地確定。圖4示出了包含關(guān)于如何組裝大數(shù)學(xué)字符(即,諸如圖3中所示的花括號(hào)300 等標(biāo)準(zhǔn)字符的擴(kuò)大變型)的信息的一組表410、 420和430。第一表410被稱為"數(shù) 學(xué)變型表",它包括多個(gè)字段,某些字段鏈接至(即,提供指向其的指針)表420, 表420被稱為"數(shù)學(xué)字形構(gòu)造表"。如下所述,數(shù)學(xué)字形構(gòu)造表420由提供指向第 三表430的指針,第三表被稱為"字形組裝表"。在一個(gè)實(shí)施例中,表410、 420 和430用于定位或構(gòu)造具有某一寬度或高度的字符。為此目的,各表包括關(guān)于特定 字體內(nèi)包含的字符的各種靜態(tài)或"庫(kù)存(stock)"版本的大小的數(shù)據(jù),以及關(guān)于如果庫(kù)存大小中沒有一個(gè)被認(rèn)為是合適的則用于構(gòu)造字符的放大版本的各個(gè)構(gòu)件 塊或字形的數(shù)據(jù)。在一個(gè)實(shí)施例中,表410、 420和430可與其它表,諸如開放字體或全真字體 內(nèi)描述字符的字形信息以及其它字體參數(shù)的已知表一起被存儲(chǔ)。此外,表410、 420 和430可包括較大數(shù)學(xué)表(未示出)的一部分,其包括數(shù)學(xué)字符的附加定位信息, 或表410、 420和430內(nèi)的信息可在單個(gè)表或數(shù)組內(nèi)合并。然而,出于本討論的目 的,假定用于選擇或組裝放大的數(shù)學(xué)字符的數(shù)據(jù)被包含在如圖4中所示并將在以下 描述的三個(gè)分開的表內(nèi)。在一實(shí)施例中,數(shù)學(xué)變型表410包括第一字段411,它包含上述最小連接器重 疊值。該值為用于構(gòu)建字符的字形的每一連接器或直線端定義了預(yù)定的最小重疊量 (以解決當(dāng)以較低分辨率顯示字符時(shí)的舍入誤差)。最小連接器重疊值一般用設(shè)計(jì) 或"em"單位表示,這對(duì)于字體設(shè)計(jì)領(lǐng)域的技術(shù)人言而言是熟悉的。表410內(nèi)的兩個(gè)附加字段412和413包括關(guān)于可在垂直方向上增長(zhǎng)的各個(gè)字 符的計(jì)數(shù)和覆蓋范圍的信息。例如,字段412可提供允許在垂直方向上增長(zhǎng)的字符 或字形的計(jì)數(shù)數(shù)目,而字段413可提供關(guān)于字段412中標(biāo)識(shí)的字符的定位信息和覆 蓋范圍的數(shù)據(jù)。在一個(gè)實(shí)施例中,字段413可僅提供指向提供特定字符的垂直覆蓋 范圍數(shù)據(jù)的另一數(shù)學(xué)表(未示出)的指針。類似地,數(shù)學(xué)變型表410內(nèi)的字段414 和415包括相同類型的可在水平方向上增長(zhǎng)的字符的計(jì)數(shù)和覆蓋范圍信息。數(shù)學(xué)變型表410內(nèi)的字段416和417在一個(gè)實(shí)施例中提供了指向數(shù)學(xué)字形構(gòu) 造表412的指針數(shù)組。具體地,字段416可為在垂直方向上增長(zhǎng)的字符或形狀提供 指向表420的指針數(shù)組,而字段417可為在水平方向上增長(zhǎng)的字符或形狀提供指向 表420的指針數(shù)組。從字段416指向表420的一個(gè)示例性指針由圖4中的箭頭418 指示。數(shù)學(xué)字形構(gòu)造表420提供關(guān)于對(duì)特定字符或字形的延長(zhǎng)的變型的查找或組裝 的信息。它既可用于在水平方向增長(zhǎng)的形狀,又可用于在垂直方向上增長(zhǎng)的形狀。 在一個(gè)實(shí)施例中,數(shù)學(xué)字形構(gòu)造表420中的第一字段421提供指向字形組裝表430 的指針,字形組裝表430指定了可如何從字體的字形集中找到的部分組裝該數(shù)學(xué)字 符的形狀。指向表430的指針由圖4中的箭頭424示出,且以下提供表430的細(xì)節(jié)。 如果不能組裝特定的數(shù)學(xué)字符(即,對(duì)該字符不存在各部分的集合),則字段421 中的指針將被設(shè)為空。在一個(gè)實(shí)施例中,數(shù)學(xué)字形構(gòu)造表420還包括為指定字符提供預(yù)定義或"庫(kù)存"變型的計(jì)數(shù)的字段422,以及提供庫(kù)存字形變型的記錄的字段423。在一實(shí)施 例中,字段423內(nèi)包含的記錄包括特定字符變型的索引或ID以及字符在垂直(或水平)延長(zhǎng)方向上的高度(或?qū)挾?的"前進(jìn)度量"。包括字段421 (包含指向字形組裝表430的指針)以及字段422和423 (包含 關(guān)于字符的庫(kù)存變型的信息)認(rèn)識(shí)到,特定字體可為一字符,諸如花括號(hào)300提供若干不同的大小,但也可通過組裝在字形集中找到的組成片段來創(chuàng)建更大或定制的 字符大小。因此,客戶機(jī)排版應(yīng)用程序(例如,文字處理應(yīng)用程序或電子表格應(yīng)用 程序)負(fù)責(zé)首先檢查字體中提供的變型,并選擇具有適當(dāng)大小的庫(kù)存變型之一。在 當(dāng)所要求的字符高度或長(zhǎng)度大于所有可用字形變型的情況下,則利用包含在表420 和430內(nèi)的附加數(shù)據(jù)來組裝字形組成部分,并產(chǎn)生適當(dāng)大小的字符(例如,如圖3 所示的放大的花括號(hào))。字形組裝表430指定如何從字形集中找到的組成部分中構(gòu)造特定字符的形狀。 例如,表430可包含關(guān)于一起構(gòu)成所需字符的部分或組成字形的序列的信息。在一 實(shí)施例中,表430包含至少三個(gè)字段。第一字段431包含組裝體的斜體修正。艮P, 由于在數(shù)學(xué)公式中頻繁地使用斜體,使用修正值來解決當(dāng)字符被置于斜體字體中時(shí) 所得到的向右傾斜。具體地,斜體修正是字形有多傾斜以及它的頂部有多向右突出 的度量。因此,例如,較高的字母往往具有較大的斜體修正,且"V"—般具有大 于"L"的斜體修正。在一實(shí)施例中,斜體修正是不依賴于所拉伸的字符的總體大 小的固定值。字形組裝表430接著包括提供特定字符的部分或組成字形的數(shù)目的計(jì)數(shù)的字 段432,以及定義形成組裝體所使用的部分記錄的數(shù)組的字段433。在一個(gè)實(shí)施例 中,每一組成字形的部分記錄包括字形ID以及該字形的末端處的每一 "連接器" 的長(zhǎng)度。如上所述,連接器是字形一端或兩端處可用于將組成字形與該組裝體內(nèi)前 一或后一字形鏈接的直線部分(諸如圖3中所示的連接器)。相鄰部分的連接器重 疊以向客戶機(jī)排版應(yīng)用程序提供組合字形時(shí)某種程度的靈活性。此外,每一連接器 對(duì)必須重疊預(yù)定最小量(上述最小連接器重疊值)以解決當(dāng)以較低分辨率顯示字符 時(shí)的舍入誤差。在當(dāng)組成部分在一端處不具有連接器(例如,圖3中與底部彎曲 304上的連接器330相對(duì)的一端)的情況中,該端的相應(yīng)的連接器長(zhǎng)度在該字形部 分記錄中被設(shè)為零。除詳細(xì)說明每一字形連接器的長(zhǎng)度以外,字形部分記錄也包括每一組成字形 的"全部前進(jìn)"值。全部前進(jìn)值定義組成部分在放大方向上的總體大小(例如,高度或長(zhǎng)度),并如下所述用于測(cè)量所組裝的字符總體大小。具體地,向組裝體中的 每一字符給出了定義其在該組裝體內(nèi)的垂直/水平位置的起始值即"偏移量",而 所組裝的字符的總體大小簡(jiǎn)單地通過將最后的組成字形的全部前進(jìn)值加上該同一 組成部分的偏移量值來計(jì)算。以上參考圖3描述了該計(jì)算。在一個(gè)實(shí)施例中,每一組成字形的部分記錄也包括指示組成片段是否用作"延 長(zhǎng)器",即可在組裝體內(nèi)重復(fù)多次或可對(duì)較小的組裝體完全跳過的部分的標(biāo)志。延 長(zhǎng)器一般是具有適當(dāng)厚度以與字符的核心組成字形無縫集成的垂直或水平條,諸如如圖3中所示的垂直延長(zhǎng)器310、 312、 320和322。在字形組裝表430內(nèi)提供的數(shù)據(jù)允許客戶機(jī)排版應(yīng)用程序(例如,文字處理 程序)通過以下步驟來構(gòu)建自定義大小的字符首先確定構(gòu)建期望大小的字符所需 的組成字形的數(shù)目,然后以預(yù)定偏移量繪制每一單獨(dú)字形,如上所述并如圖3中所 示。在實(shí)施例中,上述每一字形的部分記錄被包含在一數(shù)組中,并按照與用于組裝 字符的字形的相同次序排序。因此,在一個(gè)實(shí)施例中,組成字形記錄對(duì)水平方向上 增長(zhǎng)的字符從左向右排序,對(duì)垂直方向上增長(zhǎng)的字符從底向上排序。如上所述,給定字體可包括預(yù)定大小的多個(gè)字符變型。例如,字體可指定花 括號(hào)的若干大小,以及提供包含用于通過堆疊組成字形(如圖3中所示)來構(gòu)造更 大花括號(hào)的字形組裝表430。因此,在一個(gè)實(shí)施例中,期望客戶機(jī)排版應(yīng)用程序(例 如,電子表格或文字處理應(yīng)用程序)首先選擇所提供的變型之一(如果變型具有期 望的高度或?qū)挾?。然而,如果庫(kù)存變型中沒有一個(gè)是適當(dāng)大小的,則采用上述機(jī) 制來將大字符排版成字形的組裝體。用于構(gòu)造放大字符的算法的一個(gè)實(shí)施例將在以 下參考圖5和6描述。圖5示出了用于初始確定是使用現(xiàn)有字符還是構(gòu)建更大字符(例如,圖3中 所示的花括號(hào)300)的操作流程500。該流程以開始操作502開始,并前進(jìn)到獲取 操作504,這確定了所需字符的最小大小。該流程然后前進(jìn)至判定506,這確定了 所需字符是否大于字體表內(nèi)包含的最大預(yù)定義變型。如果否,則該流程沿否分支至 選擇操作508,以選擇所需大小的適當(dāng)字符變型。然而,如果所需字符的大小大于 最大預(yù)定義字符變量,則該流程程從判定506沿是分支至組裝操作510,其中使用 字形組裝表430內(nèi)包含的數(shù)據(jù)組裝放大的字符。在操作508中選擇或在操作510 中組裝了字符之后,該流程繼續(xù)至插入操作520,其中將得到的字符插入到文檔中 的公式或其他位置內(nèi)。該流程然后以操作530結(jié)束。圖6示出了用于構(gòu)造大型或延長(zhǎng)字符的組裝過程510的一個(gè)實(shí)施例的操作流程。在開始操作600之后,初始組裝操作620在不使用任何延長(zhǎng)器的情況下組裝字 符的基本組成字形。因此,在圖3所示的示例中,初始組裝操作602用于僅組裝底 部彎曲304、中央片段306和頂部彎曲302。接著,最大化操作604以可能的最大 程度重疊所有相鄰連接器(即, 一個(gè)連接器與相鄰連接器完全重疊)。操作604 的結(jié)果是用作以下計(jì)算的基線的所需字符的可能的最小版本。計(jì)算操作606接著確定可通過將連接器之間的重疊減少到可能的最小量來實(shí) 現(xiàn)的附加大小(即高度或?qū)挾?的量。在一個(gè)實(shí)施例中,該重疊的最小量被存儲(chǔ)在 數(shù)學(xué)變型表410中作為最小連接器重疊值。因此,計(jì)算操作606簡(jiǎn)單地確定字符可 通過最小化組成字形之間的重疊而增長(zhǎng)的最大量。判定操作608然后確定在操作 606中計(jì)算的大小是否滿足客戶機(jī)排版應(yīng)用程序所要求的大小。如果否,則該流程 沿否分支至操作610,其中向字符添加了每一連接器之一,且該過程流然后從最大 化操作604開始重復(fù)。如上所述,對(duì)于對(duì)稱的字符,諸如圖3中所示的花括號(hào)300, 優(yōu)選地成對(duì)添加延長(zhǎng)器來確保在增加字符的總體高度或長(zhǎng)度的同時(shí)維持了字符的 對(duì)稱性。因此,在圖3中所示的示例中,操作610的第一實(shí)例將向花括號(hào)300添加 延長(zhǎng)器310和312。當(dāng)然,諸如平方根符號(hào)等非對(duì)稱字符只需在操作610中添加單 個(gè)延長(zhǎng)器。一旦添加了足夠數(shù)目的延長(zhǎng)器以達(dá)到判定608中的所需大小之后,該流程沿 是分支至分布操作612,這在各個(gè)字形之間均勻地分布連接器重疊以達(dá)到所需大 小。即,所需大小可通過連接器重疊在可能的最小和最大值之間的一水平來達(dá)到。 為了維持所組裝字符的對(duì)稱性,該重疊必須在所有連接器之間相等地分布。接著, 計(jì)算操作614為每一組成字形確定各個(gè)位置偏移量(即,確定從零基準(zhǔn)水平開始的 偏移量,如圖3中所示)。利用操作614中計(jì)算的偏移量信息,組裝操作616將組 成字形組裝成最終的放大字符。該流程以操作618結(jié)束,其中所組裝的字符被插入 到文檔內(nèi),如圖5中的操作520所述。圖7示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例包含在字體表內(nèi)的某些信息的示例。除 各種大小的標(biāo)準(zhǔn)字母數(shù)字字符集702和704以外,根據(jù)本發(fā)明的開放或全真字體可 包含具有預(yù)定大小的多組預(yù)定義變型字符。例如,圖7示出了一組變型710,在一 個(gè)實(shí)施例中,它包括一組左右括號(hào)(花括號(hào)和方括號(hào))720、 一組水平花括號(hào)(上 和下)730、以及一組平方根符號(hào)740。此外,根據(jù)本發(fā)明的實(shí)施例,表示各個(gè)數(shù) 學(xué)字符的組成部分的字形750被添加到字體。作為示例而非限制,字形組750包括 表示頂部和底部水平花括號(hào)的各部分的組760,以及包含左花括號(hào)的組成部分(類似于圖3中所示的那些組成部分)的組770。因此,作為將表410、 420和430包括于諸如開放或全真字形等特定字體的結(jié) 果,向客戶機(jī)排版應(yīng)用程序提供選擇特定字符的預(yù)先存在的變型或從表中定義的組成字形組裝字符的更大版本的能力。然而,本發(fā)明不限于如圖4中所示并以上所述 的表410、 420和430的實(shí)施例。相反,本發(fā)明涵蓋在字體本身內(nèi)包括所需信息, 使得排版應(yīng)用程序可容易地訪問所選字體的信息。盡管以對(duì)結(jié)構(gòu)特征、方法動(dòng)作和包含這樣的動(dòng)作的計(jì)算機(jī)可讀介質(zhì)的專用語(yǔ) 言描述了本發(fā)明,但可以理解,所附權(quán)利要求書中定義的本發(fā)明不必限于所述的特 定結(jié)構(gòu)、動(dòng)作或介質(zhì)。相反,上述的特定特征和動(dòng)作作為實(shí)現(xiàn)權(quán)利要求書的示例形 式公開,且本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到落在本發(fā)明的范圍和精神內(nèi)的其他實(shí)施例或 改進(jìn)。例如,盡管關(guān)于開放字體或全真字體描述了本發(fā)明的實(shí)施例,但應(yīng)理解, 本發(fā)明適用于其他字體,這些字體可被修改以包括諸如字符變型和組成字形等 用于創(chuàng)建放大的字符的信息。此外,盡管以上描述和附圖以某些數(shù)學(xué)字符示出 了本發(fā)明的使用,但本發(fā)明可用于在至少一個(gè)方向上放大其他類型的字符。而 且,計(jì)算系統(tǒng)200僅是合適的計(jì)算操作環(huán)境的一個(gè)示例,且不旨在對(duì)本發(fā)明的 使用范圍或功能提出任何限制。適用于本發(fā)明的其他公知計(jì)算系統(tǒng)、環(huán)境和/或配置包括但不限于個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持式或膝上型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、可編程消費(fèi)者電子產(chǎn)品、網(wǎng)絡(luò)PC、小型機(jī)、大型機(jī)、包括上述任一系統(tǒng)的分布式計(jì)算環(huán)境等。
權(quán)利要求
1.一種具有用于執(zhí)行放大文檔內(nèi)一字符的方法的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),其中所述字符是預(yù)定字體的組成部分,所述方法包括確定所述字符的所需大??;確定所述預(yù)定字體是否包括所述字符具有所需大小的現(xiàn)有變型;在確定所述預(yù)定字體的確包括所述字符具有所需大小的變型時(shí),選擇所述變型以便插入所述文檔內(nèi);以及在確定所述預(yù)定字體不包括所述字符具有所需大小的變型時(shí),從存儲(chǔ)在所述預(yù)定字體內(nèi)的多個(gè)組成字形組裝具有所需大小的字符。
2. 如權(quán)利要求1所述的計(jì)算機(jī)可讀介質(zhì),其特征在于每一組成字形包括至少一個(gè)直線連接器,用于與相鄰組成字形的連接器重疊;以及所述字符的初始組裝體利用了最小數(shù)目的組成字形而不包括任何延長(zhǎng)。
3. 如權(quán)利要求2所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,組裝所述字符還包括 最大化相鄰組成字形的每一端處的相鄰連接器之間的重疊量以最小化所述連接器的總體大??;計(jì)算因?qū)⑺鲞B接器重疊量從所述最大量減少到預(yù)定的最小重疊量而導(dǎo)致的 字符大小的可能增加,其中所述預(yù)定最小量大于零;以及確定所述字符大小的可能增加是否等于或大于所需字符大小。
4. 如權(quán)利要求3所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,組裝所述字符還包括 在確定所述字符大小的可能增加等于或大于所需字符大小時(shí),將相鄰連接器之間的所述重疊減少一基本相等的量,直到達(dá)到所需字符大小。
5. 如權(quán)利要求3所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,組裝所述字符還包括: 在確定所述字符大小的可能增加不等于或大于所需字符大小時(shí),將至少一個(gè)延長(zhǎng)器字形添加到所述字符以增加所述字符的總體大小。
6. 如權(quán)利要求5所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述延長(zhǎng)器字形包括在每一端具有一連接器的直線段。
7. 如權(quán)利要求6所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,當(dāng)一字符關(guān)于中心點(diǎn) 對(duì)稱時(shí)將兩個(gè)延長(zhǎng)器字形添加到所述字符,其中將一個(gè)延長(zhǎng)器字形添加到所述中心點(diǎn)的每一端以維持所述字符的對(duì)稱性。
8. 如權(quán)利要求5所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包括 重復(fù)權(quán)利要求3和5的步驟直到確定因?qū)⑺鲞B接器重疊量減少至所述預(yù)定的最小量而導(dǎo)致的所述字符大小的可能增加等于或等于所需字符大?。灰约皩⑾噜忂B接器之間的所述重疊減少一基本相等的量直到達(dá)到所需字符大小。
9. 如權(quán)利要求8所述的計(jì)算機(jī)可讀介質(zhì),其特征在于 所述字符是數(shù)學(xué)字符;以及所述預(yù)定字體是開放字體或全真字體之一。
10. 如權(quán)利要求9所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述字符在垂直或 水平方向之一上被放大。
11. 一種具有用于生成預(yù)定字體內(nèi)的指定字符的放大版本的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),其中所述指定字符在垂直或水平方向的至少其中之一上放 大,且其中所述計(jì)算機(jī)可執(zhí)行指令定義所述預(yù)定字體內(nèi)的數(shù)據(jù)結(jié)構(gòu),所述數(shù)據(jù)結(jié)構(gòu)包括第一數(shù)據(jù)字段,其包含所述指定字符的預(yù)定義放大變型的記錄;以及 第二數(shù)據(jù)字段,其包含指向所述指定字符的字形組裝表的指針,其中所述字 形組裝表包含關(guān)于用于組裝所述指定字符的放大版本的組成字形的序列的信息。
12. 如權(quán)利要求ll所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述在預(yù)定字體內(nèi) 定義的數(shù)據(jù)結(jié)構(gòu)還包括第三數(shù)據(jù)字段,其包含能夠在垂直方向上增長(zhǎng)的字體字符的計(jì)數(shù);以及 第四數(shù)據(jù)字段,其包含能夠在水平方向上增長(zhǎng)的字體字符的計(jì)數(shù)。
13. 如權(quán)利要求ll所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述包含在第一數(shù)據(jù)字段內(nèi)的記錄包括所述指定字符的預(yù)定義放大變型在垂直或水平方向之一上的前進(jìn)度量。
14. 如權(quán)利要求ll所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述字形組裝表包括用于組裝所述指定字符的組成字形的計(jì)數(shù);以及 用于組裝所述指定字符的組成字形記錄的數(shù)組。
15. 如權(quán)利要求14所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述組成字形記錄 的數(shù)組包括第一值,其表示每一組成字形的字形標(biāo)識(shí)符;第二值,其表示所述組成字形的一端處的連接器的長(zhǎng)度;第三值,其表示所述組成字形的相對(duì)一端處的連接器的長(zhǎng)度,其中如果所述組成字形僅包括單個(gè)連接器,則所述第三值可以是零;第四值,其表示所述組成字形的高度或長(zhǎng)度之一的全部前進(jìn)度量;以及 第五值,其指示所述組成字形是否是可在所述指定字符的組裝期間重復(fù)的延長(zhǎng)器,其中所述延長(zhǎng)器增加長(zhǎng)度或?qū)挾纫赃_(dá)到所述指定字符的所需大小。
16. 如權(quán)利要求15所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述預(yù)定字體內(nèi)定 義的數(shù)據(jù)結(jié)構(gòu)還包括表示一最小量的值,相鄰組成字形的連接器在所述指定字符的 組裝期間必須重疊所述最小量。
17. 如權(quán)利要求15所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,其中 所述指定的字符是數(shù)學(xué)字符;以及 所述預(yù)定字體是開放字體或全真字體之一。
18. —種具有用于生成預(yù)定字體內(nèi)的指定字符的放大版本的計(jì)算機(jī)可執(zhí)行指 令的計(jì)算機(jī)可讀介質(zhì),其中所述指定字符在垂直或水平方向的至少其中之一上放 大,且其中所述計(jì)算機(jī)可執(zhí)行指令定義與所述預(yù)定字體一起包括的多個(gè)表,所述多 個(gè)表包括第一表,其包括能夠在垂直方向上增長(zhǎng)的字體字符的第一計(jì)數(shù)和能在水平方 向上增長(zhǎng)的字體字符的第二計(jì)數(shù);第二表,其包括用于組裝所述指定字符的放大版本的組成字形的計(jì)數(shù),所述 第二表還包括描述用于組裝所述指定字符的放大版本的每一組成字形的組成字形 記錄的數(shù)組;以及第三表,其包括所述指定字符的預(yù)定義放大變型的記錄,所述第三表還包括 對(duì)所述指定字符指向所述第二表的指針;且其中所述第一、第二和第三表允許利用所述預(yù)定字體的排版應(yīng)用程序或者選 擇所述指定字符的預(yù)定義的放大變型,或者從組成字形組裝所述指定字符的放大版 本,其中所述指定字符的組裝版本具有在所述預(yù)定義放大變型中未表示的所需大小。
19. 如權(quán)利要求18所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述組成字形記錄的數(shù)組包括第一值,其表示每一組成字形的字形標(biāo)識(shí)符;第二值,其表示所述組成字形的一端處的連接器的長(zhǎng)度;第三值,其表示所述組成字形的相對(duì)一端處的連接器的長(zhǎng)度,其中如果所述組成字形僅包括單個(gè)連接器,則所述第三值可以是零;第四值,其表示所述組成字形的高度或長(zhǎng)度之一的全部前進(jìn)度量;以及第五值,其指示所述組成字形是否是可在所述指定字符的組裝期間重復(fù)的延 長(zhǎng)器,其中所述延長(zhǎng)器增加長(zhǎng)度或?qū)挾纫赃_(dá)到所述指定字符的所需大小。 20.如權(quán)利要求19所述的計(jì)算機(jī)可讀介質(zhì),其特征在于 所述預(yù)定字體是開放字體或全真字體之一;以及所述第一表還包括表示一最小量的值,相鄰組成字形的連接器在所述指定字 符的組裝期間必須重疊所述最小量。
全文摘要
通過以下步驟來將字體內(nèi)的字符放大到所需大小首先確定字體是否包含該字符具有所需大小的現(xiàn)有或預(yù)定義變型。如果不存在適當(dāng)大小的變型,則從與字體一起存儲(chǔ)的多個(gè)組成字形組裝放大字符,其中組成字形包括可在所組裝的字符內(nèi)重復(fù)以達(dá)到所需大小的延長(zhǎng)器。在一個(gè)實(shí)施例中,字體包括含有特定字符的放大變型的記錄以及用于組裝放大字符的組成字形的部分記錄的表。
文檔編號(hào)G06F3/14GK101263450SQ200680034020
公開日2008年9月10日 申請(qǐng)日期2006年9月15日 優(yōu)先權(quán)日2005年9月15日
發(fā)明者A·布拉格, S·吉金, S·梅爾金, V·E·科澤弗 申請(qǐng)人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
阿拉善右旗| 镇巴县| 泰和县| 宁晋县| 鹤庆县| 新河县| 左贡县| 苏尼特右旗| 鄢陵县| 越西县| 淅川县| 盘锦市| 武川县| 昌都县| 西乌珠穆沁旗| 岳阳市| 长春市| 阳江市| 新丰县| 永仁县| 南华县| 新巴尔虎右旗| 阜平县| 广平县| 辽阳市| 饶阳县| 遂溪县| 来凤县| 乐平市| 墨江| 赤壁市| 涿州市| 龙陵县| 商都县| 南溪县| 泰和县| 林西县| 老河口市| 滁州市| 沈阳市| 溆浦县|