有個檔案在pdf viewer套件中無法顯示內容,但下載檔案後使用工具又可以正常顯示。
本來以為是套件版本太舊的原因,於是去下載pdf viewer套件 https://github.com/mozilla/pdf.js
更新後還是一樣。
覺得應是字型缺漏的問題,於是用PDF-XChange查看文件屬性,編碼為UniCNS-UCS2-H,字型是細明體_HKSCS。
在套件的目錄中看到了有一個cmaps的目錄,裡頭看似有許多.bcmap的檔案,含了UniCNS-UCS2-H.bcmap
什麼是 UniCNS-UCS2-H?
- 
UniCNS-UCS2-H是 Adobe 的一個 CMap 名稱,常用於繁體中文 CID 字型中。
- 
「 UCS2」代表 Unicode 字符集(用兩個位元組表示,即 UTF-16 的基本多語言平面 BMP)。
- 
「 CNS」代表中華民國(台灣)所訂定的 CNS11643 字符集。
- 
「 H」代表水平書寫(Horizontal),如果是垂直書寫則會是V。
不管,反正檢視會漏字。
在查看時也發現新版的套件改用了.mjs而不是.js,所以在IIS MINE類型中把
.ftl  text/plain  >>套件中文化用
.mjs application/javascript
.bcmap application/octet-stream
新增上去,結果無法顯示的字就出現了,連版本更新也不用了。
如果是web.config,也可加入方便本機debug
<system.webServer>
  <staticContent>
   <remove fileExtension=".mjs"/>
   <mimeMap fileExtension=".mjs" mimeType="text/javascript"/>
   <remove fileExtension=".bcmap"/>
   <mimeMap fileExtension=".bcmap" mimeType="application/octet-stream"/>
    <remove fileExtension=".ftl"/>
   <mimeMap fileExtension=".ftl" mimeType="text/plain"/>
  </staticContent>
</system.webServer>
 
沒有留言:
張貼留言