⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 00000002.htm

📁 一份很好的linux入门资料
💻 HTM
字号:
<HTML><HEAD>  <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人:&nbsp;wxb1&nbsp;(ben),&nbsp;信区:&nbsp;Linux&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>标&nbsp;&nbsp;题:&nbsp;[3/8]&nbsp;在Linux上使用中文传真&nbsp;<BR>发信站:&nbsp;BBS&nbsp;水木清华站&nbsp;(Fri&nbsp;Jun&nbsp;11&nbsp;14:14:41&nbsp;1999)&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>以Linux实作&nbsp;语音/传真/EMAIL/BBC&nbsp;整合系统&nbsp;<BR>3.在Linux上使用中文传真&nbsp;<BR>&nbsp;<BR>在Linux上使用广范,颇为普遍的传真软体,应该就是EFAX这套软体了,若您安&nbsp;<BR>装的是RedHat&nbsp;Linux时,可直接由选单上选取它,而不用再额外上网下载了!&nbsp;<BR>EFAX除了安装容易、易於使用外,且提供转档工具&nbsp;EFIX,可以作&nbsp;TEXT、TIFFG3&nbsp;<BR>、TIFFRAW、PBM、PGM、PS、PCL、FAX&nbsp;等格式之间的转换,对讯息的交互使用,&nbsp;<BR>即为便利;例如您可将WWW的输入、EMAIL信件等,经过处理後,抓取其中的文字&nbsp;<BR>部份,透过&nbsp;EFIX转成TIFFG3的格式(EFAX使用的格式),再由EFAX传真出去,&nbsp;<BR>很自然的就成为一个&nbsp;WWW/EMAIL&nbsp;至FAX的管道,关键性的指令仅有两行:&nbsp;<BR>&nbsp;<BR>efix&nbsp;-i&nbsp;text&nbsp;-o&nbsp;tiffg3&nbsp;&nbsp;&lt;&nbsp;&nbsp;MyText.txt&nbsp;&nbsp;&gt;&nbsp;&nbsp;FaxOut.G3&nbsp;<BR>efax&nbsp;-d&nbsp;/dev/ttyS0&nbsp;&nbsp;-t&nbsp;&quot;xxxxxxxx&quot;&nbsp;&nbsp;FaxOut.G3&nbsp;<BR>&nbsp;<BR>第一行是利用EFIX将纯文字档&nbsp;MyText.txt&nbsp;转成&nbsp;TIFFG3&nbsp;格式的档案&nbsp;FaxOut.G3&nbsp;<BR>,接者将此档案透过EFAX,利用连接於ttyS0&nbsp;(COM1)的FAX数据机,拨通对方传&nbsp;<BR>真机电话&quot;xxxxxxxx&quot;,即可传真出去。&nbsp;<BR>&nbsp;<BR>EFAX的中文化问题&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;由於EFAX并非国人发展的软体,并不支援双位元的中文字,虽然传真的&nbsp;<BR>收发皆是使用图档格式(EFAX用TIFFG3),并无影响;但当您用EFIX要将纯文字&nbsp;<BR>档转为图形或FAX的格式时,所有的中文字,因无中文字型的缘故,皆无法正确&nbsp;<BR>转换,在做讯息整合时就显得力不从心了!还好Linux的诸多先进,在Linux的中&nbsp;<BR>文问题上,已投入了不少心血,也提供了许多解决方案,并提供原始程式码,供&nbsp;<BR>人研究使用,因此可以将EFIX稍做改写,在格式转换时加入双位元字码的判别,&nbsp;<BR>并将中文字型加入,即可解决此一问题!以下即为部分修改过的efaxlib.h、&nbsp;<BR>efaxlib.c(仅需改这一组档案即可),内中原始码,大部分来自「王佑中」先&nbsp;<BR>生 CHDRV 的程式码,同时您也需先安装CHDRV或是将国乔字型档kcchin16.f00&nbsp;<BR>放在&nbsp;/usr/local/lib/chinese目录下才可顺利转换!&nbsp;<BR>&nbsp;<BR>在efaxlib.h的结尾加入以下的宣告:&nbsp;<BR>&nbsp;<BR>/*&nbsp;Add&nbsp;by&nbsp;hybj&nbsp;for&nbsp;chinese&nbsp;font&nbsp;*/&nbsp;<BR>int&nbsp;tran_code(int&nbsp;b1,&nbsp;int&nbsp;b2);&nbsp;<BR>int&nbsp;FileOffset(int&nbsp;code,&nbsp;int&nbsp;*start);&nbsp;<BR>int&nbsp;FileOpen(int&nbsp;offset,&nbsp;int&nbsp;len,&nbsp;u_char*&nbsp;chfont);&nbsp;<BR>&nbsp;<BR>其中tran_code是判断双位元(b1是高位元组,b2是低位元组)是否是合理的BIG5&nbsp;<BR>码,若不是的话,return&nbsp;16进位的FFFF,不然&nbsp;return&nbsp;该BIG5码在字型中的排序&nbsp;<BR>码,再透过FileOffset算出其在字型档中的起始位置,并由FileOpen抓取该字一&nbsp;<BR>连串的字型资料,以下是efaxlib.c此三副程式的原始码:&nbsp;<BR>&nbsp;<BR>/*&nbsp;Add&nbsp;by&nbsp;hybj&nbsp;for&nbsp;chinese&nbsp;font&nbsp;May/3/98&nbsp;*/&nbsp;<BR>int&nbsp;tran_code(int&nbsp;b1,int&nbsp;b2)&nbsp;<BR>{&nbsp;<BR>&nbsp;&nbsp;int&nbsp;code;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;if&nbsp;(b2&nbsp;&lt;&nbsp;0x40)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0xffff;&nbsp;<BR>&nbsp;&nbsp;else&nbsp;if&nbsp;(b2&nbsp;&lt;0x7f)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;code&nbsp;=&nbsp;b2&nbsp;-&nbsp;0x40;&nbsp;<BR>&nbsp;&nbsp;else&nbsp;if&nbsp;(b2&nbsp;&lt;&nbsp;0xa1)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0xffff;&nbsp;<BR>&nbsp;&nbsp;else&nbsp;if&nbsp;(b2&nbsp;&lt;&nbsp;0xff)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;code&nbsp;=&nbsp;b2&nbsp;-&nbsp;0xa1&nbsp;+&nbsp;0x3f;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;if&nbsp;(b1&nbsp;&lt;&nbsp;0x81)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0xffff;&nbsp;<BR>&nbsp;&nbsp;else&nbsp;if&nbsp;(b1&nbsp;&lt;=&nbsp;0x8d)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;code&nbsp;+=&nbsp;0xeeb8&nbsp;-&nbsp;0x8001&nbsp;+&nbsp;(b1&nbsp;-&nbsp;0x81)*157;&nbsp;<BR>&nbsp;&nbsp;else&nbsp;if&nbsp;(b1&nbsp;&lt;=&nbsp;0xa0)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;code&nbsp;+=&nbsp;0xe311&nbsp;-&nbsp;0x8001&nbsp;+&nbsp;(b1&nbsp;-&nbsp;0x8e)*157;&nbsp;<BR>&nbsp;&nbsp;else&nbsp;if&nbsp;(b1&nbsp;&lt;=&nbsp;0xa3)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;code&nbsp;+=&nbsp;0x8400&nbsp;-&nbsp;0x8001&nbsp;+&nbsp;(b1&nbsp;-&nbsp;0xa1)*157;&nbsp;<BR>&nbsp;&nbsp;else&nbsp;if&nbsp;(b1&nbsp;&lt;&nbsp;0xc6)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;code&nbsp;+=&nbsp;0x8800&nbsp;-&nbsp;0x8001&nbsp;+&nbsp;(b1&nbsp;-&nbsp;0xa4)*157;&nbsp;<BR>&nbsp;&nbsp;else&nbsp;if&nbsp;(b1&nbsp;==&nbsp;0xc6)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(b2&nbsp;&lt;&nbsp;0x7f)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;code&nbsp;+=&nbsp;0x8800&nbsp;-&nbsp;0x8001&nbsp;+&nbsp;(b1&nbsp;-&nbsp;0xa4)*157;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;code&nbsp;=&nbsp;0x8001&nbsp;-&nbsp;0x8001&nbsp;+&nbsp;(b2&nbsp;-0xa1);&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<BR>&nbsp;&nbsp;else&nbsp;if&nbsp;(b1&nbsp;&lt;=&nbsp;0xc8)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;code&nbsp;+=&nbsp;0x803f&nbsp;-&nbsp;0x8001&nbsp;+&nbsp;(b1&nbsp;-&nbsp;0xc7)*157;&nbsp;<BR>&nbsp;&nbsp;else&nbsp;if&nbsp;(b1&nbsp;&lt;=&nbsp;0xf9)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;code&nbsp;+=&nbsp;0x9d19&nbsp;-&nbsp;0x8001&nbsp;+&nbsp;(b1&nbsp;-0xc9)*157;&nbsp;<BR>&nbsp;&nbsp;else&nbsp;if&nbsp;(b1&nbsp;&lt;=&nbsp;0xfe)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;code&nbsp;+=&nbsp;0xe000&nbsp;-0x8001&nbsp;+&nbsp;(b1&nbsp;-&nbsp;0xfa)*157;&nbsp;<BR>&nbsp;&nbsp;else&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0xffff;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;return&nbsp;code;&nbsp;<BR>}&nbsp;<BR>&nbsp;<BR>int&nbsp;FileOff&nbsp;<BR>#&nbsp;*新加入此段的结尾*&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;esac&nbsp;<BR>&nbsp;<BR>#&nbsp;Hang-up.&nbsp;<BR>hang_up&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>结语&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;以上的讨论为在Linux上,使用EFAX软体传真的一些作法及范例,结合&nbsp;<BR>上篇讨论的语音录放,即可成为一双向留言及传真的伺服器,下一篇将试著探讨&nbsp;<BR>结合语音、传真、EMAIL,做讯息的交换与整合!&nbsp;<BR>&nbsp;<BR>撰文:朱先宇&nbsp;&nbsp;&nbsp;1998/12/15&nbsp;<BR>EMAIL:&nbsp;<A HREF="mailto:hybj@ms1.hinet.net">hybj@ms1.hinet.net</A>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>--&nbsp;<BR>just&nbsp;a&nbsp;test&nbsp;<BR>&nbsp;<BR>※&nbsp;来源:·BBS&nbsp;水木清华站&nbsp;bbs.net.tsinghua.edu.cn·[FROM:&nbsp;202.116.130.100]&nbsp;<BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -