開源書和開源技術-PDF中蛋疼的中文字型
介紹
上次我介紹了一個用Markdown格式來寫開源書和相關的開源技術,還留了個在Linux下產生PDF所需要的中文字型這個大尾巴。這次我想借用我寫【跟我學企業敏捷開發】的一點經驗,給不太瞭解這一塊知識的朋友一起探討一下。
有些問題還是沒有解決,希望有Latex的高手解答。
不管怎樣,還是希望能借此機會推動國內電子書,特別是開源電子書的發展。
Linux下的中文編碼和字型
首先,我用的是Linux環境並且選用的是UTF-8的編碼,而不是GBK,否者在github上顯示會有問題,不瞭解這方面的朋友自己找找資料吧,夠講個把小時的。
在產生PDF時,一般建議內嵌中文字型的,但是真正能用的中文字型實際很少,極大多數是有版權的:
- 文鼎開放的四套字型(簡報宋、細上海宋、簡中楷、中楷),沒有一點版權問題,是大部分的中文Linux的預設安裝。
- 文泉驛的幾套字型(微米黑、正黑、點陣宋體)是開放但是GPL性質的,所以不是隨便可以商用的。
- Adobe有兩套開放字型(宋體、黑體)我認為是可以隨便用的,忘了在哪裡看到這個解釋的了。
可以看看Ubuntu免費中文字型的介紹有個認識。
怎麼選擇對應字型
一般預設中文正文字型是宋體、細明體,對應英文Serif類的英文字型:Georgia、Times New Roman等。
標題和重要內容可以選楷體和黑體,對應英文Sans Serif類的英文字型:Arial、Tahoma、Verdana等
技術文章中常見的程式碼典型的等寬體用黑體,對應英文Monospace類的英文字型:Courier New等
所以對應的在我的中文Latex配置中可選的是:
- font:文鼎的簡報宋、細上海宋,文泉驛的點陣宋體,Adobe的宋體
- bold: 文鼎的簡中楷、中楷,文泉驛的微米黑、正黑,Adobe的黑體
- mono: 文泉驛的微米黑、正黑,Adobe的黑體
如何安裝字型
我用的試驗環境是Ubuntu 11.04 (Natty),大部分可以直接從Ubuntu源中下載了。
你可以用命令fc-list :lang=zh-cn
檢視安裝好的中文字型,結果中前半部分就是字型名稱(如AR PL UMing CN
)。
user@puppet1:~$ fc-list :lang=zh-cn | grep CN
AR PL UMing CN:style=Light
AR PL UKai CN:style=Book
文鼎開放的四套字型的Ubuntu包、字型名字和名稱如下:
ttf-arphic-gbsn00lp "AR PL SungtiL GB" 文鼎PL簡報宋
ttf-arphic-gkai00mp "AR PL KaitiM GB" 文鼎PL簡中楷
ttf-arphic-ukai "AR PL UKai" 文鼎PL中楷
ttf-arphic-uming "AR PL UMing" 文鼎PL細上海宋
文泉驛字型的Ubuntu包、字型名字和名稱如下
ttf-wqy-microhei "WenQuanYi Micro Hei" 文泉驛的微米黑
ttf-wqy-zenhei "WenQuanYi Zen Hei" 文泉驛的正黑
xfonts-wqy "WenQuanYi Bitmap Song" 文泉驛的點陣宋體
Adobe的中文字型有官方下載
$ tar -jzxf FontPack910_chs_i486-linux.tar.bz2
$ tar -xvf CHSKIT/LANGCHS.TAR
$ mkdir ~/.fonts
$ cp Adobe/Reader9/Resource/CIDFont/*.otf ~/.fonts
$ fc-cache -f -v
$ fc-list :lang=zh | grep Adobe
蛋疼的問題
只可惜現在正文在產生PDF時沒有一種字型是有完美表現的。
- 文鼎貢獻的字型中臺灣字形的細上海宋的句號在中間,出來的效果不倫不類的。
- 文鼎貢獻的字型中大陸字形的簡中楷和簡報宋,標點符號的位置是對的,但是當碰到條目(Item)的時候條目的點沒能顯示出來。
- Adobe的宋體,條目的時候顯示一個田子框,很難看。
- 文泉驛的點陣宋體老是轉化Latex時出錯,搞不定。
現在將就著用文鼎的細上海宋。
【更新】 2、3 條目的問題,我hack成其他字元(*)顯示就沒問題了(如下),不知道預設的圓點為啥顯示不對。http://wiki.ctex.org/index.php/LaTeX/%E5%88%97%E8%A1%A8,現在就用文鼎的細上海宋了。
\begin{itemize}\setlength{\itemsep}{1pt}\setlength{\parskip}{0pt}\setlength{\parsep}{0pt}
\item[*]
% 原來是
% \item
其他
本文也是我用git記錄在github上的,你可以看到每次的變化。
如果對此文有興趣,幫忙頂一下,別忘了 @larrycaiyu。
參考
- 中文字型沒有版權問題的解決方案?http://bbs.ctex.org/viewthread.php?tid=46106&extra=&page=1
相關文章
- 用Markdown來寫自由書籍-開源技術的方案
- OSDL建立開源基金 推動開源技術的深入發展(轉)
- 谷歌開源 BERT:最先進的 NLP 預訓練技術,支援中文和更多語言谷歌
- 技術方案(開源方案)選型的考量和方法論
- 開源搜尋技術的核心引擎 —— Lucene
- 傳說中的開源 vs 現實中的開源
- 國內87.4%企業使用開源技術,開源風險如何規避?
- 使用雲原生應用和開源技術的創新攻略
- 回望 Linux 和開源技術 2014 的大起大落Linux
- 開源大資料技術線上Meetup大資料
- 當金融行業遇上開源技術行業
- 甲骨文為推進AJAX和Java技術 廣開開源之門Java
- 監控,開源,cache的一些技術
- 背後支援著 Instagram 的開源技術
- 不要責怪開源技術 它是無辜的
- J2EE開發常用開源框架技術框架
- 大資料與 AI 生態中的開源技術總結大資料AI
- 回顧 Linux 和開源技術 2014 的大起大落Linux
- Unity 開源雙端框架 ET 中初嘗熱更新技術Unity框架
- 騰訊圍棋AI技術PhoenixGo正式開源AIGo
- 開源資料庫大會技術分享資料庫
- PHP有償開源技術林-流程引擎PHP
- IOS技術分享| anyLive 開源專案iOS
- 技術團隊為什麼要開源?
- 全球75%網站採用開源技術網站
- Ruby on Rails:開源技術將深入企業AI
- 甲骨文為推進AJAX和Java技術 廣開開源之門(轉)Java
- 開源和雲原生技術如何使API策略現代化API
- 袋鼠雲數棧技術團隊入選開源中國“2021年度優秀開源技術團隊”
- 7 個有助於 AI 技術的最佳開源工具AI開源工具
- 中國和開源
- 何為開源,聊聊軟體開發中的那些開源協議協議
- 《書單分享》小程式開源
- 不要讓你的開源專案「裸奔」,一文了解開源證書
- 阿里巴巴開源容器映象加速技術阿里
- 微軟宣佈收回旗下開源技術子公司微軟
- 豬齒魚獲評開源中國“2021年度優秀開源技術團隊”
- 全域性替換字型,開源庫更方便!!!