康熙字典網上版
首頁 | 康熙字典檢索系統 |
同文書局版 | 武英殿版 | 渡部氏版 |
捐助本站 | 論壇 | 聯絡
Mac OS 9與Mac OS 9中文版中文輸入法體驗 - 中文輸入法學術論壇 - 康熙字典与倉頡之友 - Powered by Discuz!



康熙字典与倉頡之友

 找回密碼
 注册
搜索
熱搜: 活動 交友 discuz
查看: 1606|回復: 20

Mac OS 9與Mac OS 9中文版中文輸入法體驗

[複製鏈接]
發表於 1-10-2022 23:02:43 | 顯示全部樓層 |閱讀模式
2020年11月,Tim Cook在綫上發佈會中揭曉了Apple新的重磅產品——MacBook Pro with M1 chip。這款產品標誌着MacBook系列邁開了從Intel遷移到ARM平台的第一步。

為了遷移,Apple做了大量準備,他們通過Rosetta 2以及Fat Binary等技術解決了兼容性問題。事實上,Apple在遷移上駕輕就熟,這是因為Apple做這種驚險的事情已經不是第一次。也許很多人已經知道,在2005年,Apple就曾着手從PowerPC平台遷移到Intel平台上。這還不是全部,在1994年,Apple從Motorola 68000平台上遷移到了PowerPC平台上。2001年,Apple從Mac OS 9遷移到了Mac OS X(現名macOS)上。雖然Mac OS 9到macOS的遷移不涉及芯片轉換,但其驚險程度恐怕並不比芯片遷移更小。本次的故事,就要從Mac OS 9上開始。
 樓主| 發表於 1-10-2022 23:03:26 | 顯示全部樓層
本帖最後由 馬拉一個錘子 於 2-10-2022 10:44 AM 編輯

為什麼是遷移?

相信許多人看到上文會有疑問。Mac OS 9到Mac OS X不就是一次簡單的系統升級嗎?

1999年發佈的Mac OS 9及其前任被統稱為Classic Mac OS,事實上,Classic Mac OS和Mac OS X除了名字相同,界面有一些相似以外,幾乎就沒什麼關係了。Mac OS X利用一種被称為“Classic Environment”的技術來運行為Classic Mac OS編寫的應用程序,到了Mac OS X Tiger(10.4, 2005年)时,搭载Intel芯片的機型就已經無法運行Classic Mac OS的應用程序。
而到了Mac OS X Leopard(10.5, 2007年)時,Apple將Classic Environment從Mac OS X中移除,從此Mac OS X再也無法運行Classic Mac OS上的應用程序了。
 樓主| 發表於 1-10-2022 23:04:07 | 顯示全部樓層
本帖最後由 馬拉一個錘子 於 2-10-2022 09:53 PM 編輯

為什麼要遷移?
既然如此,為什麼要冒着巨大的風險遷移到Mac OS X上呢?這就要從Classic Mac OS的歷史說起了。

1984年,Macintosh和它的操作系統只被設計為一個單用戶、單任務的系統。這樣可以極大地簡化硬件開發的難度。然而,這造就了後來的一系列問題。由於會假設同一時間內只運行一個程序,工程師就會忽略掉可重入性。可重入性是指一個程序可以在任意一個點被中止,做一些其他事情,然後回到原任務。以Classic Mac OS的一個API,QuickDraw為例。這意味着操作系統可以將狀態信息存儲在內部,比如窗口的當前位置等信息,因為只有當前運行的程序會更改這些信息。再進一步,工程師將大部分的狀態信息留在了應用程序內,而非在QuickDraw內,這樣就無須將這些數據在應用程序和庫之間進行複製。QuickDraw通過尋找應用內的已知位置來找到這些數據。

結果,這種類型的內存共用觀念導致了程序崩潰和電腦崩潰。如果一個程序往這些共用區域內寫入了不正確數據,會導致QuickDraw崩潰,結果整台電腦都會崩潰。同理,QuickDraw中的一些問題也會導致它向這些程序內覆寫一些數據,又會導致崩潰。

另外,Classic Mac OS還缺乏內存保護功能。MMU技術保證了程序不會不小心向其他程序的內存空間內寫入數據,提前準備的共享內存可以讓數據可以在不同的庫之間傳遞。然而,Classic Mac OS沒有這種意義上的共享內存觀念。應用程序和操作系統同時共用所有的內存,崩潰成為家常便飯,在1990年代中期,Mac因其經常性的崩潰而惡名昭彰。

