手機如何換字體?怎麼做到的?

手機如何換字體?怎麼做到的?

過去一段時間,偶而會看到身旁人的手機,使用了極其特殊的字體,那種與一般常見作業系統預設黑體大相逕挺的風格,令人過目難忘。

濫觴:手機的普及化

在大約2000年初,智慧型手機逐漸嶄露頭角,但當時還是以類似「黑莓機」的形式出場,往往帶著一個實體鍵盤,直到2000年末,賈伯斯帶的第一代iPhone問世,各家廠商紛紛跟進「全觸控」的手機市場。

在硬體的加持下,我們開始可以將較為複雜的運算功能移植到行動端上,智慧型手機也愈發普及,從原本簡單的「商務使用」到「人手一機」。

資本家的嗅覺:Monotype 進軍手機字體市場

使用的人多了,就有商機,此時世界上最大的字體帝國Monotype嗅到商機,希望可以開發一款能「換字體」的工具,當時在2007到2010年之間,手機製造商如雨後春筍般冒出,包括:Nokia、Samsung、Apple等,作業系統部分,也是各立門戶,不像現在只有Android與iOS。

Symbian OS截圖(時代的眼淚)。

最早Monotype其實是為Nokia的Symbian作業系統打造換字體技術。Monotype將此技術稱為「FlipFont」,當時透過Nokia的商店安裝該APP,即可切換系統使用者介面字體。

FlipFont APP操作示意圖

再見Symbian,你好Android!

事過境遷,Symbian系統經歷一翻的併購(甚至還有Windows Phone參與其中),最終Symbian宣告死亡。到了2012左右,根據IDC提出的相關報告,當時市面上裝載Android的智慧型移動裝置,達到約70%左右。

Monotype此時就轉向Android系統。與該作業系統下最大設備製造商Samsung合作,實現在手機端換字體。

是限制,也是保護:為何要透過官方安裝字體?

帶大家應該有發現,似乎在Android平台下,無法輕鬆的替換系統使用者介面字體,最快速的方式是透過如:Samsung商城......等,手機廠商官方的商店取得字體。

Samsung商城的字體主題購買畫面截圖

一般來說,用戶無法透過「設定」直接切換字體,最直接的原因是因為Android並未開放相關API讓用戶可以直接註冊系統字體,至於像是Samsung商城這樣的作法,是因為Samsung在開發One UI時,就保留內部接口,可以透過指定方式調用,但僅限於經過認證的廠商。

透過官方下載的字體包內的AndroidManifest.xml配置是意圖,透過聲明,以做到隱藏

從Samsung商城安裝的字體,本質上「應用軟體」的形式,只是在一般應用列表中無法看見,本質上是購買了一款應用軟體。

Android APP換字體?

大家可能聽過有部分第三方平台(例如:愛X體、zFxxx)可以做到,通常使用該方法存在許多風險。此類APP大致分為兩種方式達成此目的:

1.使用ROOT

在Android系統啟動時,會自動尋找「etc/fonts.xml」文件,並讀取配置。而ROOT方式就是直接修改該文件,替換字體路徑或是修改字型檔案。

Android fonts.xml文件示意圖

風險顯而易見,首先如果路徑失效,可能會造成系統無法正常啟動,而且只要是一般用戶從市售渠道購買的行動裝置,基本上製造上都不會允許此操作,如果修改過,會導致文件無法通過原廠認證,這可能會失去保固。

加上近期Android開發團隊十分重視安全性,加入了Play Integrity......等相關技術限制,如果發現有對裝置ROOT過,會使許多應用無法開啟。

2.欺敵戰術

ROOT方法太危險?還有許多APP號稱ROOT就可換字體。

此類APP會先安裝「預設字型包」或系統支援字型包,接著讓用戶上傳字體的檔案,次十該應用會將該字體包裝成執行檔案,並且刻意用與「預設字型包」一樣的配置(可能是AndroidManifest.xml),讓系統以為是同樣的東西,調用名稱、家族名、宣告......等都一致,只是最後顯示的圖形不同。

此方法其實也不見會成功,許多廠商已經加入更複雜的較驗系統,包括檢查配置文件的Hash值,防止竄改。

透過APP換字體的風險

上面已經講過ROOT的風險,即便不是用ROOT也可能存在風險,沒有相關技術背景的人使用,APP可能在安裝檔案(多為 apk)嵌入具有風險的程式,會使資訊安全暴露高度風險中。

攻擊手法推層出新,甚至可以夾帶有問題的字型檔案,直接造成系統崩潰或漏洞。例如:CVE-2020-15999的漏洞,透過將與宣告不符合的PNG文件鑲嵌入字體中,造成堆棧溢出(簡單來說,就是騙記憶空間,然後塞入地址,然後程式就會跑到那地址執行惡意程式碼)......等問題。

在極端一點,如果有人刻意將「9」的編碼上,改為「0」的樣式,剛好你掃描了一個付款QRcode,那原本你以為只是支付「1,000」但事實上支付了「1,999」,這就虧大了。

最後,還有許多APP號稱可以換中文字體,但其中字體授權來路不明,品質參差不齊,還可能引發法律問題,千萬勿以身試法!

iOS可以換字體嗎?

可以,但也有限制!iOS與MacOS都可以調用CTFontManagerAPI,可以合法在系統中註冊字體,但僅限於應用中調用。

例如:可以透過文鼎的Fonts Fun安裝字體,並在Word中使用,又或是在iPad中使用剪輯軟體,可調用字體。

應該換字體嗎?

​個人手機UI字體,作用域僅限於個人手機,不像對外的設計需要讓大眾存取,確實可以更「自我」的思考這題,假設在安全的情況下,還是可能出現其他的狀況。

狀常見的就是缺字,或品質問題!例如:在Samsung商城啟用〈華康玉刻仿宋〉在下方截圖中就出現,簡體中文無法顯示、西里爾字母字距不自然。

使用其他非系統預設字體實際顯示問題示意

即便顯示正常,我們應該也要思考,在小字號下,這些字體閱讀體驗好嗎?

字型比較

以上舉〈華康玉刻仿宋〉與預設的〈思源黑體〉做為比較,因〈玉刻仿宋〉是目前合法情況下能取得最接近內文字體的設計了,華康官網也是這麼定義他的。感受與評價,留給大家自行判斷。

總結來說,要選擇更換系統UI與否,主要在個人,可以根據自身需要思考,如果自己認為更換系統用字,可帶來幸福感,何嘗不可呢?

唯需在此之前,認知其風險與後果,如想更換,建議依照官方指示方式操作,避免將數位安全暴露於風險之中。

https://l.twinty.pe/oj82IZ 分享文章
CC BY-NC 4.0
此授權條款要求再使用者必須對創作者進行署名。它允許再使用者以任何媒介或格式,出於非商業目的,分享、重混、改編及依原作品進行創作。唯重製後之作