打代碼的時候,頻繁的中英文切換會致使輸入效率下降,若一導致用英文標點(一個英文標點加一個空格)則能夠增長編碼速度。不過,習慣在編程時持續使用英文標點後,寫博客時天然會保持這種慣性,這致使了我前期的博客頁面崩壞——儘管版面的節奏要流暢許多,但英文標點在中文版面上的美觀程度遠遠不及中文標點。html
以上是我去年由於「使用英文標點」而產生的疑惑。如今來講,這個問題幾乎已經算解決了:我如今已經習慣在中文輸入時使用中文標點,而編碼工做中儘可能不使用中文。不過,如今,我又發現了一個新的問題,關於博客中的中文引號不美觀的問題。程序員
應該有讀者已經發現,我博客中引用的思源宋中的映射少了中文引號。這也就意味着,頁面上全部中文引號,都會回退成其它字體引號的形態。見下圖最後一行文字。編程
這個引號可能來自某種英文非襯線體字體,看起來圓溜溜的,實在和思源宋不搭。接着我將博客中缺失的字體引用補充完整,界面成了這個樣子:瀏覽器
引號依舊圓溜溜的。因而,我想着能不能換種特殊的字體,專門用來顯示中文引號。工具
一番探索以後,我找到了「直角引號」這貨。我決定把博客中全部的中文引號都替換成直角引號,以增長美觀度。儘管兩個鄰接的逗號和直角引號間有空白過多之嫌,但比起逗號加彎引號要好多了。post
「爲何在你的博客中要使用直排引號排版?」字體
「由於好看。」google
「但是這樣並不規範...」編碼
「但是好看。」url
關於直角引號使用的規範,通常資料表示:「豎排中文使用直角引號,橫排文字使用彎引號」。不過在我我的的博客裏,放棄使用彎引號並沒什麼可追究的。就像我喜歡用三點省略號做爲全省略號的替代,直角引號配合中文方塊字,也純屬喜愛。
其實,爲了避免更正我在中文輸入中,從使用英文標點加空格到改成使用中文標點一向以來的習慣。我在博客項目裏,經過技術手段給彎引號加了魔法,使博客頁面上的彎引號看起來是直角引號,而打字時,不用特地輸入直角引號,直接 Shift + "
打彎引號便可。
你能夠在瀏覽器中按下 Ctrl+Shift+C
打開瀏覽器的控制檯,再點擊這段帶有直接引號的 Hello World 查看頁面原文:「Hello World」,若是不會操做的話,能夠參考下圖。
我給博客頁面新增了一種字體,叫作「Quote」。這種字體內部只有「300C」、「300D」、「201C」、「201D」四種 Unicode 編碼的字體圖形映射,分別對應前直角引號,後直角引號,前彎引號和後彎引號。我經過工具把字體內部的彎引號的映射修改成映射到直角引號上,而後在頁面中引用字體,因此頁面上全部彎引號都渲染成了直角引號。對應的 CSS 樣式見下:
/**************** 字體定義 */
useFontBaseURL(path) {
$font-url = 'https://cdn.jsdelivr.net/gh/Lionad-Morotar/blog-cdn/fonts/';
return url($font-url + path);
}
@font-face {
font-family: 'Quote';
src: useFontBaseURL('Noto_CJK_Quote/NotoQuote.woff2') format('woff2'), useFontBaseURL('Noto_CJK_Quote/NotoQuote.woff') format('woff'), useFontBaseURL('Noto_CJK_Quote/NotoQuote.ttf');
unicode-range: U+201c, U+201d, U+300C, U+300D;
font-display: block;
}
@font-face {
font-family: 'Noto Serif CJK';
src: ...
}
/**************** 字體引用 */
:root {
--font-text: 'Quote', 'Noto Serif CJK';
}
article {
font-family: var(--font-text);
}
複製代碼
《使用英文點號》是我創建博客時寫的第二篇隨筆,現修正了部分不少語意不通的地方。
關於文末的疑惑,我已經找到了答案:我如今已經習慣在中文輸入時使用中文標點,而編碼工做中儘可能不使用中文。
有人發現我喜歡使用英文的點號來寫中文的句子,實際上是我刻意爲之。
起初,是由於打代碼時,因爲代碼中夾雜的一些中文詞彙,致使編程時並不能全程使用英文輸入法輸入。爲了省去切換輸入法的麻煩,我想,乾脆就把中文鍵盤的中文標點禁用就行了。通過實踐,我發現代碼輸入時的幸福感提高的很是明顯。
再者,另外一個習慣問題迫使我決定開始在全部設備上——不管是電腦或是手機——使用英文點號。
某個悠哉遊哉喝着飲料看博客的下午,我照常點開一大片網址亂逛。偶然間,我看到一篇排版糟糕,樣式混亂的文章。最可惡的是文中的中文與英文、數字之間竟然沒有空格!真是一陣頭皮發麻!漢字是全型字,和字母或數字等半型字間哪能混沌不分?我巴不得手持「盤古之白」的巨斧,把這些懵懂混亂的全型字和半型字們通通劈開。
眼下混沌四起,因此我須要作更多的宣傳工做,好比,開始在中文中使用英文點號。因爲英文點號只佔半格字寬,因此不得不在點號後加一個空格保證正常的版式節奏。這樣一來,其它看到這種寫法的人(尤爲和我同樣偷懶僅僅使用英文標點的程序員們)潛意識裏就會將「劈開盤古直白」的理念內化了,美哉~
沒有研究顯示,打字的時候不喜歡在中文和英文之間加空格的人,感情路都走得很辛苦,有七成的比例會在 34 歲前和本身不愛的人結婚,而其他三成的人最後只能把遺產留給本身的貓。畢竟愛情跟書寫都須要適時地留白。
不過出乎意料的是,對於培養使用英文點號這習慣的態度,最近我有些動搖了。
首先是使用英文點號的美觀性不夠,再者是它並不適合中文語意。全型點號的字寬比英文點號加一個空格還多,因此不管是表達節奏感,仍是在分割語意等功能上而言都更加適合。中文標點自己就是中文的一部分。也就是說,我也許沒有理由去放棄語意而選擇偷懶。同時,劈開「盤古之白」的巨斧應該用在正確的場景,如中文與英文詞組夾雜的時候,而不是中文與英文標點夾雜的時候。
我如今陷入了反覆嘗試和掙扎中。有沒有必要改變保持使用英文點號的書寫習慣?或能不能尋找更適合編程的輸入法?能不能經過改善工做流的方式解決部分問題? 我還想知道其餘人是怎麼解決這個問題的,難道說天然而然就習慣了?總之,「咱們要怎麼愉快地處理英文編程中的中文輸入」這個問題亟需討論與解決。
本文首發於個人博客,《關於標點的那些事兒》,歡迎來個人博客玩耍,裏面能看源碼。