大約同期Microsoft所推出的Windows 9x系列也只有很有限的內存保護功能。以下的C代碼會讓整個系統出問題(可能會藍屏):
int main() {
    int* p = (int*)0x00010000;
    p += 1;
    *p = 0;
    return 0;
}
但是1993年推出的Windows NT家族(包括我們今天看到的Windows 11也是Windows NT家族中的一員)有了真正意義上的內存保護,Windows NT最初只用於服務器,後來才取代Windows 9x成為也面向家庭用戶的產品。

於是,從1994年3月起,Apple開始研發新一代的操作系統,內部代號為Copland。
Copland通過一種名叫“Blue Box”的環境來提供應用程序服務。這樣,如果程序crash掉,導致的最壞結果也是Blue Box炸掉而已,不會影响到整個系統。

然而,Copland開發進度缓慢,一再跳票。被雇來救火的Ellen Hancock意識到這個項目永遠也不會完成,於是她決定停止開發Copland,繼續原有的Mac OS Classic產品綫,然後向外界購買一個操作系統。由此,Mac OS Classic得以續命到2001年,而Apple最終選擇了購買NeXT公司。Steve Jobs和NeXT公司一起回到了Apple,同時Apple還獲得了NeXTSTEP操作系統。NeXTSTEP操作系統成為了Mac OS X的基石。因此,Mac OS X在技術上和Classic Mac OS是沒什麼關係的。

直到今天,如果我們使用Objective-C開發Mac OS X(macOS)和iOS應用程序,我們還是要大量地用到許多命名以“NS”开頭的類,例如NSString、NSDictionary、NSData、NSArray等等。而NS正是NeXTSTEP的縮寫。

OS X是一個全新的開始。它帶來了搶佔式多任務、內存保護等Apple夢寐以求的新特性。iOS也基於它。2007年,Steve Jobs在Macworld 2007上說:“iPhone runs OS X.”可以說,沒有Mac OS X就沒有今天的Apple。
 樓主| 發表於 1-10-2022 23:05:24 | 顯示全部樓層
Mac OS 9安裝

相信許多人是在Mac OS X時代才開始使用Apple的產品,而今天,我們要體驗的就是与OS X完全不同的Mac OS 9環境,以及上面的中文輸入法。

英文版本的Mac OS 9並不提供中文輸入法。英文版Mac OS 9預設無法顯示中文,都會顯示成問號。我們這裏以中文版Mac OS 9開始講解。

在Mac OS 9時代,Apple還在使用PowerPC,因此我們無法使用虛擬機來運行它。我們需要使用QEMU這個模擬器。值得一提的是,如果你現在在用ARM芯片的Apple電腦,那麼你也可以以QEMU模擬Windows 7等系統。至於Windows 10和Windows 11,它們都有ARM版本,用虛擬機更快。注意,模擬的效率比虛擬的效率要低得多。
首先,我們打開終端,鍵入下列命令:
brew install qemu

如果你沒有Homebrew,則需另外安裝,在此不表。

安裝完成後,新建一個文件夾,用來存放Mac OS 9的虛擬硬盤。例如我就以os9為名建了一個文件夾。

用終端進入,然后輸入以下命令:
qemu-img create -f qcow2 os9tc.img 1G

然後以準備好的Mac OS 9中文版iso啓動:

qemu-system-ppc -L pc-bios -boot d -M mac99 -m 512 -hda os9tc.img -cdrom 你的鏡像位置 -device usb-mouse -device usb-kbd
9642163385732437f2.png
 樓主| 發表於 1-10-2022 23:06:15 | 顯示全部樓層
484566338574d2db2b.png
至此我們的光盤啓動就完成了。
 樓主| 發表於 1-10-2022 23:07:40 | 顯示全部樓層
690926338577dda9d0.png
我們看到了Mac OS安裝的選項。但是不要急着點它,因為我們的虛擬磁盤尚未被格式化。
因此我們需要使用“工具程式”中的“磁碟設置”來配置磁盤。

911156338578c8f270.png

我們選擇“未初始化”,點擊初始化。

559586338579b8e30f.png

初始化成功後,我們選擇檔案→結束,關閉磁碟設置,然後才能開始安裝。

54040633857ae77934.png

Classic Mac OS關閉窗口的按鍵是窗口左上角的小方塊。至於右上角那兩個方塊,則是改變窗口形態用的。Mac OS X則是改成了我們熟知的紅綠燈。
 樓主| 發表於 1-10-2022 23:09:23 | 顯示全部樓層
59884633857e94385d.png

我們可以開始安裝了。

98946633857f6374a8.png

64244633858011edfd.png

安裝結束。

382196338581515ae9.png

光盤裏還提供了Adobe Acrobat Reader。不過我們現在是時候進入系統了,因此我們要先關機。
 樓主| 發表於 1-10-2022 23:11:40 | 顯示全部樓層
關機完成,回到終端,在終端裏輸入
qemu-system-ppc -L pc-bios -boot c -M mac99,via=pmu -g 1024x768x32 -m 512 -hda os9tc.img -device usb-mouse -device usb-kbd
系統開始啓動。

24133633858414de2f.png

進入系統。

36714633858692d31d.png

我們會注意到中文輸入法預設是倉頡。我們先完成設定輔助程式,然後再來看看輸入法。

49061633858904b922.png

首爾在那時還是被稱作漢城,時代的眼淚。

然後我們來看看輸入法。

393736338589c77e17.png

可以看到Mac OS 9提供了多種中文輸入法。注意,繁體中文版和簡體中文版提供的輸入法是不同的。

中文輸入法裏面有一個“密碼”。“密碼”其實就是英數輸入模式。

 樓主| 發表於 1-10-2022 23:12:57 | 顯示全部樓層
本帖最後由 馬拉一個錘子 於 2-10-2022 10:43 AM 編輯

中文輸入法測試(一)

為了方便測試中文輸入法,我們打開未命名→Applications→SimpleText。這是一個簡單的文本編輯器。

我們會發現,Mac OS 9的倉頡輸入法和微軟倉頡一樣無法以“手日土”輸入“捏”字。只能以“手竹難一”輸入“捏”,而且系統的Taipei字體會把“捏”顯示為“手竹難土”的字形。

90015633858ca348ac.png

和Mac OS X一樣,Z被作為萬能鍵使用。

“產”也只有按“産”字形取的“卜竹竹手一”編碼。“卜大一竹一”為空碼。

19075633858d760835.png

但是“睾”的編碼與微軟倉頡不同。微軟倉頡的“睾”為錯碼“竹田土廿戈”,而在Mac OS 9上,這個編碼是正確的。

46692633858ea35bdf.png

文本buffer,虛綫上加倉頡字母。像極了Windows 10。(下圖上為Mac OS 9,下為Windows 10)

14907633858f7883a1.png
 樓主| 發表於 1-10-2022 23:13:32 | 顯示全部樓層
本帖最後由 馬拉一個錘子 於 2-10-2022 04:30 PM 編輯

我們會發現,輸入“卜竹一月金”只有“頻”,沒有“顏”。
“顏”去哪了?難道Mac OS 9內置的倉頡缺字嗎?

原來,Mac OS 9的倉頡按照官方的排重規則,重碼字在前加一“X”,若超過五碼,則略掉最後一碼。因此“顏”只能以“X卜竹一月”打出,“卜竹一月金”只有“頻”候選。

同理,“佑”只能以“X人大口”打出。

Mac OS 9的倉頡無法以“ZX??”和“YYY??”輸入符號,而要以鍵盤上的符號來輸入。
 樓主| 發表於 1-10-2022 23:14:17 | 顯示全部樓層
本帖最後由 馬拉一個錘子 於 6-10-2022 12:02 AM 編輯

那麼,Mac OS 9的倉頡究竟是第幾代倉頡?我們來試一試。
我們會發現,“鬼”既可以通過“竹戈”也可以通過“竹山戈”打出。搞笑的是,在這裏,“竹戈”編碼又提供了兩個候選,可以選重碼了。其實,這種有些必須要用X選重,有些不用的情況在macOS中也有。例如簡體的“郑”只能打“X廿大弓中”,“廿大弓中”沒有“郑”候選。但是“顏”和“頻”在macOS中都有候選。

488936338593574eb0.png

我們繼續試編碼。我們會發現,“兔”有“弓山戈”和“弓日竹戈”兩個編碼。
“乍”有“X竹尸”和“人尸”兩個編碼。
“非”有“中一卜卜卜”和“中一尸卜”兩個編碼。
“面”有“一田卜中”和“一田尸中”兩個編碼。
“摩”沒有“戈木木手”編碼,可以肯定不是二代倉頡。
“魔”只能用三代的“戈木竹戈”而不能用五代的“戈木竹山戈”編碼打出。
但它也不完全支持三代倉頡,因為“蝦”只能用“中戈口尸水”而無法以“中戈口卜水”打出。
“膺”有三代的“戈土月”和五代的“戈人土月”兩個編碼。
“應”又變成只有五代的“戈人土心”,沒有三代的“戈土心”編碼。

因此,我們可以得出結論,這個碼表是三代與五代的混合。之所以不說這個碼表“兼容三代和五代”,是因為有些字如“魔”只有三代編碼沒有五代編碼。也有“蝦”、“應”字只有五代編碼而沒有三代編碼。

三代與五代混合同樣在Mac OS X上出現,而且 “魔”同樣是只有三代編碼沒有五代編碼。有些人可能會認為,Mac OS X和Mac OS 9使用同一份碼表,這沒什麼奇怪的。但事實上,Mac OS X與Mac OS 9使用的碼表是不同的。Mac OS X早期的倉頡是五代編碼,在一些字形上與Mac OS 9上的不同。“面”只有“一田尸中”沒有“一田卜中”,“並”只有按不同字形取碼的“廿廿一”,沒有“廿廿金”,與Mac OS 9相反。而獨獨“魔”字只有三代的“戈木竹戈”沒有五代的“戈木竹山戈”。直到Mac OS X Mavericks(10.9, 2013年)中,Apple才重新加入了三代編碼,而“廿廿金”也在Mac OS X的某個版本中被重新加入了。
筆者的猜想是,在Mac OS X發佈後,Apple的工作人員以原來碼表為基礎,刪去了三代編碼,並將一些他們認為不是五代的編碼,如“並”取“廿廿金”,修改成他們認為是五代的編碼。儘管“並”取“廿廿金”還是“廿廿一”只是字形不同導致的,並非版本不同導致的(也有可能Apple的工作人員錯誤地認為“业去掉底下一橫”在五代中是“廿”的輔根)。而“魔”成了漏網之魚,一直延續到現在。
 樓主| 發表於 1-10-2022 23:15:04 | 顯示全部樓層
本帖最後由 馬拉一個錘子 於 2-10-2022 04:05 PM 編輯

Mac OS 9的倉頡也有查碼功能。我們點擊右上角的筆形圖示,然後就能選擇查碼。

3968863385965c0395.png

231956338596cd6281.png

但是這個查碼有缺陷,一字多碼的情況,只能查到一个碼。比如“兔”只能查到“弓日竹戈”。

碼表的字形兼容上,“監”可以通過“尸戈月廿”和“尸一月廿”打出來。“麻”支持“戈十金金”和“戈木木”,然而“摩”的“戈金手”編碼依然欠奉。“黃”只有“廿田金”編碼。“圖”只有“田口十田”沒有“田口卜田”編碼。

關於字集,這個倉頡的碼表應是BIG5字集,沒有收錄BIG5以外的字集,包括“猪”等位於HKSCS的,被一些教材稱為“香港字”的字。
 樓主| 發表於 1-10-2022 23:15:52 | 顯示全部樓層
本帖最後由 馬拉一個錘子 於 5-10-2022 07:16 PM 編輯

順便一提“簡易”,也就是速成。Mac OS 9中的簡易在輸入完兩碼後並不會自動彈出候選單,而是要手動按一次Space。在選單中,Space一次,候選位就向右移一次。
我們會注意到“人十”無法在簡易中打出“午”。還記得我們之前提過的X排重嗎?沒錯,簡易中的“午”要輸入“X十”。天啊,太愚蠢了。雖然能理解這個編碼的來源,但是,在簡易的輸入環境下,“什”後面跟着一大排重碼字,然而它們都無需加“X”可直接選字,獨獨“午”不能,實在是太愚蠢了。

983836338598eb8a93.png

Mac OS 9中簡易重碼的排序與Mac OS X中“繁體速成”的排序基本上還是相同的。以今天的macOS 12.1中內置的“繁體速成”為例,除去多收的字,“田中”重碼的排序與Mac OS 9中的完全一致。

73642633859a0ad4de.png

78566633859a6d8767.png


注:倉頡和速成本無分簡繁,不過macOS在某個版本之後將速成和倉頡分為“繁體速成”、“廣東話速成”、“繁體倉頡”和“廣東話倉頡”幾種輸入方式。繁體版本和廣東話版本在收字上一致,惟排序與聯想詞存有差別。
 樓主| 發表於 1-10-2022 23:16:24 | 顯示全部樓層
接下來我們看看大易。

根據大易官方的說法,其於1998年9月“與美商蘋果電腦簽約,延續授權MAC OS中使用大易輸入法”。因此大易在Mac OS Classic中內置的時間應是更早。Mac OS X继续内置大易输入法,然而到Mac OS X Lion(10.7, 2011年)时,不知是Apple的大砍刀又癢了,還是因為協議到期,Apple移除了大易輸入法。從此以後大易輸入法就不再在Mac OS X中內置了。而iOS更是從未內置過大易輸入法,這可能是協議問題,也可能是Apple認為大易用戶太少沒有必要內置。
 樓主| 發表於 1-10-2022 23:16:55 | 顯示全部樓層
