fbpx

在InDesign中快速搞定奇怪的西歐語系文字消失或詭異現象的問題

by 小雲
176 瀏覽

好久沒有PO文了,上一篇教學文竟然是二月的時候,我真是太混了,真是該檢討一下,所以今天剛好在解決一個問題後,就趕緊把這方法記錄下來PO上來,不然我可能又放著不知何年何月才上傳了。

好吧,這個問題是這樣的,一班我們都很習慣編排中文內容,可是有時候就是會出現一些非中文語系的字詞在中文的內容中,有好習慣的我們可能會設定複合字體讓中英文數字都有好的字型表現,不過有時候還是會碰到設定的字體中出現意外狀況。

上圖左邊的紅框是西里爾字母,右邊是一般的數字,數字有正常的顯示我設定的字型(Garamond Premier Pro),但是西里爾字母卻沒有,所以看起來就是一整個很詭異的樣子。

這時候最簡單的方式就是去複合字體裡面修改,把「符號」那邊也指定Garamond Premier Pro(包含有西里爾字的字型)就可以了,但是會有個問題,如果內文中有全形的數字或英文,這些也是符號類型,結果可能會變成亂碼(如下圖右下的紅框顯示的預視)。

所以上面的方法在中文版排中可能不太適合,那麼我們就用轉彎的方式,指定西里爾字母要套用Garamond Premier Pro!怎麼做呢,這時候就需要用到三個元素:GREP樣式、資訊面板、字元樣式。

第一個我們先設定一個Garamond Premier Pro字型(或是其他適合可顯示西里爾字母的字型)的字元樣式即可。

第二個我們要查這個怪怪文字的Unicode碼,所以要借用資訊面板。將奇怪的文字選取起來,就可以看到他的Unicode值,例如下圖選取的文字是0x434。

這個『0x434』基本上要把它轉換成『0430』就是正確的Unicode碼。根據我的觀察,在InDesign顯示的『0x』他有兩種情況,當『0x』後面的數字只有2或3碼,這個『0x』就等於00或0;『0x』後面的數字有4碼時,這個『0x』只是提示號。

也就是說:

0x434 = 0434
0x8B1D = 8B1D

找出這個code值後,我們就可以找出他的編碼範圍,這時候請上這個網址:http://witmax.cn/unicode-list.html

在這裡可以看到Unicode的編碼範圍,0434剛好就落在【0400-04FF】西里爾字母的區間,我也是從這裡才知道那些字母叫西里爾字母,不然一般人哪懂啦!

PS. 根據維基百科的解釋,西里爾字母的文字多是斯拉夫語族的語言,包括俄語、烏克蘭語、盧森尼亞語、白俄羅斯語、保加利亞語、塞爾維亞語、馬其頓語等。

好啦,查到這個要幹嘛?前面說過我們需要三個元素,前兩個已經準備好了,接下來是第三個元素:設定段落樣式中的GREP樣式。

在下圖中,套用樣式指定我們設定的字元樣字,然後在「至文字」中輸入GREP語法,語法的結構是這樣的:

[\x{Unicode初值}-\x{Unicode終值}]

所以我們要輸入的內容就會是:

[\x{0400}-\x{04FF}]

這樣輸入完畢後,就會看到那些西里爾字母就顯示正常啦,部會看起來就是很詭異的狀態!

以上就是本期的教學內容,雖然GREP語法中的 [] 、\x{} 這兩個語法可能網友不太懂(因為很麻煩懶得講),但是下次遇到類似的就這樣套就對啦~

像是日文的編碼範圍是:

【3040-309F】 Hiragana 平假名
【30A0-30FF】 Katakana 片假名

你就可以修改成:

[\x{3040}-\x{30FF}]

就醬子啦!


以上就是這次的內容分享,按照慣例要再打個小廣告,大家如果對版面設計或InDesign技術內容有興趣的話,歡迎贊助一下版主的新書《InDesign Tricks:專家愛用的速效技法》,不管是紙本書還是電子書都有在販售,請大家多多支持~XD

電子書互動介紹頁面網址:https://indd.adobe.com/view/c4d80b2d-0f78-481d-a6ad-baf45e9cefe9

GooglePlay圖書目前開放租賃服務喔:https://pse.is/DJJR4

另外,如果你覺得本篇文章對你很有幫助,歡迎你用LINE Pay或是街口支付的方式贊助打賞,下方是我的LINE Pay與街口帳號,感謝喔

相關文章

留下建議

我的作品

Cropped Cropped P1060991.jpg

@2022 – All Right Reserved. Designed and Developed by PenciDesign