UCDOS曲線輪廓字庫結(jié)構(gòu)分析_第1頁
UCDOS曲線輪廓字庫結(jié)構(gòu)分析_第2頁
UCDOS曲線輪廓字庫結(jié)構(gòu)分析_第3頁
UCDOS曲線輪廓字庫結(jié)構(gòu)分析_第4頁
UCDOS曲線輪廓字庫結(jié)構(gòu)分析_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

UCDOS曲線輪廓字庫構(gòu)造分UCDOS已有的曲線字庫,如制作美麗的軟件界面,UCDOS1UCDOS中多種曲線輪廊字庫都寄存在UCDOS的特定的目錄中(如ASCPS英文字體曲線輪廓字庫HZKPST圖形符號曲線輪廓字庫HZKPSKTJHZKPSSTJHZKPSHTJHZKPSFSJ構(gòu)成,其中字型數(shù)據(jù)的偏移地址4個字節(jié),字型數(shù)據(jù)的長度占2必須通過中文區(qū)位碼或中文機內(nèi)碼來獲得。根據(jù)GB2312-80普通的中文庫都收集了74456763非中文的圖形字符682個。并且為了便于編碼與管理,將它們分為94個區(qū),每辨別為94中文的編碼用機內(nèi)碼來表達,一種機內(nèi)碼占2機內(nèi)碼=區(qū)位碼+OFFSET=((機內(nèi)碼高位字節(jié)-0XA0-16)×94+(機內(nèi)碼低位字節(jié)-0XA0-=((區(qū)碼-16)×94+(位碼-1601161+0xA0A0=1601+0xA0A0=0x1001+0xA0A0=0xB0A1或OFFSET=((16-16)×94+(1-offset=((機內(nèi)碼高位字節(jié)-OxaO-1)*94+(機內(nèi)碼低位字節(jié)-Oxa0-1))*6=((區(qū)碼-1)×94+(位碼-而英文字體的偏移量比較特殊~它共有l(wèi)O種字體~每種字體有1O0~能夠這樣擬定偏移量(設(shè)字體號為N~英文字符的ASCII碼為CC):在UCDOS5.04即為字型數(shù)據(jù)地址(Address),緊接著2個字節(jié)轉(zhuǎn)換成整型數(shù)便為字型數(shù)據(jù)的長度(Length在UCDOS6.0中從此偏移量地址持續(xù)讀取4個字節(jié)轉(zhuǎn)換成長整型數(shù)后,還需將此長整型數(shù)減去十六進制0x100000002讀取低四位~位,第三次讀取的四位數(shù)據(jù)作為六位數(shù)據(jù)的低四位,得到第二個坐標增量。3UCDOS416表10000X1,Y1X1,Y10016位筆畫起始點,將目前點移至此點X1X1,CY118位從目前點畫橫線至X1Y1CX,Y1228位從目前點畫豎線至Y1X1,Y1X1,Y13316位從目前點畫線至(X1,Y1)以目前點、(X1,Y1)和(X2,Y2)為控制點畫0100X1,Y1,X2,Y2X2,Y24432二次Bezier以目前點、(X1,Y1),(X2,Y2)和(X3,Y3)為控0101X1,Y1,X2,Y2,X3,Y3X3,Y3548位制點畫三次Bezier以(X1,Y1)為左上角,(X2,Y2)為右下點畫0110X1,Y1,X2,Y26632#X1,Y1CX+#X1,Y17712從目前點畫線至(CX+#X1,Y1)X1,#Y1X1+CY+#Y18812從目前點畫線至(X1+CY+#Y1)#X1,#Y1CX+#X1,CY+#Y198位從目前點畫線至(CX+#X1,CY+#Y1)1010&X1,&Y1CX+&X1,CY+&Y110A12(CX+&X1,CY+&Y1)點從目前點、(CX+#X1,CY+#Y1)和1011#X1,#Y1,#X2,#Y2CX+#X1+#X2,CY+#Y1+#Y211B16位(CX+#X1+#X2,CY+#Y1+#Y2)二次Bezier從目前點、(CX+&X1,CY+&Y1)和1100&X1,&Y1,&X2,&Y2CX+&X1+&X2,CY+&Y1+&Y212C24(CX+&X1+&X2,CY+&Y1+&Y2)為控制點畫二次Bezier#X1,#Y1,#X2,#Y2,#X3,#Y313D24位Y1+#Y2)和Y2+#Y3為控制點畫三次Bezier從目前點、(CX+&X1,CY+&Y1),(CX+&X1,&Y1,&X2,&Y2,&X3,CX+&X1+&X2+&X3,CY+&Y1&X1+&X2,CY&Y1+&Y2)和(CX+111014E36位&Y3+&Y2+&Y3&X1+&X2+&X3,CY+&Y1+&Y3)為控制點畫三次Bezier1111X1,Y115F16X1,Y1,X2,Y2,X3,Y38數(shù),表達范疇為0至255;X1,#Y1,#X2,#Y2,#X3,#Y3高位是符號位,0表達正數(shù),1表達負數(shù),表達范疇為-7至+7;?參數(shù)&X1,&Y1,&X2,&Y2,&X3,&Y36最高位是符號位,0表達正數(shù),1表達負數(shù),表達范疇為-31至+31;?CX,CY4、三次Bezier在下面的三次Bezier,mx,yx,y坐標;nvoidbezier3(intm,float*x,float*y,int{inti,floata0,b0,a1,b1,a2,b2,a3,b3,t,dt,t2,t3,x1,movtoxy(&x[0],&y[0]);for(i=0;i<m-3;i=i+3){a0=x[i];b0=y[a1=-x[i]*3+x[i+1]*3;b1=-y[i]*3+y[i+1]*3;a2=x[i]*3-x[i+1]*6+x[i+2]*b2=y[i]*3-y[i+1]*6+y[i+2]*3;a3=-x[i]+x[i+1]*3-x[i+2]*3+x[i+3];b3=-y[i]+y[i+1]*3-y[i+2]*3+y[i+3];dt=1.0/(float)n;for(j=1;j

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論