<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          假如我想開源一款新字體

          共 2398字,需瀏覽 5分鐘

           ·

          2023-08-07 23:53

          最近在 IT 之家刷到個新聞,英特爾面向開發(fā)者發(fā)布了一款新的開源等寬字體 Intel One Mono這套字體由英特爾品牌團隊、Frere-Jones Type 和 VMLY&R 合作開發(fā),官方稱 "集清晰度、易讀性和保護開發(fā)者視力于一體"



          此外,視力較弱的開發(fā)者和盲人開發(fā)者也參與了設(shè)計工作,他們在設(shè)計的每個階段都會提供反饋。


          現(xiàn)在設(shè)計一款字體都這么卷了么... 但設(shè)計字體這項工作,不論花了多少努力多么專業(yè),對自己來說唯一的評價標準就是看著舒不舒服。


          ------


          從 intel-one-mono 官方 GitHub 倉庫把源碼下載下來,在 mac 上雙擊 .ttf 文件,就可以把字體安裝上了。



          打開字體冊程序,會看到剛剛裝好的字體預覽。



          打開 Idea 把默認字體配置上,我們對比一下差異。


          這是我 Idea 原本的 JetBrains Mono 字體。是我覺得寫代碼時最舒服的字體,沒有什么令我覺得奇怪的地方。



          這是 Intel One Mono 字體。比上面的字體更扁,更細,我看著稍稍有點刺眼。



          當然,他們都是等寬字體,不過我還是覺得 JetBrains Mono 更舒服,看來經(jīng)典還是經(jīng)典呀,程序員們天天面對的字體沒必要整什么花活。


          ------


          如果我們想自己搞出一個字體,應(yīng)該怎么辦呢?從 Intel 這個開源倉庫中看到,其實最簡單的就是把剛剛的 .ttf 格式的文件給搞出來一個就可以了。


          .ttf 格式的文件是字體格式文件的一種,叫 TrueType,是微軟和蘋果共同研發(fā)的一套字體格式標準。除此之外還有 OpenType(.otf),是繼 TrueType 之后微軟又和 Adobe 公司共同研發(fā)的一套字體標準。字體標準的制定,背后也有一段精彩的故事,等我搞明白了再給大家講述。


          這些字體格式都是跨平臺的,即 Windows、Mac、Linux 上都可以識別并安裝,所以我們就搞出 .ttf 文件即可。


          找到一款專業(yè)的字體設(shè)計軟件 FontLab,打開它的官方網(wǎng)站。



          看了價格之后,嚇得我趕緊關(guān)閉了網(wǎng)頁。又找到了一款免費的且直接可以在網(wǎng)頁端編輯的字體設(shè)計軟件,Glyphr Studio。


          里面設(shè)計字體的時候需要使用平滑的貝塞爾曲線來繪制,如果熟悉 Flash 或 PS 里面的鋼筆工具的同學就沒有學習成本了。



          設(shè)計好之后直接點擊導出即可,導出格式?jīng)]有 ttf 只有 otf,都一樣,正好嘗試下安裝 otf 格式的字體。



          下載好之后,直接在 mac 上雙擊下載好的 .otf 文件就可以直接安裝了。



          使用 Idea 打開這個丑陋的字體,就可以看到效果了。



          其實還挺有特色的,工作煩躁的時候可以用自己設(shè)計的字體玩一玩,緩解一下工作壓力。


          ------


          不過在 Linux 上,好像我們很少聽到字體這個概念,尤其是在服務(wù)器上處于字符模式而非圖形模式下的 Linux 發(fā)型版。


          很簡單,因為沒有不同字體渲染的需求,即使你把微軟雅黑字體放上去也沒法在字符模式下發(fā)揮作用。


          但是,卻仍然有應(yīng)用程序會用到,比如使用 Java 的 POI 工具進行導出時,如果使用的是 OpenJDK 版本,則會依賴操作系統(tǒng)中的字體相關(guān)的庫。


          所謂依賴字體相關(guān)的庫,通常指的是字體管理工具 fontconfig,字體渲染庫 freetype 以及字體格式文件本身比如上面說的 .ttf 文件。


          在 centos7 上通過 yum install 方式安裝 fontconfig 時會自動把 freetype 安裝好,并同時安裝一個默認的字體格式文件在 /usr/share/fonts 目錄下。如果沒有安裝,那么使用 POI 報表導出 Excel 表格時可能會報錯,你可以寫一段簡單的代碼來模擬下報錯信息。



          POI 中正是因為使用了 awt 包下的這個 Font 類導致需要依賴操作系統(tǒng)的字體庫而報錯,我個人認為是個設(shè)計缺陷,導出 POI 報表并不需要真正渲染字體,但卻為了圖方便使用了 Font 類而間接依賴了字體庫。


          這里給大家一個思考題,在使用 OracleJDK 的時候,即便操作系統(tǒng)里沒有字體庫,也不會報錯,只有用 OpenJDK 的時候才會報錯,這是為什么呢?


          ------


          以上我們見到的字體,都是比較現(xiàn)代的字體格式了,叫做輪廓字體,即使用貝塞爾曲線來描述字體的樣子,可以簡單的進行縮放和傾斜等線性變換,不會模糊。


          古老的計算機中使用的是點陣字體,我們找不到古老的計算機,我推薦一款非常有趣的軟件,叫 cool-retro-term,是個模擬古老計算機顯示的終端,比如我輸入 top 命令后是這樣的,很有年代感。



          當年的小霸王、任天堂等都使用這樣的字體,一塊一塊的感覺。這些字體一旦放大就會變成明顯的像素風,有馬賽克一樣的鋸齒邊緣。


          所以,為了解決這個問題,才有了后面的輪廓字體,也就有了后面 Adobe、微軟、蘋果三家公司的字體標準大戰(zhàn),我們找時間再講。


          ------


          想必大家也都有著和字體這項技術(shù)發(fā)生的故事,不論是工作中碰到的棘手問題,還是小時候或者生活中的奇妙記憶。


          正文沒看夠,我們評論區(qū)見~


          瀏覽 3311
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  激情综合网激情五月天 | 亚洲欧美色图在线 | 欧美色视频在线 | 欧洲亚洲视频 | 欧美性爱无码免费视频 |