關於倚天列印控制碼 1. 在文件中我們會用到倚天列印控制碼,不外乎字型、大小、行距、字距,當然 也有人用到比較多樣化的控制碼。這裡列出漢書 DOS 系統支援的倚天控制碼 ,供您參考使用。 2. 另外還有很多擴充的控制碼,類似以前 OAMATE、JETMATE 之類進階控制碼, 非常好用。 3. 另外,~Dn; 密度部分,漢書 DOS 系統並沒有完全模擬,所以建議您不要用 這個控制碼,因為可以用其他的方式達到相同的效果。 4. 對於紙張、邊界這類影響整個版面的控制,必須放在檔案第一行,若出現在之 外的位置,會失效。 5. 當您在漢書DOS模擬系統控制台設定了紙張、邊界等,文件裡面又用到這些控制碼, 將會以文件中的為主。 一、版面控制 1. 紙張大小:~[?n] (1) 其中: n=0: LETTER n=4: 80欄報表紙 n=7: B5 n=2: A4 n=5: 132欄報表紙 n=3: B4 n=6: A3 (2) n=100 為自訂紙張,指令格式為: ~[?100;長;寬],其中長寬皆為千分之一英吋。 例如中一刀為:~[?100;5500;8500] (3) 通常是在外部即指令定義,但若必須在文件中定義,即可用此指令。 (4) 方便的寫法: ~PA4:選擇 A4 紙張,此為預設 ~PA3:選擇 A3 紙張 ~PB4:選擇 B4 紙張 2. 直印/橫印 ~J6(或~PP):紙張直放,此為預設 ~J7(或~PL):紙張橫放 但是這裡指的橫直,要注意原來紙張的定義。 例如A4、B4就是瘦長的,而A3、B3就是寬廣的。 依照原來的方式放紙,就叫「直」印,轉90度就是「橫」印。 3. 指定進紙匣:~[SOURCE;紙匣名稱] 可參考印表機之「內容」中,關於進紙匣名稱的描述,此處引用的文字必須完全相同。 4. 邊界:距紙張邊緣多少千分之一英吋 ~[MT;nnnn]、~[MD;nnnn]:設定上下邊界 ~[ML;nnnn]、~[MR;nnnn]:設定左右邊界 例如: ~[MT;500]; 表示上邊界為0.5英吋 5. 縮放比例:~[R;rx;ry] (1) rx 和 ry 表示縮放百分比,原比例就是 ~[R;100;100]。 (2) 寬高縮小一半就是~[R;50;50]。 寬高放大一倍就是~[R;200;200]。 (3) 文件中隨時可以使用此控制碼,特別適合用在表格。 6. 頁眉、頁尾: ~[UT;text]:頁眉,text可以是任何文字,包括控制碼。 ~[DT;text]:頁尾,text可以是任何文字,包括控制碼。 ~[UF;file]:以某一檔案為頁眉 ~[DF;file]:以某一檔案為頁尾 . 例如: ~{UT;~[JM];~T16;第~[FPAGE0];頁}; 表示頁眉居中,用T16字,頁碼為「第n頁」。 . 頁眉頁尾設定通常都放在第一行。 7. 頁碼: ~[FPAGEn] :頁碼 (n = 0 - 4), n=0: "123 (半形)" ,也可以直接用~[FPAGE]。 n=1: "123(全形)" n=2: "一二三" n=4: "壹貳參" n=5: "一百二十三" 通常用在頁眉頁尾設定中。 8. 跳頁碼可以還原:~IP; 當多份檔案合併成一個檔列印時,頁碼必須還原,可以用~IP; 注意一定要加分號(;),不可與其他控制碼合用。 9. 指定印表機:~[ZN;印表機的名稱] 可以在文件中指定印表機,列印時就會自動找到這台印表機列印。 但是注意的是,印表機名稱必須和系統中印表機的名稱「完全相同」, 有一個字母不一樣,就會找不到。若找不到,就會以預設的印表機列印。 例如:~[ZN;HP LaserJet 1100 (MS)] 二、字型、字體 (一)與倚天相容的控制碼: 1. ~Fn :字體,n=A..Z,預設為 ~FM,即細明體 2. ~Tnn:字型大小,預設為 ~T24 ~TXn:設定字型寬度,預設為 ~TX24 ~TYn:字型字型高度,預設為 ~TY24 3. ~Wnn:水平放大,預設為 ~W1 ~Znn:垂直放大,預設為 ~Z1 4. ~Lnn:行距,預設為 ~L6 ~Xnn:字距,預設為 ~X12 5. ~Dn :密度,不建議使用 6. ~I :還原,預設即為還原狀態 7. ~G2 :表格連接 ~G1 :表格不連接,此為預設 8. ~R2 :反白 ~R1 :反白還原 9. ~U2 :底線 ~U1 :底線還原 10. ~U4 :上線 ~U3 :上線還原 11. ~S2 :加粗 ~S1 :加粗還原 12. ~C :半型字用中文字型,此為預設 ~E :半型字用英文字型,必須配合 ~[CF;字形] 及 ~[EF;字形] 使用 (二)新增的控制碼: 1. 絕對字體: ~[CF;中文字體]:使用指定的中文字體 ~[EF;英文字體]:使用指定的英文字體 2. 刪除線: ~U6/~U5:單線 ~U8/~U7:雙線 3. 加框:~U9/~U0 4. 文字齊頂、齊中、齊底:~GT、~GM、~GB 5. 支援顏色變化: ~On :改變字的顏色,n=0..15。 ~OTn:改變表格的顏色,n=0..15。 ~OLn:改變線的顏色,n=0..15。影響底線、上線、~H。 ~OBn:改變底色,n=0..15。 例如: ~OT4O0; 則所有表格都為紅色,文字顏色為黑色。 三、位置控制 1. 對齊: ~[JL]:對齊左邊界 ~[JM]:居中 ~[JR]:對齊右邊界 2. 絕對位置 (1) ~[P;x;y]:游標移到絕對位置,(x,y)為點數。 這是就指令,對應到以前180DPI的解析度表示法, 所以~[P;180;180] 表示X和Y都在 1 英吋處。 (2) ~[PP;x;y]:是以千分英吋為單位之絕對定位。 所以~[pP;1000;1000] 表示X和Y都在 1 英吋處。 (3) ~[P;#x;#y]、~[PP;#x;#y] 為相對位置定位。 3. 回到行首:~[BOL] 可以在同一行中重複列印。例如: This is a test.~[BOL];=============== 可以在文字上加上雙刪除線。 四、列印圖檔: 1. 通用語法:~[G;file;x;y;w;h;ev] 2. 參數說明: x、y:絕對位置,(1/1000英吋),若忽略表示插入現在位置 w、h:顯示寬高,(1/1000英吋),若忽略表示使用原圖大小 ev :放大倍數,可以是非整數,若忽略表示使用原圖大小 3. 並非所有參數都必要,有幾種變化: ~[G;filename;ev] : 插入,目前文字位置,指定放大倍數 ~[G;filename;x;y] : 貼上,指定位置,原圖大小 ~[G;filename;x;y;ev] : 貼上,指定位置,指定放大倍數 ~[G;filename;x;y;w;h] : 貼上,指定位置,指定寬高 ~[G;filename;;;w;h] : 插入,目前文字位置,指定寬高 4. 支援 JPG、BMP、PCX、WMF、GIF 檔。 5. 另使用 ~[G1;file;x;y;w;h;ev] 則為貼圖,用法為: ~[G1;file;;;w;h] 在游標處貼圖,指定寬高 ~[G1;file;;;ev] 在游標處貼圖,指定放大倍數 6. 使用 ~[G2;file;x;y;w;h;ev] 則為插圖,用法與 ~[G;..] 一樣, 只是以後出現的文字會往下擠。 7. 套表專用: ~[GV;file;x;y;w;h;ev] 這張圖只有 Preview 時看得到,列印時會拿掉。 在套表時非常好用,可以先將套表掃描成圖檔,並使用此指令, 則使用者可以看到印出後的完整圖樣,卻不會印表的部分。 五、輔助功能 1. 日期: (1) ~[FDATESHORT]:「控制台」中「國別設定」→「日期」 索引標籤→「簡短日期」格式。例如 1997/8/12。 (2) ~[FDATELONG] :「控制台」中「國別設定」→「日期」 索引標籤→「完整日期」格式。例如 1997年8月12日 (3) ~[FDATE;Format] :格式化的日期,Format 可以用: dd :日期 ddd :星期(中文) MM :月份 MMM :月份(中文) yy :年份後兩碼(西元) yyyy:年份(西元) 例如 ~[FDATE;yyyy 年 MMM dd 日 ddd]; 為 "1997 年 七月 10 日 星期四" 2. 時間: (1) ~[FTIME]:使用「控制台」中「國別設定」之「時間」 索引標籤所定義之時間格式。 (2) ~[FTIME;Format]:格式化的時間,Format 可以用: h :時,12 小時制,前不補0 hh :時,12 小時制,前補0 H :時,24 小時制,前不補0 HH :時,24 小時制,前補0 m :分,前不補0 mm :分,前補0 s :秒,前不補0 ss :秒,前補0 t :上下午,上午為A,下午為P。 tt :上下午,上午為AM,下午為PM。 例如 ~[FTIME;HH:mm:ss tt]; 為 "14:50:25 PM" 3. 檔名:~[FNAME]。 4. 更換控制碼:~~X 例如原來是以~當成控制碼,要改用 ^ 當控制碼,則指令為 ~~^ 這可用在文件中有~時,為避免誤解,而將其避開。 六、範例: 1. 加上公司名稱、電話、傳真日期,並加底線、居中 ~{UT;~[JM];~U2T22X6;TO:某公司 TEL:26963131 Date:~[FDATESHORT];} 其中: ~{UT; ... } 為頁眉,包著所有設定。 ~[JM]; 為居中 ~U2T22X6; 為設定底線、字體、字距 TO:某公司 TEL:26963131 Date:~[FDATESHORT]; 為顯示的文字 其中的 ~[FDATESHORT] 為短格式的日期。 2. 頁碼在下方、靠右 ~{DT;~[JR];~T16;第~[FPAGE2];頁}; ~[MT;787];~[MD;787];~[ML;787];~[MR;787]; (接在上一行之後) 其中: ~{DT; ... } 為頁尾,包著所有設定。 ~[JR]; 為靠右 ~T16;第~[FPAGE2];頁 :為頁碼,樣式為「第二三頁」。 之後為上下左右邊界各設為兩公分。 當頁碼在下方時,若沒有設下邊界值,頁碼不會出現。 七、列印條碼 1. 使用控制台字型功能,新增所附的字型(在您的安裝目錄下) C39.TTF: Code39碼,字型名稱為 C39P24DlTt C39_1.TTF:Code39碼,字型名稱為 C39HrP24DlTt,條碼下端含數字 EAN.TTF: EAN 碼,字型名稱為 EanP36xTt EAN_1.TTF:EAN 碼,字型名稱為 EanP36Tt,條碼下端含數字 2. 在檔案中使用 ~[EF;..]、~E指令。 3. 例如: ~[EF;C39P24DlTt];~E; ~T48;*1234567890* ~T24; 測試文字 ~FM; ~T48;*1234567890* ~T24; 測試文字 4. 記得要在數字前後加上必要的辨識字元,例如 Code39要加 *(星號)。 5. ~[EF;..]表示指定英數字字形,~E表示半型字用英文字型。