跳至內容

Unicode補計畫

出自Taiwan Tongues 台語維基
於 2025年8月24日 (日) 08:06 由 TaiwanTonguesApiRobot留言 | 貢獻 所做的修訂 (從 JSON 檔案批量匯入)

(差異) ←上個修訂 | 已批准修訂 (差異) | 最新修訂 (差異) | 下個修訂→ (差異)

Unicode 補計畫Unicode-at-on,簡稱UAO,官方網站使用的捌別系統用字是Unicode 補計畫)是台灣電腦使用者針對大五碼(Big 鋪五)延伸的黑亂、猶閣有微軟 Code Page 九百五十(Microsoft Windows 內建的 Big 抹五捘碼表)未收錄某一寡定用字(閣講欠字的問題)猶閣有欠缺對天中文系統並無對、中國海字集延伸中的簡體中文、日文假名佮日文漢字支援等等的問題所採取的其中一種解決方案(參看大五碼 # 影響)。 透過著 Code Page 九百五十的修改,予原始採用簡體中文或者是日語的內容,佇複製至 ANSI 架構的程式會當轉換做 Unicode 補計畫字集下的對應字元,煞袂造成欠字的問題(詳細字元請參看字元的來源)。 伊是一个自由軟體。

愛注意的是「Unicode 補計畫」無等於 Unicode。當人講「我已經安裝 Unicode」,通常是將「Unicode 補計畫」和 Unicode 濫做一談。

「 Unicode 補計畫」嘛毋是用來解決軟體顯示亂碼的問題。電腦內面愛有相關的字型(親像支援規个 Unicode 漢字的字型), 才會當佇電腦顯示器看著。因為乎「Unicode 補計畫」干焦包含講編碼轉換表,並無包括字型在內。閣有一寡日本語程式貯佇 Windows XP 所出現的亂碼問題,應用 Microsoft AppLocale 等程式去做內部轉換。

背景佮原理

「 Unicode 補計畫」伊是共大五碼造字區的區位佮 Unicode 的相關字元作雙向對應,以達到無需要藉助外字集、也通大五碼檔案或者是檔名使用原先欠缺的漢字。

因為大五碼干焦收錄十三 , 六十个漢字,著袂少使用者來講確實無夠,譬如講日語假名、阿麗、香港粵語字、科學用的特殊字等等攏欠缺。久長以來解決這款問題的方式攏是加裝各種外字集,比如講 sa-khú-lah 輸入法(支援日語假名)、 中國海字集、香港增補字符集(HKSCS)等。但目前世界的潮流是通使用包含上濟字數的 Unicode 為目標。以外字集收錄字元根本歹做資料交換之用,除非對方嘛安裝對外字集。

咧預設的狀態下,作業系統字碼表中,大五碼造字區是佮「Unicode 造字區」作雙向對應的,也就是講做電腦讀著某一个原先是落佇造字區的內碼的時陣,電腦會去讀其閣對應的 Unicode 造字區字元。結果是,因為毋是逐人電腦內底的 Unicode 造字區攏用仝一造字檔案,所以共外字集的用字傳送予其他的人,對方若無安裝仝款的外字集,就袂當看著內底的內容。

「 Unicode 補計畫」試圖以修改作業系統字碼表的方式以解決問題。伊共大五碼造字區的字元對應著相關的 Unicode 編碼。佮造字無仝的是,「 Unicode 補計畫」予遮的字元保持了雙向流通性。佇補了後的電腦頂懸,做遮的字元對大五碼轉變到 Unicode 儲存了後,𪜶攏總會予對應著正確的 Unicode 位置頂懸,了後就算講是對無安裝補完計畫的電腦使用者,只要伊的系統佮程式支援 Unicode,咧讀遮的文字的時陣,就完全無問題。

作業平台

「 Unicode 補計畫」修改作業系統中的字碼表,處理 Unicode 佮非 Unicode 字碼的對應。「Unicode 補計畫」首先是咧以 Unicode 架構為核心的微軟 Windows NT(包括講 Windows 兩千和 Windows XP)作業系統上開發,了後閣支援矣 ANSI 架構為核心的 Windows 九十八佮 Windows Me。

Linux 嘛有另外的使用者,開發 Linux 版的補計畫。

Palm 懸頂嘛有另外的使用者,開發對應的補完計畫:

  • CJKOS 版本
  • 掌龍版本

Unicode 架構的 Windows

包括講 Windows 兩千、Windows XP、Windows Server 兩千空三,佮未來的 Windows 系列。

修改的檔案:

  • $ SYSDIR \ C \ _ 九百五十 . nls:Unicode 佮 Big 抹五的對照表
  • 若使用者有安裝 Microsoft AppLocale,安裝程式會共 $ WINDIR \ AppPatch \ AppLoc . tmp 用一个仝名的空白唯讀檔案取代。
  • 若使用者無安裝 Microsoft AppLocale,安裝程式會直接產生一个空白的改讀檔案:$ WINDIR \ AppPatch \ AppLoc . tmp。

ANSI 架構的 Windows

包括講 Windows 九十八、Windows ME。

修改的檔案:

  • $ SYSDIR \ CP \ _ 九百五十 . nls:檔案總管顯示時使用的轉碼表
  • $ SYSDIR \ unicode . bin:負責佮檔案系統操作相關的轉碼表(註:共 $ sysdir \ unicode . bin 刪除閣重新啟動了後,系統會使用上原始的預設代碼頁四百三十七顯示,佇這个情形下所有存在佇咧檔名中的中文字攏會以『\ _ \ _』顯示,這包括大部份的桌面捷徑佮強欲規个『開始』功能表)
  • $ SYSDIR \ GDI . exe 咧顯示字型的時陣,取得字型的檔案(共代碼頁內碼依這當陣內容轉碼錶換做 Unicode 碼,閣以此 Unicode 碼到 TrueType 字型檔中提提字型)

註:

  • $ SYSDIR 是代表某路徑的一个變數,佇咧 Windows XP 預設的是 C : \ WINDOWS \ system 三十二,佇咧 Windows 二千預設是 C : \ WINNT \ system 三十二,佇咧 Windows 九十八佮 Windows ME 預設的是 C : \ WINDOWS \ system。
  • $ WINDIR 嘛是一个路徑變數,佇咧 Windows 九十八、Windows ME 和 Windows XP 預設的是 C : \ WINDOWS,Windows 二千預設是 C : \ WINNT。

字元的來源

佇咧「Unicode 補計畫」的第二版內底,字元的基本來源是參照「中國海字集」,閣加上中國海字集所落勾的簡體中文、日語佮部份的香港用字來做。

「 Unicode 補計畫」的二嬸四空 Alpha 三版,除了大五碼原有的符號佮漢字外,收錄了四 , 九百十六字漢字佮漢字偏邊仔、日語的半形佮全形假名、俄語西里爾字母等,涵蓋矣佇 GB 二千三百十二(毋是呢 GBK 抑是 GB 一孵八千空三十)、 JIS X 二百空八中出現的所有漢字,佮香港增補字符集內底,Unicode 碼落佇 U + 四 E 零至 U + 九 FA 五中(即 Unicode 一孵一版定義)的漢字。(因為編碼的空間不足的關係,並無收錄佇香港增補字符集的 Unicode 擴充漢字)

使用上的問題

「 Unicode 補計畫」原先的立意是避免字型,以達成擴充 Big 抹五的目的:毋過因為 Unicode 環境猶未成熟、佮使用者的誤用,「 Unicode 補計畫」有時仔顛倒使用者本身 ─ ─ 甚至其他使用者 ─ ─ 𤆬來其他的麻煩。

網頁交換

這是「Unicode 補計畫」使用者可能會影響著其他使用者的上大問題。

一般的網頁瀏覽器抑是電子郵件客戶捀,佇使用者拍出非該軟體顯示畫面預設編碼(譬如講寫一封用大五碼做編碼的批評)的字元時,軟體會自動共遮的字元轉做 Unicode 參照碼,比如講「堃」會予自動轉做「& # 二嬸二千五百三十一 ;」;毋過咧補了後的電腦,因為就算拍出的是原非大五碼預設的字元,也會予人認為是大五碼的字元(貯矣「Unicode 補計畫」的系統,咧對照字碼表了後,發現中間有這个字), 因此就袂予人轉換。這也就是講,其他使用者無一定會當看著欲使用者所拍的字 ─ ─ 除非𪜶嘛有裝「Unicode 補計畫」。 所以顛倒佮「Unicode 補計畫」的創立宗旨顛倒頭行:原本避免以外字集解決欠字的「Unicode 補計畫」,顛倒變做另外一套外字集。解決的方案是,當使用者安裝「Unicode 補計畫」時,得到一分「HTML 外字相容轉換器」(另外嘛有網路版), 會當直接共原本無屬於大五碼的字元轉換做參照碼;紲落來只要是用這份挾雜著參照碼的檔案,就會當予其他使用者嘛看著遮的字元。另外一種做法就算講,像推廣 sa-khú-lah 輸入法仝款推廣「Unicode 補計畫」,使其嘛變成一種人人使用的非官方標準。毋過最終的解決方案是放棄大五碼,共彼个網頁抑是信件直接改用 Unicode 編碼。

新舊檔名

這原仔 sa-khú-lah 輸入法使用者會面臨的問題。

佇咧無安裝「Unicode 補計畫」的電腦,做使用者使用 sa-khú-lah 輸入法為檔案號名時,儉佇咧電腦內底的檔名雖然是 Unicode 編碼,煞是佇咧「Unicode 造字區」內的字碼;猶閣補了後的電腦,因為字碼表已經予人改,遮的檔案名稱佇咧 Unicode 架構的程式的檢視之下,就會變空白;而對 ANSI 架構的程式(比如講 ACDSee、Winamp 等), 甚至會變做無法度存取的亂碼。這就表示講甚至連 ANSI 架構的作業系統(譬如講規个 Windows 九十八)攏無法度存取該檔案。另外閣有一个問題呢:若電腦是無安裝「Unicode 補計畫」的 ANSI 架構作業系統,以上的狀況就會拄仔好顛倒反(以 Unicode 架構的作業系統無這个問題)。

解決方案:Unicode 補計畫內附一个檔名轉換程式,會當共造字區檔名佮 Unicode 檔名相換,但是會當佇 Unicode 架構的作業系統之下使用;ANSI 架構作業系統的使用者必須愛手動改檔名。另外一个較有效率的做法:若是雙系統的使用者,會當直接佇 Unicode 架構的作業系統下使用改檔名程式,予 ANSI 架構的作業系統使用。

其他的問題

  • Unicode 補計畫的編碼無相𫝛香港增補字符集的編碼,兩个人干焦會當擇其一个爾。簡單來講,就算 Unicode 補計畫佮香港增補字符集均有某一字,但是因為這个字佇大五碼內底的位置無相𫝛,故彼字就干焦會使佇咧 Unicode 的環境之下交換,袂當直接透過大五碼交換。
  • Unicode 補了計畫會使用著使用者造字區;也就是講若使用者有自造字,遮的字可能會拍無去。


: PS:若使用者家己造字安咧 Unicode 補計畫提供的「造字保留區:零 xFA 四十~零 xFA 六十三」內底的話,是無在此限。
  • 有人表示補完計畫會予 Internet Explorer 的自動選擇網頁編碼準確度下降,但是沒辦法證實。
  • 佇安裝補計畫了後,Microsoft FrontPage 咧處理 Big 五編碼網頁的時陣會運作無正常(包括講:存檔會當落致使檔案大細歸零內容遺失), 但是若準講 FrontPage 是處理 Unicode 網頁,就會當正常運作。


: PS:這个問題干焦佇使用者 Windows 其實「非 Unicode 程式語系」是「正體中文」的情況下才會發生。
  • 對於毋是用系統字碼表的軟體 ─ ─ 比如講 Mozilla Firefox 等跨平台瀏覽器抑是 Java 軟體 ─ ─ 補計畫會不效,遮的軟體需要「個別的補了」(親像有一寡社群版的 Firefox,就有共補完了字碼表編譯入去)。
  • Windows 九十八的幼明體字形(mingliu . ttc)比起 Windows Me / 兩千 / XP 的版本來得舊。舊版字形有袂少欠字情況;使用者著愛佇新版 Windows 中,複製詳細明體去更新 Windows 九十八的字形檔案。
  • Windows 九十八 / Me 的使用者需要閣鬥「中國海字集」,才會當正常顯示純文字檔案。
  • 因為 Windows XP Service Pack 二改進了系統檔案保護的能力,補計畫需要變更一个系統檔案,故當出現一个視窗,詢問講敢愛閣愛開這个系統檔案的時陣,使用者著愛選擇「不還原」這个檔案,才會當安裝成功。

無屬於 Unicode 補完計畫毋過內建其字碼表的軟體

  • PieTTY:SSH 佮 Telnet 客戶捀程式。
  • OpenPCMan:Telnet 客戶捀程式。
  • Firefox 二孵空版:網頁瀏覽器。(Big 五 →Unicode 單向使用 Unicode 補計畫字碼表。)

相關條目

  • 大五碼(Big 鋪五)
  • 中國海字集
  • Unicode

參考文獻

參考檔案

  • 「Unicode 補計畫」讀我檔案(佮安裝程式內底)
  • C \ _ xxx . NLS & CP \ _ xxx . NLS 結構解說
  • Unicode . bin 結構解說
  • Windows File Protection : How to disable it on the fly

外部連結

  • 「Unicode 補計畫」官方舊站-鏡親像
  • 中文編碼網頁-台灣 Unicode 補計畫(照起工來)-字
  • ~ ~「Unicode 補計畫」官方網站 ~ ~-失聯徛台
  • ~ ~ 補計畫救星 ~ ~-失聯徛台

備註