英语音标和Unicode
1 緣起
我本來(lái)是要整理一份英語(yǔ)音標(biāo)的替換表。在cnbook中使用這個(gè)替換表可以把金山詞霸的音標(biāo)轉(zhuǎn)換到音標(biāo)對(duì)應(yīng)的Unicode字符,就可以正確顯示了。在整理替換表的過(guò)程中,發(fā)現(xiàn)網(wǎng)上很多關(guān)于音標(biāo)的文章還是圖片形式,很多網(wǎng)友還在用特殊字體來(lái)輸入和顯示音標(biāo)。
其實(shí)使用Unicode后,我們基本上可以像處理普通字符一樣處理音標(biāo)。于是我整理了這篇關(guān)于英語(yǔ)音標(biāo)和Unicode的文章。本文假設(shè)讀者了解Unicode。如果您不熟悉Unicode,可以參考我以前的一些文章:
- 淺談文字編碼和Unicode(上)
- 淺談文字編碼和Unicode(下)
- 談?wù)刄nicode編碼,簡(jiǎn)要解釋UCS、UTF、BMP、BOM等名詞
2 特殊字體
目前很多網(wǎng)友使用特殊字體來(lái)輸入和顯示音標(biāo)。例如金山詞霸的Ksphonet.ttf。這些字體把一些普通的ascii字符映射成英語(yǔ)音標(biāo)。例如將A映射成?。用戶(hù)輸入的其實(shí)還是A。安裝過(guò)這種字體的用戶(hù)可以在Word里實(shí)驗(yàn)一下:輸入字母A后,將其字體設(shè)置為“Kingsoft Phonetic Plain”后,它就被顯示成?。
我們把這樣輸入的音標(biāo)復(fù)制到其它文本編輯器,其它編輯器按當(dāng)前字體顯示,就會(huì)顯示出這些音標(biāo)的原形,即普通的ascii字符。例如我在一個(gè)網(wǎng)站上看到過(guò)如下的DJ音標(biāo)介紹:
英語(yǔ)音標(biāo)表(英語(yǔ)國(guó)際音標(biāo)表,dj音標(biāo)) 單元音 短元音 [E] [O] [u] [V] [e] [Q] 單元音 長(zhǎng)元音 [i:] [E:] [O:] [u:] [A:] 雙元音 [ei] [ai] [Oi] [au] [Eu] [iE] [CE] [uE] 清濁成對(duì)的輔音 清輔音 [p] [t] [k] [F] [T] [s] [ts] [S] [tS] 清濁成對(duì)的輔音 濁輔音 [B] [d] [G] [v] [D] [z] [dz] [dr] [Z] [dZ] 其它輔音 [H] [M] [n] [N] [l] [r] [J] [W]很容易猜到,編輯是將Word中正常顯示的音標(biāo)直接復(fù)制過(guò)來(lái)的。編輯在Word中使用了GWIPA字體把這些普通字符顯示成音標(biāo)。但在網(wǎng)頁(yè)上,瀏覽器沒(méi)有用GWIPA字體顯示這些字符,所以就看到了本來(lái)的ascii字符。GWIPA字體采用了以下映射關(guān)系:
我按照這個(gè)映射關(guān)系做一個(gè)替換表,將普通字符轉(zhuǎn)換成對(duì)應(yīng)音標(biāo)的Unicode字符,就可以得到:
英語(yǔ)音標(biāo)表(英語(yǔ)國(guó)際音標(biāo)表,dj音標(biāo)) 單元音 短元音 [?] [?] [u] [?] [e] [?] 單元音 長(zhǎng)元音 [i:] [?:] [?:] [u:] [ɑ:] 雙元音 [ei] [ai] [?i] [au] [?u] [i?] [??] [u?] 清濁成對(duì)的輔音 清輔音 [p] [t] [k] [f] [θ] [s] [ts] [?] [t?] 清濁成對(duì)的輔音 濁輔音 [b] [d] [g] [v] [e] [z] [dz] [dr] [?] [d?] 其它輔音 [h] [?] [n] [N] [l] [r] [j] [w]3 Unicode字符的顯示
不是所有字體都能顯示音標(biāo)對(duì)應(yīng)的Unicode字符。在Windows的默認(rèn)字體中目前只有"Lucida Sans Unicode"支持這些音標(biāo)字符。還有一些字符能很好地支持Unicode,例如"Arial Unicode MS"和網(wǎng)友開(kāi)發(fā)的UniFonts。不過(guò)這些字體需要用戶(hù)單獨(dú)安裝。在設(shè)計(jì)網(wǎng)頁(yè)時(shí)不能假設(shè)用戶(hù)安裝過(guò)這些字體。
因?yàn)閃indows默認(rèn)支持一些Unicode字體(例如"Lucida Sans Unicode"),所以與前面介紹的特殊字體相比,使用Unicode字符有更好的可移植性。更重要的是我們使用了統(tǒng)一的音標(biāo)字符編碼。
目前的瀏覽器在顯示網(wǎng)頁(yè)時(shí),還不能自動(dòng)選擇支持音標(biāo)字符的Unicode字體。所以網(wǎng)頁(yè)設(shè)計(jì)者需要用css建議瀏覽器選擇可以支持音標(biāo)字符的字體。例如:
.IPA {FONT-FAMILY: "Charis SIL", "Doulos SIL", Gentium, GentiumAlt,"DejaVu Sans", Code2000, "TITUS Cyberbit Basic","Arial Unicode MS", "Lucida Sans Unicode","Chrysanthi Unicode" }在不方便使用css的場(chǎng)合也可以用font標(biāo)簽,例如:
<font face="Lucida Sans Unicode" lang="EN-US">θ</font>
請(qǐng)注意參數(shù): lang="EN-US"。如果沒(méi)有這個(gè)參數(shù),有些音標(biāo)不能正確顯示,例如重音符號(hào)?和?。在應(yīng)用css樣式時(shí)也應(yīng)該使用lang參數(shù)。
4 IPA符號(hào)
4.1 概述
這里的IPA指的是“International Phonetic Alphabet”。IPA也是International Phonetic Association的縮寫(xiě)。IPA符號(hào)就是這個(gè)協(xié)會(huì)整理的一套用來(lái)表示語(yǔ)音的標(biāo)準(zhǔn)符號(hào)。根據(jù)Wikipedia,在2008年,IPA符號(hào)包括107個(gè)字母,52個(gè)音調(diào)符號(hào)(diacritics)和4個(gè)韻律標(biāo)記(prosody marks)。有一個(gè)關(guān)于"The International Phonetic Alphabet in Unicode"的網(wǎng)頁(yè)上面有IPA符號(hào)對(duì)應(yīng)的Unicode字符的列表。還有個(gè)網(wǎng)頁(yè)提供了IPA字符輸入功能。只要點(diǎn)擊網(wǎng)頁(yè)上的字符,字符就會(huì)出現(xiàn)在下方的編輯框中。
關(guān)于英語(yǔ)語(yǔ)音有一本很著名的書(shū):"English Pronouncing Dictionary",簡(jiǎn)稱(chēng)EPD。這本書(shū)的作者是Daniel JONES,現(xiàn)在經(jīng)常看到的DJ音標(biāo)的DJ就來(lái)自這位學(xué)者。 EPD的第一版是在1917年出版的,以后又陸續(xù)出版過(guò)很多版本。EPD的第14版首次在1977年出版。1988年,由AC Gimson和SM Ransaran修訂過(guò)的EPD第14版又重新出版。 1988年的EPD版本的音標(biāo)使用IPA符號(hào)取代了一些傳統(tǒng)音標(biāo)符號(hào)。以后英語(yǔ)字典的音標(biāo)系統(tǒng)基本上都使用與EPD 1988版一致的IPA符號(hào)。后面會(huì)討論音標(biāo)符號(hào)的變化。
4.2 英語(yǔ)音標(biāo)需要的特殊字符
因?yàn)橛⒄Z(yǔ)音標(biāo)系統(tǒng)需要一些ascii字符以外的符號(hào),這些符號(hào)在Unicode出現(xiàn)前沒(méi)有統(tǒng)一的編碼和相應(yīng)的字體,需要用特殊字體實(shí)現(xiàn)。所以在音標(biāo)的輸入和顯示上造成了一定的混亂。那么英語(yǔ)音標(biāo)究竟需要哪些特殊字符呢?下表列出了英語(yǔ)音標(biāo)需要的常用特殊字符。
| 音標(biāo)符號(hào) | 10進(jìn)制Unicode編碼 | 16進(jìn)制Unicode編碼 |
| ? | 230 | 00E6 |
| e | 240 | 00F0 |
| ? | 331 | 014B |
| ɑ | 593 | 0251 |
| ? | 594 | 0252 |
| ? | 596 | 0254 |
| ? | 601 | 0259 |
| ? | 603 | 025B |
| ? | 604 | 025C |
| ɡ | 609 | 0261 |
| ? | 618 | 026A |
| ? | 643 | 0283 |
| ? | 650 | 028A |
| ? | 652 | 028C |
| ? | 658 | 0292 |
| ? | 712 | 02C8 |
| ? | 716 | 02CC |
| ? | 720 | 02D0 |
| θ | 952 | 03B8 |
5 英語(yǔ)音標(biāo)
5.1 概述
音標(biāo)就是記錄英語(yǔ)讀音的符號(hào)系統(tǒng)。每個(gè)英語(yǔ)字典都會(huì)選擇一套這樣的符號(hào)系統(tǒng)。字典的編撰者有時(shí)會(huì)在標(biāo)準(zhǔn)的音標(biāo)系統(tǒng)基礎(chǔ)上增加自己的音標(biāo)。新增的音標(biāo)通常也用IPA符號(hào)表示。例如最常見(jiàn)的音標(biāo)有20個(gè)元音和24個(gè)輔音,Collins詞典的音標(biāo)系統(tǒng)有27個(gè)元音音標(biāo),28個(gè)輔音音標(biāo)。 Collins增加了一些可以更好地表達(dá)“r化韻”和其它細(xì)節(jié)的音標(biāo),例如 ?r, ?:r, ?:r, ɑ:r, ??r, e?r, ??r, ?n, ?l, hw
網(wǎng)上有個(gè)48個(gè)標(biāo)準(zhǔn)音標(biāo)的說(shuō)法,就是在44個(gè)常見(jiàn)音標(biāo)基礎(chǔ)上增加了ts,tr,dz,dr這4個(gè)輔音。我沒(méi)有考證出這個(gè)標(biāo)準(zhǔn)究竟是哪個(gè)組織的“標(biāo)準(zhǔn)”,標(biāo)準(zhǔn)號(hào)是多少,就只能存疑了。
網(wǎng)上關(guān)于英語(yǔ)音標(biāo)種類(lèi)的說(shuō)法有點(diǎn)混亂。一般而言,英語(yǔ)國(guó)際音標(biāo)、IPA音標(biāo)、DJ音標(biāo)這3個(gè)提法比較接近,本文將其都稱(chēng)作IPA音標(biāo),而且只討論其中的44個(gè)常見(jiàn)音標(biāo)。為方便起見(jiàn),將采用IPA字符前的IPA音標(biāo)稱(chēng)作IPA63,把采用IPA字符后的IPA音標(biāo)稱(chēng)作IPA88。還有一種出自美語(yǔ)發(fā)音字典的KK音標(biāo)也比較常見(jiàn),KK的縮寫(xiě)來(lái)自作者John S. Kenyon和Thomas A. Knott。KK音標(biāo)的表示方法與IPA音標(biāo)有一些差異。下表顯示了IPA63、IPA88和KK音標(biāo)在符號(hào)上的差異。
| i | ? | ? | u | ? | e | ? | |
| ? | ? | ? | ? | ? | e | ? | |
| ? | ? | ɑ | ? | ? | ? | ? | |
| i: | ?: | ?: | u: | ɑ: | |||
| i: | ?: | ?: | u: | ɑ: | |||
| i | ? | ? | u | ɑ | |||
| ei | ai | ?i | au | ?u | i? | ?? | u? |
| e? | a? | ?? | a? | ?? | ?? | e? | ?? |
| e | a? | ?? | a? | o | ?r | ?r | ?r |
| p | t | k | f | θ | s | ? | t? |
| b | d | ɡ | v | e | z | ? | d? |
| h | m | n | ? | l | r | j | w |
下面這張截圖看上去可能更清晰一些:
這個(gè)網(wǎng)頁(yè)討論了使用IPA字符前后IPA音標(biāo)的變化。
5.2 IPA63、IPA88、KK音標(biāo)和Collins音標(biāo)的例子
我比較習(xí)慣IPA63的音標(biāo),因?yàn)榭磻T了。不過(guò)我最近一直在用Collins詞典。可以把Collins詞典的音標(biāo)看作IPA88的擴(kuò)充。除了增加了一些可以更好表達(dá)美式發(fā)音的音標(biāo)外,Collins詞典還把 ?? 寫(xiě)成 o?。o?可以更精確地表達(dá)美式發(fā)音,但更多的英國(guó)詞典使用??。 關(guān)于英語(yǔ)音標(biāo)有一個(gè)不錯(cuò)的網(wǎng)頁(yè)。這個(gè)網(wǎng)頁(yè)的音標(biāo)和IPA88、Collins詞典比較接近。
我整理了一張包括IPA63、IPA88、KK音標(biāo)和Collins音標(biāo)示例的表格。
| 示例單詞 | IPA63 | IPA63示例 | IPA88 | IPA88示例 | KK | KK示例 | Collins | Collins示例 | |
| sit | i | [sit] | ? | [s?t] | ? | [s?t] | ? | /s?t/ | |
| about | ? | [??baut] | ? | [??ba?t] | ? | [??ba?t] | ? | /?ba?t/ | |
| forget | [f??get] | [f??get] | [f??g?t] | ?r | /f?rget/ | ||||
| hot | ? | [h?t] | ? | [h?t] | ɑ | [hɑt] | ? | /h?t/ | |
| good | u | [gud] | ? | [g?d] | ? | [g?d] | ? | /g?d/ | |
| luck | ? | [l?k] | ? | [l?k] | ? | [l?k] | ? | /l?k/ | |
| yes | e | [jes] | e | [jes] | ? | [j?s] | e | /jes/ | |
| man | ? | [m?n] | ? | [m?n] | ? | [m?n] | ? | /m?n/ | |
| week | i: | [wi:k] | i: | [wi:k] | i | [wik] | i: | /wi:k/ | |
| very | [?veri:] | [?veri:] | [?v?ri] | i | /veri/ | ||||
| turn | ?: | [t?:n] | ?: | [t?:n] | ? | [t?n] | ?:r | /t?:rn/ | |
| claw | ?: | [kl?:] | ?: | [kl?:] | ? | [kl?] | ?: | /kl?:/ | |
| floor | [fl?:r] | [fl?:r] | [fl?r] | ?:r | /fl?:r/ | ||||
| school | u: | [sku:l] | u: | [sku:l] | u | [skul] | u: | /sku:l/ | |
| actual | [??kt?u?l] | [??kt???l] | [??kt?u?l] | u | /?kt?u?l/ | ||||
| calm | ɑ: | [kɑ:m] | ɑ: | [kɑ:m] | ɑ | [kɑm] | ɑ: | /kɑ:m/ | |
| card | [kɑ:d] | [kɑ:d] | [kɑd] | ɑ:r | /kɑ:rd/ | ||||
| say | ei | [sei] | e? | [se?] | e | [se] | e? | /se?/ | |
| bike | ai | [baik] | a? | [ba?k] | a? | [ba?k] | a? | /ba?k/ | |
| boy | ?i | [b?i] | ?? | [b??] | ?? | [b??] | ?? | /b??/ | |
| house | au | [haus] | a? | [ha?s] | a? | [ha?s] | a? | /ha?s/ | |
| coat | ?u | [k?ut] | ?? | [k??t] | o | [kot] | o? | /ko?t/ | |
| dear | i? | [di?] | ?? | [d??] | ?r | [d?r] | ??r | /d??r/ | |
| care | ?? | [k??r] | e? | [ke?r] | ?r | [k?r] | e?r | /ke?r/ | |
| tour | u? | [tu?r] | ?? | [t??r] | ?r | [t?r] | ??r | /t??r/ | |
| pay | p | [pei] | p | [pe?] | p | [pe] | p | /pei/ | |
| talk | t | [t?:k] | t | [t?:k] | t | [t?k] | t | /t?:k/ | |
| king | k | [ki?] | k | [k??] | k | [k??] | k | /ki?/ | |
| fit | f | [fit] | f | [f?t] | f | [f?t] | f | /f?t/ | |
| thin | θ | [θin] | θ | [θ?n] | θ | [θ?n] | θ | /θ?n/ | |
| bus | s | [b?s] | s | [b?s] | s | [b?s] | s | /b?s/ | |
| ship | ? | [?ip] | ? | [??p] | ? | [??p] | ? | /??p/ | |
| cheap | t? | [t?i:p] | t? | [t?i:p] | t? | [t?ip] | t? | /t?i:p/ | |
| bed | b | [bed] | b | [bed] | b | [b?d] | b | /bed/ | |
| done | d | [d?n] | d | [d?n] | d | [d?n] | d | /d?n/ | |
| dog | ɡ | [d?ɡ] | ɡ | [d?ɡ] | ɡ | [dɑɡ] | ɡ | /d?ɡ/ | |
| voice | v | [v?is] | v | [v??s] | v | [v??s] | v | /v??s/ | |
| then | e | [een] | e | [een] | e | [e?n] | e | /een/ | |
| buzz | z | [b?z] | z | [b?z] | z | [b?z] | z | /b?z/ | |
| measure | ? | [?me??] | ? | [?me??] | ? | [?m???] | ? | /me??r/ | |
| bridge | d? | [brid?] | d? | [br?d?] | d? | [br?d?] | d? | /br?d?/ | |
| home | h | [h?um] | h | [h?um] | h | [hom] | h | /houm/ | |
| mat | m | [m?t] | m | [m?t] | m | [m?t] | m | /m?t / | |
| not | n | [n?t] | n | [n?t] | n | [nɑt] | n | /n?t/ | |
| hidden | [?hidn] | [?h?dn] | [?h?dn] | ?n | /h?d?n/ | ||||
| sing | ? | [si?] | ? | [s??] | ? | [s??] | ? | /s??/ | |
| late | l | [leit] | l | [le?t] | l | [le?t] | l | /le?t/ | |
| handle | [?h?ndl] | [?h?ndl] | [?h?ndl] | ?l | /h?nd?l/ | ||||
| run | r | [r?n] | r | [r?n] | r | [r?n] | r | /r?n/ | |
| you | j | [ju:] | j | [ju:] | j | [ju] | j | /ju:/ | |
| win | w | [win] | w | [w?n] | w | [w?n] | w | /w?n/ | |
| why | [hwai] | [hwa?] | [hwa?] | hw | /hwa?/ |
6 音標(biāo)符號(hào)的輸入
在學(xué)習(xí)英語(yǔ)時(shí),我更常做的是復(fù)制金山詞霸里的音標(biāo),只要作個(gè)替換表將原來(lái)的普通字符映射到Unicode字符就可以了,通常不需要手工輸入。輸入音標(biāo),我想最簡(jiǎn)單的方法就是復(fù)制粘貼了。
在office軟件中,可以用自動(dòng)更正選項(xiàng)輸入音標(biāo)。例如設(shè)置將Yi更正為?。只要輸入Yi、空格,軟件就會(huì)自動(dòng)將Yi更正為?。只要在office的一個(gè)軟件里設(shè)置了自動(dòng)更正,其它軟件會(huì)共享這個(gè)設(shè)置。不過(guò)office軟件的自動(dòng)更正是針對(duì)單詞的,即Yi不能和其它字母連著。在輸入后面一個(gè)空格時(shí),office軟件進(jìn)行更正。這一點(diǎn)不太方便,因?yàn)槊看屋斎攵家獎(jiǎng)h除多余的空格。
熟悉輸入法碼表的朋友可以把這幾個(gè)音標(biāo)字符加到自定義的碼表中。
我做了一個(gè)英語(yǔ)音標(biāo)輸入的網(wǎng)頁(yè)。只要點(diǎn)擊網(wǎng)頁(yè)上的音標(biāo)字符,該字符就會(huì)被插入到下方的編輯框中。有興趣的朋友可以試試。
7 結(jié)束語(yǔ)
有很多網(wǎng)友使用特殊的音標(biāo)字體輸入和顯示音標(biāo)。不同的音標(biāo)字體對(duì)普通字符和音標(biāo)字符的映射關(guān)系通常是不同的。如果讀者沒(méi)有安裝對(duì)應(yīng)的字體就無(wú)法正確閱讀。使用音標(biāo)的Unicode字符應(yīng)該是解決音標(biāo)輸入和顯示的標(biāo)準(zhǔn)做法。使用統(tǒng)一的信息編碼,大家可以更好地交流。希望在網(wǎng)上看到更多用Unicode表示的音標(biāo)。
總結(jié)
以上是生活随笔為你收集整理的英语音标和Unicode的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 行云管家堡垒机 导入腾讯云主机
- 下一篇: Pytorch基础(五)—— 池化层