在Mac OS 9中內置的大易名稱為“大易(詞庫版)”,然而,筆者在測試幾個詞組後,並沒有發現它能打詞。

首先,我們來看看大易是幾碼的。大易分四碼、三碼、二碼版本。二碼版本類似速成,但是官方版本可以依靠人工智能連打,在這方面它更像雙拼。然而,二碼版本由於開發難度原因,現在不再販售了。如今販售的大易8.0分別有三碼版和帶詞庫的版本。
而三碼版本其實都是能兼容四碼打法的,因此可以把三碼視作無數個三簡。經測試,Mac OS 9中的大易是三碼版本,兼容四碼打法。例如,“便”可以以“人一水”和“人一日水”打出。

32982633859dc95e4a.png

Mac OS 9中的大易似乎是依靠空格移動候選選字的。被稱為快速鍵的幾個鍵無法用於選字,而在Windows版本中是可以的。

詞組方面,筆者嘗試了“日本”(日木一)、“門口”(門口)、“這樣”(言金木水)等幾個常用詞組,都沒有打出來。筆者懷疑這是不是真的詞組版。
 樓主| 發表於 2-10-2022 16:15:47 | 顯示全部樓層
Mac OS 9中文版並沒有內置行列輸入法與嘸蝦米輸入法。
行列輸入法可能是因為用戶太少,沒有得到Apple的重視。雖然行列輸入法在其推廣期,曾經鼓勵粉絲去請求Apple內置行列,然而無論是Classic Mac OS还是后来的Mac OS X或是iOS都沒有內置過行列輸入法。
嘸蝦米輸入法顯然是因為官方認為將版權授予給Microsoft或是Apple得到的利潤不夠高。大易輸入法為了推廣,將大易四碼授權給Microsoft,得到了一筆不是很高的授權費,然而這次授權影響了大易四碼的銷路,後來大易官方不得不再推出三碼版本以求差異化競爭。嘸蝦米顯然不想走這條路。
 樓主| 發表於 2-10-2022 17:37:50 | 顯示全部樓層
中文輸入法測試(二)

以上就是繁體中文版Mac OS 9的中文輸入法測試了。接下來,本文將簡單地測試簡體中文版Mac OS 9中的輸入法。我們先安裝簡體中文版Mac OS 9,在此不表。

5184063395be7b4098.png
 樓主| 發表於 2-10-2022 17:38:54 | 顯示全部樓層
Mac OS 9 簡體中文版內置一個“Beijing”中文字體,與繁體中文版內置的“Taipei”字體不同。
9990463395c26ce9e8.png
 樓主| 發表於 2-10-2022 17:40:00 | 顯示全部樓層
8558563395c4fe1b4b.png

然後我們來看簡體中文輸入法,簡體中文輸入法的圖標看起來…很…紅色。
默認的中文輸入法是五筆。

5074563395c5db93d6.png

Mac OS 9簡體中文版內置了五筆、五筆畫、ABC標準、區位、羅馬和密碼幾種輸入法。
筆者並沒有察覺到“羅馬”和“密碼”的差異,輸入結果都是英數。

需要注意五筆型和五筆畫的區別。五筆型是王永民發明的輸入法“王碼五筆”,而五筆畫就是筆畫輸入法。
 樓主| 發表於 2-10-2022 17:40:58 | 顯示全部樓層
我們先看五筆型輸入法。

1393763395c8d7441d.png

“靥”在Mac OS 9的五筆型輸入法中的編碼是“DDDL”而非“DDDD”,“蔻”的編碼是“APFL”而非“APFC”。五筆86版為了避免重碼,將少數字的末碼修改成“L”(大一統版本的五筆86版的“蔻”已經改回“APFC”但“靥”仍是“DDDL”),而Mac OS 9上的五筆型輸入法完全地體現了這一點。
據筆者之前的使用經驗,一些第三方五筆86碼表會將這些字的編碼改回原來的編碼,但是Mac OS 9中的五筆輸入法顯然沒有這麼做。
“Z”鍵是萬用鍵,例如打“DDDZ”會有如下的候選。

5308963395c9c76b61.png

可以看出Mac OS 9中的五筆輸入法是有詞組的。
您需要登錄後才可以回帖 登錄 | 注册

本版積分規則

Archiver|手機版|小黑屋|康熙字典与倉頡之友

GMT+8, 28-11-2022 08:55 PM , Processed in 0.057573 second(s), 7 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回復 返回頂部 返回列表