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 字體來顯示網頁內容。除此以外,別無他法~ :cry:

1 頁 (共 5 頁) 所有顯示的時間為 UTC + 8 小時
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/