2022年3月16日

NVDA認得幾個中文字?

使用 NVDA 有好一段時間的你可曾遇到過中文字語音讀不出來的情況嗎?
NVDA 飽讀詩書,哪裡會有不認得的字呢?
想必你憗該一頭霧水,其實中文字能否順利讀出與 NVDA 沒有直接關係,而是由搭配使用的語音決定的,可別再誤會 NVDA 了。


既然如此,你已經將矛頭指向那個瑟瑟發抖的語音身上,可憐的語音不禁要大聲喊冤,中文字實在是太多了。
會太多嗎?平常文書處理、瀏覽網頁或電郵通訊往來使用的中文字看來應該還好不算多吧!
關鍵來了,中文字到底多不多,中文字就竟有多少個字?

為了使不同語言文字都能依循統一標準在電腦世界中流通運用,因而有了 Unicode 文字編碼的標準,每一個字元都會有唯一的編碼用來表示該字元,不論你是打字或是瀏覽網路上的文章,對電腦來說都只是不同字元編碼的組合。你可隨意找個文字,利用 NVDA 連按三下數字鍵盤 2 的功能,便會得到兩組神祕的數字,他們就是 Unicode 的字元編碼,第一組是該字元以十進位表示的字元碼,第二組則是以十六進位表示的字元碼。
平常我們不會去觀注字元碼,但在某些情況下可能會需要,例如比對兩個中文字是否為同一個字,你會說看那兩個字長得一不一樣不就知道了,這話對也不對,一來中文字有不少氞字形十分相近的字,沒有將文字放大到一定程度不易分辨差異,二來視障者可能看不清楚或根本就看不到字又要如何從字形外觀來判斷呢?

自從有了電腦之後,充滿底蘊的中文字也躍進了數位世界,有萬國碼之稱的 Unicode 在歷經版本不斷更新的加持下,包含廣義中文字的漢字數量非常可觀。Unicode 的文字編碼中有幾個與中文字有關的編碼區段,在 Unicode 標準發表後首先定案的中文字區段為 CJK Unified Ideographs (中日韓統一表意文字),我們熟知的中文有分繁體中文與簡體中文 (簡化字),加上日文及韓文有些文字也是從中文字衍生而來,故此區段中的文字不單單只是你使用的中文字而是廣義上的漢字。
此區段目前已定義的字數將近二萬一千個字,比較特別的地方是將不同語言但字形相同或近似的文字放在一起共用同一個文字編碼,例如台灣的「台」在簡體字也有此字。

使用 NVDA 通常會搭配 Windows 內建的 Microsoft 中文語音來朗讀中文,所能讀出的中文字就是這個區段內的字,說多也不算多,因為中文字可不只這個區段的字,隨著 Unicode 版本的更新陸續加入了 CJK Unified Ideographs Extension A (中日韓統一表意文字擴充 A),還有擴充 B 到 G 區段的字,加總起來有好幾萬字。
話說回來,中文字雖然數量龐大,但扣除罕用字我們使用頻率較高的字並沒有這麼多,中日韓統一表意文字區段中的字其實就已能滿足我們大部分使用所需,所以你在一般情況下不太會碰到讀不出來的中文字原因在此。

中文字不但多而且同音異字的特性,對以語音聽讀的視障者來說不見得能確定聽到的字詞是否就是心中所想的,也可能一時想不起來是哪個字,可以將游標或檢閱游標移到有疑問的文字上,利用 NVDA 連按兩下數字鍵盤 2 的功能,便會聽到數個含有該字的相關詞語幫助了解是哪一個字,有些還會有字形構成的描述或解釋。
不過就 Microsoft 中文語音可以讀出的中日韓統一表意文字這個區段的文字而言,仍有相當數量的字 NVDA 尚未提供相關說明,所以有可能會碰到沒有說明而不知是哪一個字的情況,另外對於有提供候選字功能的中文輸入法,例如注音輸入法的候選字清單中有些候選字也因而同樣沒有相關說明影響選字。

即便語音能夠讀出中文字,但不表示發音就一定是你聽到的那樣,因為中文字的發音可能不只一種,有時對某字或組合成詞的發音若跟你認知的不同未必是語音的發音錯誤,有可能是該字具有一字多音的關係,你可以利用 NVDA 的讀音字庫功能來修改字或詞的發音,除此之外也可以利用此功能將語音讀不出來的字變成可以讀出來,此種方式適合在你的使用情境下較會遇到的字。不論是要修改既有的讀音或是想知道讀不出來的字該怎麼讀,可以利用以下的網站來查詢。


Windows 內建的注音及倉頡輸入法預設可輸入的中文字範圍是中日韓統一表意文字區段的字,遇到打不出來的字若不是注音拼音或倉頡碼錯誤,很有可能是屬於擴充 A 或 B 區段的字,需要到注音及倉頡輸入法的設定中變更字元集使其可以輸出這兩個區段的字。

在製作文件檔案時也要留意使用的中文字型可否正常顯示中文字,我們經常使用的 Windows 「新細明體」可以支援中日韓統一表意文字以及擴充 A 這兩個區段的字,基本上已非常夠用,若罕用字茖在擴充 B 區段,則需使用「新細明體-ExtB」字型。

想知道某個中文字是屬於哪一個區段的中文字,可以安裝 NVDA 附加元件 Character Information,將游標或檢閱游標移到要查詢的中文字上,連按四下數字鍵盤的 2 就會出現一個視窗顯示字元的相關資訊,其中在 Name 或 Block 欄位會顯示字元所屬的文字區段名稱。

延伸閱讀