ordinarykuma的blog

數位部ODF文件應用工具是怎麽顯示標楷體的

之前看到Ivon提到Ubuntu上明明沒有安裝標楷體,那爲何可以顯示標楷體(這我也蠻好奇的)。今天就來嘗試挖掘一下。(先聲明,我用Gemini尋找losf的語法,然後調出電腦目前使用的字型)。

看過我部落格關於使用Libreoffice的應該知道,我們可以使用字型取代清單來達到顯示標楷體的效果(可以參考這個:[LibreOffice 使用技巧大集合 ——前置作業](LibreOffice 使用技巧大集合 )),我試了下,結論是沒有!。

語法: lsof -p $(pidof soffice.bin) | grep -E ".(ttf|otf|ttc)"
先看看沒有開啓office之前 我目前沒有打開文書編輯程式

xiong@xiong:~$ lsof -p $(pidof soffice.bin) | grep -E "\.(ttf|otf|ttc)"
lsof: no file or directory specified
lsof 4.99.4
 latest revision: https://github.com/lsof-org/lsof
 latest FAQ: https://github.com/lsof-org/lsof/blob/master/00FAQ
 latest (non-formatted) man page: https://github.com/lsof-org/lsof/blob/master/Lsof.8
usage: [-?abhKlnNoOPRtUvV] [+|-c c] [+|-d s] [+D D] [+|-E] [+|-e s] [+|-f[gG]]
    [-F [f]] [-g [s]] [-i [i]] [+|-L [l]] [+m [m]] [+|-M] [-o [o]] [-p s]
    [+|-r [t]] [-s [p:s]] [-S [t]] [-T [t]] [-u s] [+|-w] [-x [fl]] [--] [names]
Use the -h option to get more help information.

xiong@xiong:~$

再來看看打開之後 我打開了文書軟體 而終端輸出的結果如下

xiong@xiong:~$ lsof -p $(pidof soffice.bin) | grep -E "\.(ttf|otf|ttc)"
lsof: no process ID specified
lsof 4.99.4
 latest revision: https://github.com/lsof-org/lsof
 latest FAQ: https://github.com/lsof-org/lsof/blob/master/00FAQ
 latest (non-formatted) man page: https://github.com/lsof-org/lsof/blob/master/Lsof.8
usage: [-?abhKlnNoOPRtUvV] [+|-c c] [+|-d s] [+D D] [+|-E] [+|-e s] [+|-f[gG]]
    [-F [f]] [-g [s]] [-i [i]] [+|-L [l]] [+m [m]] [+|-M] [-o [o]] [-p s]
    [+|-r [t]] [-s [p:s]] [-S [t]] [-T [t]] [-u s] [+|-w] [-x [fl]] [--] [names]
Use the -h option to get more help information.

xiong@xiong:~$ lsof -p $(pidof soffice.bin) | grep -E "\.(ttf|otf|ttc)"
soffice.b 13293 xiong  mem  REG  252,0  1439168  1439168 /opt/modaodfapplicationtools/share/fonts/truetype/SourceHanSansTC-Regular.otf
soffice.b 13293 xiong  mem  REG  252,0  36841132 1439171 /opt/modaodfapplicationtools/share/fonts/truetype/TW-Kai-98_1.ttf
soffice.b 13293 xiong  mem  REG  252,0  19484784 13833    /usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc
soffice.b 13293 xiong  mem  REG  252,0  393336  1439129 /opt/modaodfapplicationtools/share/fonts/truetype/LiberationSerif-Regular.ttf
soffice.b 13293 xiong  mem  REG  252,0  680264  1439087 /opt/modaodfapplicationtools/share/fonts/truetype/DejaVuSansCondensed.ttf
soffice.b 13293 xiong  mem  REG  252,0  757076  1439083 /opt/modaodfapplicationtools/share/fonts/truetype/DejaVuSans.ttf
soffice.b 13293 xiong  mem  REG  252,0  577708  1439078 /opt/modaodfapplicationtools/share/fonts/truetype/DejaVuMathTeXGyre.ttf
soffice.b 13293 xiong  mem  REG  252,0  116676  1439077 /opt/modaodfapplicationtools/share/fonts/truetype/DavidLibre-Regular.ttf
soffice.b 13293 xiong  mem  REG  252,0  55616   1439074 /opt/modaodfapplicationtools/share/fonts/truetype/DavidCLM-Medium.otf
soffice.b 13293 xiong  mem  REG  252,0  29832   3552    /usr/share/fonts/opentype/urw-base35/D050000L.otf
soffice.b 13293 xiong  mem  REG  252,0  635996  1439091 /opt/modaodfapplicationtools/share/fonts/truetype/Carlito-Regular.ttf
soffice.b 13293 xiong  mem  REG  252,0  97476   3551    /usr/share/fonts/opentype/urw-base35/C059-Roman.otf
soffice.b 13293 xiong  mem  REG  252,0  140892  1439063 /opt/modaodfapplicationtools/share/fonts/truetype/AmiriQuran.ttf
soffice.b 13293 xiong  mem  REG  252,0  453396  1439062 /opt/modaodfapplicationtools/share/fonts/truetype/Amiri-Regular.ttf
soffice.b 13293 xiong  mem  REG  252,0  91360   1439058 /opt/modaodfapplicationtools/share/fonts/truetype/Alef-Regular.ttf
soffice.b 13293 xiong  mem  REG  252,0  20050760 13832   /usr/share/fonts/opentype/noto/NotoSansCJK-Bold.ttc
soffice.b 13293 xiong  mem  REG  252,0  1937644  1439132 /opt/modaodfapplicationtools/share/fonts/truetype/LinBiolinum_R_G.ttf
soffice.b 13293 xiong  mem  REG  252,0  113036  1439125 /opt/modaodfapplicationtools/share/fonts/truetype/LiberationSansNarrow-Regular.ttf
soffice.b 13293 xiong  mem  REG  252,0  411860  1439121 /opt/modaodfapplicationtools/share/fonts/truetype/LiberationSans-Regular.ttf
soffice.b 13293 xiong  mem  REG  252,0  319368  1439117 /opt/modaodfapplicationtools/share/fonts/truetype/LiberationMono-Regular.ttf
soffice.b 13293 xiong  mem  REG  252,0  267604  1439113 /opt/modaodfapplicationtools/share/fonts/truetype/GenBkBasR.ttf
soffice.b 13293 xiong  mem  REG  252,0  346664  1439099 /opt/modaodfapplicationtools/share/fonts/truetype/DejaVuSerifCondensed.ttf
soffice.b 13293 xiong  mem  REG  252,0  380132  1439095 /opt/modaodfapplicationtools/share/fonts/truetype/DejaVuSerif.ttf
soffice.b 13293 xiong  mem  REG  252,0  340712  1439091 /opt/modaodfapplicationtools/share/fonts/truetype/DejaVuSansMono.ttf
soffice.b 13293 xiong  mem  REG  252,0  264216  1439109 /opt/modaodfapplicationtools/share/fonts/truetype/DejaVuSansMono.ttf
soffice.b 13293 xiong  mem  REG  252,0  355380  1439081 /opt/modaodfapplicationtools/share/fonts/truetype/DejaVuSans-ExtraLight.ttf
soffice.b 13293 xiong  mem  REG  252,0  61680   1439105 /opt/modaodfapplicationtools/share/fonts/truetype/FrankRuhlHofshi-Regular.otf
soffice.b 13293 xiong  mem  REG  252,0  58964   1439067 /opt/modaodfapplicationtools/share/fonts/truetype/Carladae-Regular.ttf
soffice.b 13293 xiong  mem  REG  252,0  512672  13897   /usr/share/fonts/truetype/noto/NotoSans-Regular.ttf
soffice.b 13293 xiong  mem  REG  252,0  1937644  1439132 /opt/modaodfapplicationtools/share/fonts/truetype/FrankRuehlCLM-Medium.ttf

xiong@xiong:~$

仔細一看就發現MODA自帶了不少字型

xiong@xiong:~$ ls /opt/modaodfapplicationtools/share/fonts/truetype/
Alef-Bold.ttf                 DejaVuSans-ExtraLight.ttf       FrankRuhlHofshi-Regular.otf    LiberationSerif-Regular.ttf   NotoSerifLao-Regular.ttf
Alef-Regular.ttf              DejaVuSans-Oblique.ttf           GenBas.ttf                     LinBiolinum_R_G.ttf            OxWingdings-Regular.ttf
Amiri-Bold.ttf                DejaVuSans-Bold.ttf              GenBasB.ttf                    LinBiolinum_R_G.ttf            OxWingdings2-Regular.ttf
Amiri-BoldItalic.ttf          DejaVuSansCondensed-Bold.ttf     GenBasI.ttf                    LinBiolinum_R_G.ttf            OxWingdings2-Regular.ttf
Amiri-Italic.ttf              DejaVuSansCondensed-BoldOblique.ttf GenBasBI.ttf                  LinBiolinum_R_G.ttf            ReemKufi-Bold.ttf
Amiri-Regular.ttf             DejaVuSansCondensed-Oblique.ttf  GenBkBas.ttf                   LinLibertine_BI.ttf             ReemKufi-Regular.ttf
AmiriQuran.ttf                DejaVuSans-ExtraLight.ttf        GenBkBasB.ttf                  LinLibertine_DR.ttf             Rubik-Bold.ttf
Caladea-Bold.ttf              DejaVuSansMono-Bold.ttf          GenBkBasI.ttf                  LinLibertine_I.ttf              Rubik-Regular.ttf
Caladea-BoldItalic.ttf        DejaVuSansMono-BoldOblique.ttf   GenBkBasBI.ttf                 LinLibertine_R.ttf              Rubik-Italic.ttf
Caladea-Italic.ttf            DejaVuSansMono-Oblique.ttf       GenBkBasR.ttf                  LinLibertine_RI.ttf             Scheherazade-Bold.ttf
Caladea-Regular.ttf           DejaVuSansMono.ttf               GenBkBasR.ttf                  LinLibertine_R_G.ttf            Scheherazade-Regular.ttf
Carlito-Bold.ttf              DejaVuSerif-Bold.ttf             LiberationMono-Bold.ttf         MiriamCLM-Book.otf              SourceHanSansCJK-Bold.otf
Carlito-BoldItalic.ttf        DejaVuSerif-BoldItalic.ttf       LiberationMono-BoldItalic.ttf   MiriamLibre-Bold.otf             SourceHanSansCJK-Regular.otf
Carlito-Italic.ttf            DejaVuSerif-Italic.ttf           LiberationMono-Regular.ttf      MiriamLibre-Regular.otf          SourceHanSansCJK-Regular.otf
Carlito-Regular.ttf           DejaVuSerifCondensed-Bold.ttf    LiberationSans-Bold.ttf        MiriamMonoCLM-Bold.ttf            SourceHanSansTC-Bold.otf
DavidCLM-Bold.otf             DejaVuSerifCondensed-BoldItalic.ttf LiberationSans-BoldItalic.ttf MiriamMonoCLM-BoldOblique.ttf   SourceHanSansTC-Regular.otf
DavidCLM-BoldItalic.otf       DejaVuSerifCondensed-Italic.ttf LiberationSans-Italic.ttf       MiriamMonoCLM-BookOblique.ttf     TW-Kai-98_1.ttf
DavidCLM-Medium.otf           DejaVuSerifCondensed-Regular.ttf LiberationSans-Regular.ttf     MiriamMonoCLM-Bold.ttf            TW-Kai-98_1.ttf
DavidLibre-Bold.ttf           DejaVuSerif-Regular.ttf          LiberationSansNarrow-Bold.ttf  MiriamMonoCLM-BoldOblique.ttf    TW-Sung-98_1.ttf
DavidLibre-BoldItalic.ttf     FrankRuehlCLM-Bold.ttf           LiberationSansNarrow-BoldItalic.ttf MiriamMonoCLM-Book.ttf          TW-Sung-Ext-B-98_1.ttf
DavidLibre-Medium.ttf         FrankRuehlCLM-Medium.ttf          LiberationSansNarrow-Regular.ttf NachlieliCLM-Light.otf             fc_local
DavidLibre-Regular.ttf        FrankRuehlCLM-BoldOblique.ttf    LiberationSerif-Bold.ttf       NachlieliCLM-Bold.otf             opens___.ttf
DejaVuMathTeXGyre.ttf         FrankRuehlCLM-Medium.ttf          LiberationSerif-BoldItalic.ttf  NachlieliCLM-Regular.otf
DejaVuSans-Bold.ttf            FrankRuehlCLM-BoldItalic.ttf    LiberationSerif-Italic.ttf     NotoSerifLao-Regular.ttf

我在刪掉MODA後,apt似乎發現/opt目錄是空的就順手刪掉了,這部分滿困擾的,因為每個目錄都有權限,不是補一個資料夾就好了。真心覺得字型就不要放在/opt目錄下了。既然發生了,我們就來修復一下。

  1. 建立資料夾
    sudo mkdir /opt
  2. 設定權限
    sudo chmod 755 /opt
  3. 將擁有着歸於root用戶
    sudo chown root:root /opt
  4. 確認
    ls -ld /opt 
xiong@xiong:~$ ls /opt
ls: cannot access '/opt': No such file or directory
xiong@xiong:~$ sudo mkdir /opt
[sudo] authentication Password:
xiong@xiong:~$ sudo chmod 755 /opt
xiong@xiong:~$ sudo chown root:root /opt
xiong@xiong:~$ ls -d /opt
/opt
xiong@xiong:~$ ls -ld /opt
drwxr-xr-x 2 root root 4096 Apr 13 13:58 /opt
xiong@xiong:~$

#LibreOiffice