李 梅,李 鵬,王葉青,律 琦,劉 爽,董文革*
(1.中國醫(yī)學(xué)科學(xué)院血液病醫(yī)院(中國醫(yī)學(xué)科學(xué)院血液學(xué)研究所),國家血液系統(tǒng)疾病臨床醫(yī)學(xué)研究中心,《中華血液學(xué)雜志》雜志社 天津300191;2.天津市醫(yī)學(xué)科學(xué)技術(shù)信息研究所,《天津醫(yī)藥》編輯部 天津300070)
我們在數(shù)字出版活動中發(fā)現(xiàn)一個現(xiàn)象:Word、排版小樣、PDF中均編輯校對無誤的文本“鐵蛋白100μg/L”,發(fā)布在PubMed Central平臺上竟然變更為“鐵蛋白100mg/L”,而其中并無任何人為的文本調(diào)整,僅僅為XML文件面向不同平臺的輸出。那么該差錯是從何而來的呢?為何在沒有任何更改的情況下文本發(fā)生了變化?我們進行探究并發(fā)現(xiàn)了原因:Symbol字體中“μ”的16位編碼為[006D],而普通文本采用的Unicode編碼中[006D]為英文小寫“m”,由于Symbol字符集編碼未編入Unicode,一旦出版平臺的解碼設(shè)備無法對Symbol字符進行解碼,則會將Symbol字符編碼的[006D](即Symbol字體的“μ”),誤用Unicode編碼讀取為“m”,便發(fā)生前文所述的差錯。而目前,期刊編輯部的編校流程仍局限在Word到PDF的傳統(tǒng)出版階段,尚未有針對數(shù)字出版環(huán)節(jié)的審校流程,XML文件之后的融合出版環(huán)節(jié)缺乏有效監(jiān)控,易導(dǎo)致該類差錯的出現(xiàn)。因此,本研究試圖梳理數(shù)字出版階段的字符變換問題,并提出一些解決辦法,望同仁警惕。
由于計算機內(nèi)部只認(rèn)識二進制代碼,文字必須編碼為二進制代碼。計算機最基本的存貯單位為字節(jié),每個字節(jié)存貯8個比特(即8個二進制位),所以,一個字節(jié)能表示的整數(shù)個數(shù)為28=256個,表示的范圍是0~255,據(jù)此制定出ASCII編碼用來表示大小寫英文字母、數(shù)字和一些符號。英語用256個字符完全是足夠的,但是用來表示其他國家語言,256個字符遠(yuǎn)遠(yuǎn)不夠。類似如表示中文漢字要7000多個,顯然1個字節(jié)不夠,至少需要2個字節(jié),于是中國制定了GB2312、GBK編碼,日本制定了Shift-JIS編碼等。然而不同編碼體系之間的轉(zhuǎn)碼常常會因各種問題出現(xiàn)亂碼與錯碼現(xiàn)象,為了解決不同編碼的轉(zhuǎn)碼問題,最大程度將自己的產(chǎn)品做到國際化,使之能很容易接收各國的語言,Unicode編碼應(yīng)運而生[1-2]。Unicode編碼就是將所有的語言文字符號都編入其中,并為每種語言中的字符設(shè)定了統(tǒng)一的二進制編碼,來滿足跨語言、跨平臺進行文本轉(zhuǎn)換、處理的要求。每個符號對應(yīng)一個唯一的編碼,亂碼問題就不存在了。Unicode每個字符有16個位寬,表示世界上計算機通信所有的文字和符號,其中漢字Unicode編碼范圍為[3400,9FD5],英文小寫編碼范圍為[0061,007A],英文大寫編碼范圍為[0041,005A],數(shù)字的編碼范圍為[0030,0039],希臘文的編碼范圍為[0391,03C9]。
Symbol字體是微軟公司開發(fā)的非正文字體,多用于數(shù)學(xué)公式中,包括希臘字母、數(shù)字、運算符、集合符號和其他符號[3]。Symbol字符集共有224個字符,從Symbol 32起始編碼,字符代碼為[0020],為“空格”字符,希文大寫的編碼范圍為[0041,005A],希文小寫的編碼范圍為[0061,007A]。雖然它的很多符號已經(jīng)在多個系統(tǒng)中可調(diào)用,但由于該字符集沒有被編入Unicode,導(dǎo)致很多僅采用Unicode編碼架構(gòu)的網(wǎng)站并不能有效識別Symbol字體。比如生物醫(yī)學(xué)最重要的數(shù)據(jù)庫Medline,為了解決可能出現(xiàn)的轉(zhuǎn)碼問題,將所有的希文表述替換為拉丁字母(如將TNF-α替換為TNF-a)或希文的拉丁文全稱(如將κ/λ替換為kappa/lambda)。很多非微軟公司開發(fā)的產(chǎn)品,多不帶有Symbol字體,如WPS for Linux打開含有Symbol字符的doc文件,會提示“系統(tǒng)缺失字體Symbol、Wingdings、Wingdings 2、Wingdings 3、Webding”。然而科技論文的撰寫常需要使用希文字符,由于默認(rèn)的文本字體通過鍵盤不易方便獲得希文字符,而期刊對作者如何鍵入希文字符缺乏要求與指導(dǎo),導(dǎo)致如何輸入希文字符常會困擾作者。如果作者通過【插入】>【符號】,選擇字體Symbol來鍵入希文字符,Word文本中便插入了Symbol字符。
如前文所述,在Word中,Symbol字體的編碼體系獨立于Unicode編碼,導(dǎo)致不同字符集存在字符代碼共用的情況,如圖1所示,Symbol字體中“μ”的字符代碼為[006D],而普通文本字體中“m”的字符代碼同樣為[006D],兩個不同字符共用一個編碼。我們所見的“μ”在計算機中的傳輸信號為[006D],當(dāng)接收文件的平臺/軟件無法解析Symbol字體時,便將[006D]讀取為“m”輸出至顯示設(shè)備,發(fā)生“μ”到“m”的字符變換。試想,如果作者Word的中敘述為“A藥的劑量為100μg/d”,而網(wǎng)站最終展示為“A藥的劑量為100mg/d”,可能造成極大危害。
圖1 Word插入菜單“符號”界面的symbol字體與普通文本字體Fig.1 Symbol font and normal text font in“Symbol”interface of Word insert menu
由于Medline數(shù)據(jù)庫并不支持Symbol字體,首先應(yīng)避免作者使用Symbol字符。通過微信、官網(wǎng)、郵件等形式提示作者避免使用Symbol字體,如果作者插入了Symbol字符,則需要替換為拉丁文本。為此編輯部宜在寫作指導(dǎo)中告知作者鍵入拉丁文本中“μ”的方法。
方法一:在【符號】界面,字體選擇“拉丁文本”,子集選擇“希臘語和科普特語”,下拉找到字符“μ”,雙擊鍵入文本中,見圖2(a)。然而由于文本字符集過大,查找難度大、耗時長,此方法效率較低。
方法二:通過輸入編碼+快捷鍵的方式快速得到所需字符,如“μ”的Unicode編碼為[03BC],直接在Word中鍵入03BC,然后選中該編碼,使用快捷鍵“alt+x”可快速獲得字符“μ”,見圖2(b)。該方法效率高于方法一,但是需要了解每個字符的具體編碼,故適用于熟悉該字符編碼的情況。
方法三:利用Sogou輸入法,筆者一般通過Sogou輸入法,在輸入框輸入“miu”,即可在結(jié)果欄中看到字符“μ”,選中對應(yīng)數(shù)字鍵入即可,見圖2C。其他希文字符輸入對應(yīng)希文的拉丁全稱或縮寫均可鍵入。也可在當(dāng)前輸入法為Sogou輸入法時,按“shift+ctrl+z”快捷鍵,在“希臘/拉丁”列表中選擇“μ”,見圖2(d)。
圖2 鍵入Unicode編碼希文字符“μ”的幾種方法Fig.2 Several ways to type Unicode Greek character“μ”
由于Symbol字符不受Unicode編碼的文本字體控制,在編輯過程中可以通過改變希文的文本字體來鑒別是否為Symbol字符,如圖3所示,Unicode編碼的“μ”字體外觀可受控制,不同字體下的外觀有所差異,筆者常用“blackoak Std”字體進行鑒別,而期刊常用的“Georgia”與“Times New Roman”字體與Symbol編碼字體最為接近,識別難度最大。若編輯在處理文本之初首先進行字體規(guī)范,將不利于Symbol字符的識別,因而建議先通過“blackoak Std”等字體觀察全文文本,若有不受控制的希文或其他字符,則應(yīng)高度警惕該字符并非Unicode編碼。此外,編輯還可通過將Word文本復(fù)制到不支持顯示Symbol字符的平臺進行鑒別,如txt(顯示為空白)、WPS for Linux(提示字體缺失)、PS(提示字體缺失)、R(顯示為空心方框)等。
圖3 Unicode編碼與Symbol編碼字符“μ”的不同字體Fig.3 Different fonts for Unicode and Symbol encoding character “μ”
在編輯部開發(fā)網(wǎng)頁版頁面、epub文檔、APP、微信小程序等多媒體平臺時,需注意與工程師溝通部分文本可能非Unicode編碼,建議開發(fā)平臺的過程中嵌入Symbol、GBK等多個編碼解碼器,保證非Unicode編碼的文本能在終端正常顯示。
目前,絕大部分?jǐn)?shù)字出版物的數(shù)字化加工質(zhì)量檢查都無編輯人員參與,技術(shù)人員的質(zhì)量檢查重點在于發(fā)現(xiàn)亂碼,圖注、表注、上下角標(biāo)缺失,正斜體不統(tǒng)一,圖文位置不正確,鏈接失效等問題[4],對涉及學(xué)術(shù)內(nèi)容的“μg”與“mg”等編校問題缺乏敏感性。期刊編輯部應(yīng)加強數(shù)字出版終產(chǎn)品的質(zhì)量檢查,總結(jié)質(zhì)量風(fēng)險點,建立包括編校、技術(shù)等相關(guān)環(huán)節(jié)的質(zhì)量控制機制,做到全程留痕、有據(jù)可查,從內(nèi)容、技術(shù)和項目整體上保障各個形態(tài)數(shù)字出版物的文本一致。
希文字符在科技文獻中使用較多,然而通過Symbol字符鍵入的希文字符編碼未編入Unicode編碼,在數(shù)字出版過程中易導(dǎo)致字符轉(zhuǎn)換的差錯出現(xiàn)。除Symbol字符外,“Monotype Sorts”中包含了200多種箭頭、指示符和標(biāo)記;“MT Extra”中包含一些數(shù)學(xué)符號,用來擴充“Symbol”字體。編輯應(yīng)提高對希文,數(shù)學(xué)公式,箭頭、指示符和標(biāo)記等字符的敏感性,一方面呼吁作者盡可能采用Unicode編碼字符撰寫稿件,一方面加強自身業(yè)務(wù)素質(zhì),提升對Symbol字符的識別與防范。
隨著融合出版的深入發(fā)展,各個期刊都建立了包括適應(yīng)不同載體的數(shù)字出版矩陣,國內(nèi)期刊已能夠?qū)崿F(xiàn)基于XML格式數(shù)據(jù)的全媒體發(fā)表[5]。然而由于不同載體、不同出版平臺的解碼結(jié)構(gòu)不同,同一個XML數(shù)據(jù)文件最終的展示狀態(tài)會有所不同。因此,應(yīng)注意在數(shù)字期刊出版平臺開發(fā)中盡可能兼容非Unicode編碼,同時盡快建立數(shù)字出版質(zhì)量控制的機制,避免差錯產(chǎn)生。