MozTW 討論區 https://forum.moztw.org/ |
|
HKSCS 字碼表 https://forum.moztw.org/viewtopic.php?f=47&t=25606 |
第 1 頁 (共 5 頁) |
發表人: | timdream [ 2008-12-31, 07:42 ] |
文章主題 : | HKSCS 字碼表 |
請教一下,剛剛看了一下討論區的舊文章和wikipedia的資料,發現原來香港政府每年都在更新 HKSCS? 這樣的話,是不是該整理一下丟新的 bug 出去...?還是說 HKSCS-2004 已經對日常使用沒有問題了? PUA bug 的部份我看了半天還是不太懂:弘兵寄的信提到的問題是說有許多的 big5-HKSCS 編碼的網頁因為在 <meta> 標記為 big5,所以 Firefox 沒有切換到 HKSCS,導致字碼無法顯示。這件事情(和那個強制覆蓋編碼標記的擴充套件)和 Unicode Private User Area 並沒有關係呀....?而且把對應從 PUA 搬出不是早在 HKSCS-2004 就完成了? 附帶一提,要放在 Firefox 裡的 ut 和 ft 表(轉成 Unicode 和從 Unicode 轉出)這兩張表不一定要一樣。現在 big5 用的就不一樣,顯示用的 b2u 表是用 big5-uao 這個包含最多字的表,傳送表單資料用的 u2b 表用最小的 CP950。HKSCS 編碼在設計上也可以考慮這樣做。 以上都是 piaip 大師的結晶呀... 所謂前人重數後人乘涼? |
發表人: | s793016 [ 2008-12-31, 08:44 ] |
文章主題 : | |
在 bug 343129 中,當時他們加的是所謂的「雙向」表格,也就是說,轉回去 big5(hkscs) 的字是一定會到所謂的「造字區」去。 最簡單的解法: 修改源碼,將 intl/uconv/ucvtw 目錄中的 hkscs.uf 以 big5.uf 蓋掉,然後請人以這個源碼重編一個 firefox 出來。 |
發表人: | kwokts [ 2008-12-31, 10:08 ] |
文章主題 : | |
支持顯示用 big5hkscs-2004 或更新的碼表,傳送表單資料改用最小的 CP950 碼表以兼容 big5-2003。 |
發表人: | 余弘兵 [ 2008-12-31, 11:48 ] |
文章主題 : | |
s793016 寫: 最簡單的解法:
修改源碼,將 intl/uconv/ucvtw 目錄中的 hkscs.uf 以 big5.uf 蓋掉,然後請人以這個源碼重編一個 firefox 出來。 不過,Firefox 2 能夠顯示出Pua 字出來而Firefox 3 不能的原因是不是Firefox 3 使用了新的字碼表?那麼我們是不是應該把Firefox 2 的Pua 字源碼搬到Firefox 3 的 intl/uconv/ucvtw 裡面就可以解決? |
發表人: | timdream [ 2008-12-31, 16:55 ] |
文章主題 : | |
余弘兵 寫: s793016 寫: 最簡單的解法: 修改源碼,將 intl/uconv/ucvtw 目錄中的 hkscs.uf 以 big5.uf 蓋掉,然後請人以這個源碼重編一個 firefox 出來。 不過,Firefox 2 能夠顯示出Pua 字出來而Firefox 3 不能的原因是不是Firefox 3 使用了新的字碼表?那麼我們是不是應該把Firefox 2 的Pua 字源碼搬到Firefox 3 的 intl/uconv/ucvtw 裡面就可以解決? 我恍然大悟了,感謝弘兵丟了一堆討論串和 bug 給我看: * 兩者字碼表是相同的,從Firefox 2.0 beta 2 就是用bug 343129 這個字碼表。 * 但是,根據該 bug 的 comment 12,Firefox 因為 bug 162431 無法將 HKSCS-2004 對應完整放進去,許多字被迫留在 Unicode PUA 碼區(也就是停留在 HKSCS-2003 字碼表的對應)。 * 現象上,因為 Firefox 2 vs 3 向系統要求顯示 PUA 字的方法不同,導致 PUA 字在 Fx3 無法顯示。coolcd 的解說。 (註: 從上面連結討論串的圖片可以看出來那些 PUA 字都被對應到 Windows 的字建字區,特徵是無論字型多漂亮它都顯示醜醜的點陣字。這和櫻花輸入法當年解決日文顯示的做法是相同且有問題的。) 如果我沒搞錯原因的話,我 propose 以下解法: (選項 A) * REOPEN bug 343129 (因為 2004 的確沒有正確完整對應),設定它 depends on bug 162431 ,把其他跟 PUA 字有關的抱怨設定 duplicate to 403564,然後我們努力推動 162431 fix (選項 B) * 開新 bug 推 implement HKSCS-2008,但是這個 bug 還是 depends on bug 162431 ,把其他跟 PUA 字有關的抱怨設定 duplicate to 新 bug,然後我們努力推動 162431 fix 兩個解法都能有效的把香港字對應拉離 PUA 區,看大家覺得應該和開發團隊表達什麼樣的訊息囉。不過先說好,即便 HKSCS-2004/8 可以正確對應了,還是要安裝正確的字型才能顯示那些字喔... ===== 我真的很討厭 1 開頭的老 bug ,但是遇到了沒辦法 orz |
發表人: | timdream [ 2008-12-31, 16:56 ] |
文章主題 : | |
timdream 寫: 而且把對應從 PUA 搬出不是早在 HKSCS-2004 就完成了?
顯然這句話對 HKSCS-2004 的標準是對的,但是對 Fx 目前用的表來說是錯的。原來關鍵在這裡,噗。 |
發表人: | 余弘兵 [ 2008-12-31, 17:25 ] |
文章主題 : | |
小弟剛剛搞好了Firefox 香港社群版的原始碼,準備編譯。但是在Bug 162431 修復之前,是沒有辦法把Pua 字解決?(也就是一定要先fix 好 162431 才能夠解決?) 另外,為何源碼裡面,所有的圖標都是Minefield 的炸彈圖標,不是火狐的圖標嗎? |
發表人: | s793016 [ 2009-01-01, 00:53 ] |
文章主題 : | |
余弘兵 寫: 小弟剛剛搞好了Firefox 香港社群版的原始碼,準備編譯。但是在Bug 162431 修復之前,是沒有辦法把Pua 字解決?(也就是一定要先fix 好 162431 才能夠解決?)
另外,為何源碼裡面,所有的圖標都是Minefield 的炸彈圖標,不是火狐的圖標嗎? 如果您的要求只是輸入 hkscs 字在 hkscs or big5 編碼的地方不會變成 big5 / hkscs 的話,那麼您只要照我上面說的作就夠了。 另,自編版的因為 mozilla.org 版權問題,所以不會是火狐的圖標,包括名稱都不會一樣。 |
發表人: | 余弘兵 [ 2009-01-01, 19:53 ] |
文章主題 : | |
s793016 寫: 余弘兵 寫: 小弟剛剛搞好了Firefox 香港社群版的原始碼,準備編譯。但是在Bug 162431 修復之前,是沒有辦法把Pua 字解決?(也就是一定要先fix 好 162431 才能夠解決?) 另外,為何源碼裡面,所有的圖標都是Minefield 的炸彈圖標,不是火狐的圖標嗎? 如果您的要求只是輸入 hkscs 字在 hkscs or big5 編碼的地方不會變成 big5 / hkscs 的話,那麼您只要照我上面說的作就夠了。 其實我要求的是要這些HKSCS 字()在Unicode 並尤其UTF-8 的環境下能夠顯示。 s793016 寫: 余弘兵 寫: 另外,為何源碼裡面,所有的圖標都是Minefield 的炸彈圖標,不是火狐的圖標嗎? 另,自編版的因為 mozilla.org 版權問題,所以不會是火狐的圖標,包括名稱都不會一樣。那麼……如何能夠下載火狐圖標代替這些炸彈圖標? |
發表人: | timdream [ 2009-01-02, 00:58 ] |
文章主題 : | |
timdream 寫: * 兩者字碼表是相同的,從Firefox 2.0 beta 2 就是用bug 403564 這個字碼表。
天哪,我貼錯連結了,Firefox 2 和 3 用的(有問題的) HKSCS-2004 對照表是 bug 343129 這個。 我想到一個不需解決 bug 162431 的快速解法... 寫一個擴充套件,像同文堂一樣把網頁上的文字掃描一遍,看到被錯誤對應到 PUA 區域的文字就把文字代換到 HKSCS-2004 指定的 CJK ext A 字碼。 這樣的擴充套件可以處理上面有 PUA 字的 UTF-8 網頁(像這面,弘兵貼的文章),或是 HKSCS 編碼且被 Fx 內建的字碼表對應的網頁。但是無法處理動態內容 (?) 要寫這個擴充套件的話要整理一下 HKSCS 2001 (對應到 PUA 的表)和 2004 (對應到 ext A 的表)的差別了... |
發表人: | timdream [ 2009-01-02, 01:36 ] |
文章主題 : | |
余弘兵 寫: 其實我要求的是要這些HKSCS 字()在Unicode 並尤其UTF-8 的環境下能夠顯示。
根據這個表格: http://www.ogcio.gov.hk/ccli/eng/hkscs/ ... 003cmp.txt UxED9C 在 HKSCS-2004 的正確編碼是 Ux9B2A。 Ux9B2A: 「鬪」,是這個字對吧。 前文所述的擴充套件只要能自動做這件事就能讓所有字正確顯示。這件事情改 h2u 對照表沒用,因為已經輸入到討論區的字不會被對照表再處理。 (這個字不是用 Fx 在這邊輸入出來的吧) |
發表人: | timdream [ 2009-01-02, 06:02 ] |
文章主題 : | |
太蠢了,我竟然熬夜寫 test case: http://share.timc.idv.tw/encodetest.php?bytes=FA40FA41FA42FA43FA44FA45FA46&encoding=Big5-HKSCS 從這個測試可以看到,Fx 正確的把其中四個字對應到正確的 BMP CJK 漢字,但是另外三個字它對到了 0xE0xx 的 PUA 區,連它自己也無法正確顯示... 如果要對到 HKSCS-2004 所定義的正確位置的話,那這四個字應該要對到 test case 7 的那幾個字;我看不到那些字啦,不知裝了有沒有甚麼字型可以真的顯示這些 CJK extensions B 的字? 如果 test case 7 沒問題的話,這樣看起來顯示的部份解法頗明顯的: (A) 推那個 bug 把 HKSCS-2004 修好,這樣 Fx 看 HKSCS 網頁時就會把字對應到正確的 Unicode code point,當然 ext B 部份的字如果沒有字型可以顯示的話也是白搭 ...。 (B) 但是 (A) 無法解決 UTF-8 網頁上的 PUA 字,所以還是要寫個擴充套件針對網頁上的 PUA 做轉換 (用 Greasemonkey 就可以了只是效率不好)。 (C) piaip 的那個套件還是有用,把 <meda> 標記為 Big5 但是實際編碼為 Big5-HKSCS 的網頁強制用 Big5-HKSCS 處理。 發送的部份,我建議直接把 Big5-HKSCS 的 u2h 表改成 Big5 現在用的 u2b 表,只要送出去有可能會讓對方看不懂的字就全部不處理(讓 Fx 改送 &#...; 代號出去)。這個解法不用等那個 bug 修就可以先推。 唉,都 2009 年了,還在處理編碼這種古代的事情... |
發表人: | hfwong1 [ 2009-01-02, 12:47 ] |
文章主題 : | |
余弘兵 寫: s793016 寫: 余弘兵 寫: 小弟剛剛搞好了Firefox 香港社群版的原始碼,準備編譯。但是在Bug 162431 修復之前,是沒有辦法把Pua 字解決?(也就是一定要先fix 好 162431 才能夠解決?) 另外,為何源碼裡面,所有的圖標都是Minefield 的炸彈圖標,不是火狐的圖標嗎? 如果您的要求只是輸入 hkscs 字在 hkscs or big5 編碼的地方不會變成 big5 / hkscs 的話,那麼您只要照我上面說的作就夠了。 其實我要求的是要這些HKSCS 字()在Unicode 並尤其UTF-8 的環境下能夠顯示。 s793016 寫: 余弘兵 寫: 另外,為何源碼裡面,所有的圖標都是Minefield 的炸彈圖標,不是火狐的圖標嗎? 另,自編版的因為 mozilla.org 版權問題,所以不會是火狐的圖標,包括名稱都不會一樣。那麼……如何能夠下載火狐圖標代替這些炸彈圖標? 顯示那些 EXT B PUA 字固然重要,但是避免 FX 在互聯網上送出 PUA 字也是很重要的。所以希望你能先依照 S793016 的建議修正香港版,因為那兩個問題是完全不同的問題。 |
發表人: | hfwong1 [ 2009-01-02, 13:00 ] |
文章主題 : | |
其實有沒有辦法可以令到 FX 在 UTF-8 網頁上看到 PUA 字時自動抓 HKSCS 字體來顯示呢? 另外,官方根本對其它語言的支援採取愛理不理的態度。只要影響不到西方的使用者,他們都把那些問題當作不太緊要。所以要推動修正 bug 162431,恐怕要等上一段很長的時間,更不要說修正 HKSCS 碼表了…… |
發表人: | 余弘兵 [ 2009-01-02, 13:08 ] |
文章主題 : | |
hfwong1 寫: 其實有沒有辦法可以令到 FX 在 UTF-8 網頁上看到 PUA 字時自動抓 HKSCS 字體來顯示呢?
有,就是強制Firefox 使用HKSCS 字體來顯示網頁內容。除此以外,別無他法~ ![]() |
第 1 頁 (共 5 頁) | 所有顯示的時間為 UTC + 8 小時 |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |