亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 4663 | 回復(fù): 5
打印 上一主題 下一主題

[學(xué)習(xí)分享] elinks-0.12中文GBK補丁以及zhcon-0.2.6支持GPM中繼補丁套裝 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2014-05-29 12:54 |只看該作者 |倒序瀏覽
本帖最后由 wilddingo 于 2014-05-29 13:02 編輯

elinks在0.12版仍未支持中文,使用起來非常不便。這次索性又改了一次,現(xiàn)在支持GBK,UTF-8和英文。對于歐洲其它奇怪文字的國家,估計支持不了,不過我也沒條件測試。新版本elinks結(jié)構(gòu)上跟老版本好像不太一樣,幾年前改0.11版的印象已經(jīng)淡忘了,但結(jié)構(gòu)上好像沒有0.12好。另外,由于是沖著純文本環(huán)境去的,所以主要的終端增強工具仍舊是使用zhcon,它的漢字字體還不錯,而且識別率很高。但是如果使用了zhcon,它會阻斷GPM(鼠標(biāo))消息,所以elinks運行在zhcon下會無法在文本模式方便地使用鼠標(biāo)。為了解決這個問題,我稍微修改了zhcon的代碼,使得可以用命令行參數(shù)控制zhcon將鼠標(biāo)消息中繼到運行與其下偽終端的程序,例如elinks。elinks的改動,中文支持就不說了,增加了命令行參數(shù)控制的使用zhcon提供的gpm中繼的能力。所以現(xiàn)在不但可以完整地顯示中文,也可以無障礙地使用鼠標(biāo)(文本模式下)。同時順手修改了一個在支持JavaScript(SpiderMonkey)時elinks的小錯誤。更動仍舊以patch形式奉上。稍后解釋用法,先看幾張截圖:

這是廣播論壇的頁面效果。還可以。

這張圖可以看到charset選項中新增了GBK

這是用來顯示純中文的讀書頻道。
截圖是我直接從linux的framebuffer上截的,由于格式轉(zhuǎn)換軟件的顏色問題,所以看起來顏色很奇怪,實際上很正常。
現(xiàn)在說一下補丁的用法以及相關(guān)情況,elinks版本為elinks-0.12pre6,下載源碼包后:
tar jxvf elinks-0.12pre6.tar.bz2
cd elinks-0.12pre6
patch -p1 <../elinks-0.12pre6-zhcon-gbkmod.patch
./configure --enable-88-colors --enable-256-colors --enable-true-color --enable-html-highlight [--with-spidermonkey=/the/path/u/have]&& make
zhcon的補丁用法類似,但要注意,zhcon并未完整發(fā)布0.26版,而是從0.25patch到0.26的。要使用我提供的gpm補丁,需要先打上0.25-to-0.26的patch。在帖子末尾我會附上這個補丁,以免滿世界找。
tar zxvf zhcon-0.2.5.tar.gz
cd zhcon-0.2.5
patch -p1 <../zhcon-0.2.5-to-0.2.6.diff
patch -p1 <../zhcon-0.2.5-gpm-relay-mod.patch
./configure && make
我的補丁稍微修復(fù)了zhcon編譯時容易報告的iconv庫函數(shù)解析失敗的錯誤,直接編譯即可。
補充說明一下:
啟動gpm,zhcon和elinks的順序是,先啟動gpm,可以用類似的命令:
gpm -m /dev/input/mice -t imps2
不是每個人的機器都一樣,具體情況查閱相關(guān)文檔
啟動zhcon:
zhcon --gpm_relay
--gpm_relay即為gpm消息中繼,如果不帶該參數(shù),zhcon的行為和補丁前一樣。
啟動elinks:
elinks --under_zhcon
--under_zhcon會讓elinks使用zhcon中繼的gpm服務(wù),如果不帶該參數(shù),將使用原有的gpm服務(wù),或者:
elinks --under_zhcon --gpm_relay_path=/tmp/zhcongpm   (/tmp/zhcongpm是默認(rèn)路徑,unix套接字,如果你沒有那個位置的,可以指向其他位置),也可以寫成:
elinks --under_zhcon --gpm_relay_path /tmp/zhcongpm
等號可以不要,如果不指定--gpm_relay_path,會使用默認(rèn)路徑

zhcon和elinks的新增參數(shù)在--help時是看不到的,因為是額外插入的代碼,為了不干擾原有的命令行參數(shù)解析實現(xiàn),我屏蔽了一部分param.h中的自動化內(nèi)容。如果有興趣,
諸位可以自行修改。

補丁文件們:
zhcon-0.2.5-gpm-relay-mod.patch.gz (6.08 KB, 下載次數(shù): 32)

zhcon-0.2.5-to-0.2.6.diff.gz (2.81 KB, 下載次數(shù): 27)

elinks-0.12pre6-zhcon-gbkmod.patch.gz (30.29 KB, 下載次數(shù): 39)

now,enjoy it!

論壇徽章:
0
2 [報告]
發(fā)表于 2014-06-09 09:18 |只看該作者
這個補丁太好了!我以前用過0.11版的,對GBK的支持太酷了,F(xiàn)在又釋出0.12版的,太及時了。謝謝!!!!!!

論壇徽章:
0
3 [報告]
發(fā)表于 2014-06-10 19:05 |只看該作者
本帖最后由 wilddingo 于 2014-06-10 19:13 編輯

補丁更新:
更新內(nèi)容:
elinks:修復(fù)了bookmark功能,原來的bookmark是好的,在修改了中文化部分后開始不能工作,F(xiàn)在可以正常工作。
             解決了bookmark的title不能輸入中文的問題,這實際上是兩個問題,一個是gbk輸入問題,一個是utf-8輸入問題,F(xiàn)在都可以正常使用,在什么終端下,就用什么終端提供的輸入法輸入即可。
             解決了bookmark保存條目是轉(zhuǎn)碼到固定的,終端相關(guān)的codepage的問題,F(xiàn)在一律保存為utf-8編碼。在什么類型終端下打開,就顯示為什么codepage,以便于經(jīng)常在不同終端上共享同一個elinks配置文件的用戶使用。例如可以在zhcon下保存書簽,然后在x11的xterm下顯示書簽列表,顯示是不會有問題的,反之亦然。
             解決了網(wǎng)頁上的輸入框輸入中文的問題,并且解決了form表單在提交時轉(zhuǎn)碼的問題。現(xiàn)在無論是utf8還是gbk網(wǎng)頁,都可以在任意類型終端上用它提供的輸入法輸入中文內(nèi)容。比如說你可以在UTF-8編碼的baidu主頁上用utf8輸入法輸入搜索內(nèi)容,也可以在zhcon下用gbk輸入法輸入同樣內(nèi)容。
            解決了有些頁面不能斷行的問題。后來發(fā)現(xiàn)這些頁面是table類型的。例如在瀏覽一個論壇時,如果某一層內(nèi)容很長,則需要橫向滾屏,很麻煩,F(xiàn)在這種情況也可以自動斷行,一屏顯示。但對于特別特別長的內(nèi)容,可能會覆蓋到下一層樓的標(biāo)題或者作者信息之類的內(nèi)容,由于不多見,沒去改。
           解決了utf8網(wǎng)頁顯示有時候會缺一個字的問題。
            更新了轉(zhuǎn)換的核心函數(shù),現(xiàn)在比上一個補丁更安全,同時也更廣譜一些。
zhcon:
           在原有基礎(chǔ)上恢復(fù)了失效已久的正規(guī)熱鍵:ctrl+space呼出輸入法,ctrl+alt+1~9切換輸入法。失效的表現(xiàn)是,ctrl+space無法呼出或者關(guān)閉輸入法,呼出熱鍵是ctrl+2.這很不爽,不過現(xiàn)在問題解決了。
           已知問題描述:
            使用了我的elinks補丁后,在64位環(huán)境下編譯沒問題,但運行時,有一定概率elinks會報告crash。這看起來是對于iconv庫使用造成的。內(nèi)存處理應(yīng)該沒有泄露現(xiàn)象,也沒有越界,具體原因沒細查,如果是64位的用戶,要慎重使用,或者有興趣可以自己修改一下。
            另外在ubuntu下編譯zhcon時可能會遇到一些頭文件未包含的問題,這并非我的補丁造成,如果遇到這種問題,只有手工一一修改報錯源文件了,這是個體力活,如果想一蹴而就,就改global.h或者config.h。
            由于zhcon和elinks都需要gpm支持,所以請先編譯或者安裝gpm。再編譯zhcon和elinks才能得到gpm支持。
           鑒于各位可能會遇到編譯問題,順便補充一下,我的環(huán)境,userland是LFS-6.3-r2160,內(nèi)核3.14.3。
           新的補丁奉上:
          elinks-0.12pre6-zhcon-gbkmod.patch.gz (34.15 KB, 下載次數(shù): 26)
zhcon-0.2.5-gpm-relay-mod.patch.gz (7.06 KB, 下載次數(shù): 23)

論壇徽章:
0
4 [報告]
發(fā)表于 2014-06-11 09:50 |只看該作者
編譯過了,真得很好用!將圖附上

不過,在使用中發(fā)現(xiàn)一個問題,對于部分UTF-8編碼的網(wǎng)站,如www.360doc.com,回行的截止處好像不太對,一行的內(nèi)容有點過長。我過elinks中的wrap on/off這個選項,沒有根本改變。這個問題,也許與elinks 的frame有關(guān)吧。但用elinks-0.13.git 編譯的程序就沒有這種現(xiàn)象,只是它又不能很好地顯示gbk(包括gb2312)編碼的網(wǎng)站,總會在一段中的后部分出現(xiàn)亂碼。如果有可能,請樓主參考一下它們的編碼。也許這樣一來,補丁就完美了。我不懂編碼,這個思路也可能是不可取的。供參考。

論壇徽章:
0
5 [報告]
發(fā)表于 2014-06-11 10:11 |只看該作者
回復(fù) 4# boslad


    我注意到了有些網(wǎng)頁無法正確斷行的問題,這跟是不是UTF-8沒有直接關(guān)系,這種網(wǎng)站多半是javascript的。對于javascript的內(nèi)容,elinks的處理流程和普通網(wǎng)頁好像不同,我也
正在找它相關(guān)的代碼,打算解決這個問題,不過時間零碎,不知道何時能夠完成。謝謝你反饋的有用信息

論壇徽章:
2
水瓶座
日期:2014-06-12 08:22:39IT運維版塊每日發(fā)帖之星
日期:2015-08-05 06:20:00
6 [報告]
發(fā)表于 2014-06-13 08:58 |只看該作者
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP