你有沒有碰過這樣的情況:當你點選輸入法中的某些表情,居然還能選擇不同膚色——從淺膚色到深膚色,一共五種。 但一個 Emoji 本質上是一個字元,它到底是怎麼實現「變色」的?難道是 Unicode 聯盟(負責制定 Emoji 標準的組織)為每個膚色都單獨創造了一個新符號嗎? 今天我們就來揭開這個看起來簡單、實際設計很巧妙的機制。
一、 核心原理:不是新圖示,而是「組合鍵」
早期的 Emoji(如日本的原始版本)大多只有一種預設的亮黃色。這種顏色被設計為「非現實膚色」,意在避免代表任何特定種族。但隨著全球使用的普及,對多元膚色代表的需求日益強烈。Unicode 聯盟(負責制定 Emoji 標準的組織)並沒有為每種膚色創造成千上萬的新 Emoji 圖示,那會極其臃腫。他們想出了一個絕妙的「組合」方案。
這套方案的核心是引入五個特殊的「膚色修飾符」(Fitzpatrick Scale Modifiers)。它們本身不顯示為可見的 Emoji,而是像「染色劑」一樣,可以附加在代表人體部位的 Emoji(如手、臉、身體)後面。這五個修飾符分別對應菲茨帕特里克膚色量表(一種醫學上區分膚色的方法)中的六種類型(實際上,類型 I 和 II 共享最淺的修飾符):
- Type 1: 最淺膚色(蒼白色)
- Type 2: 淺膚色(白色)
- Type 3: 中等膚色(淺棕色)
- Type 4: 中等深膚色(橄欖色)
- Type 5: 深膚色(棕色)
- Type 6: 最深膚色(深棕色)
二、 組合過程:一個「代碼公式」
2015 年,Unicode 8.0 發布了五個特殊的 Emoji 字元,它們單獨顯示時就是顏色方塊,這就是膚色修飾符(Skin Tone Modifier)。
膚色修飾符 ≠ 獨立的新 Emoji,而是緊跟在基礎 Emoji 後面的一個特殊字元,用於改變基礎 Emoji 的膚色。
膚色修飾符包括如下 5 個:
| 修飾符 | Unicode 編碼 | 膚色名稱 |
|---|---|---|
| 🏻 | U+1F3FB | 淺膚色(Light) |
| 🏼 | U+1F3FC | 中等偏淺膚色(Medium-Light) |
| 🏽 | U+1F3FD | 中等膚色(Medium) |
| 🏾 | U+1F3FE | 中等偏深膚色(Medium-Dark) |
| 🏿 | U+1F3FF | 深膚色(Dark) |
簡單理解:基礎 Emoji 是「主體」,膚色修飾符是「顏料」,把顏料塗在主體上,就得到了帶膚色的 Emoji。比如:
- 👍(基礎按讚)+ 🏽(中等膚色修飾符)= 👍🏽(中等膚色按讚)
- 🧑(基礎成年人)+ 🏿(深膚色修飾符)= 🧑🏿(深膚色成年人)
作業系統或應用程式的渲染引擎在偵測到這個「基礎 Emoji + 膚色修飾符」的組合時,就會去資源庫中尋找對應的、已經繪製好的「🙋🏻」圖片來顯示,而不是現場調色。這就是為什麼不同平台(蘋果、Google、三星等)的同一膚色 Emoji,其藝術風格(髮型、表情細節、陰影)可能不同,但膚色色調是遵循同一套標準的原因。
三、為什麼同一串代碼,在不同手機上長得不一樣?
你發 👋🏽 給用 iPhone 的朋友,他看到的是偏粉調的寫實皮膚;安卓使用者看到的是扁平幾何風;Windows 電腦可能顯示得像塗了層透明釉彩。
原因很簡單:Unicode 只負責「規定這是什麼字元」,不負責「畫成什麼樣」。
所以,「同一串代碼,千張面孔」是常態。這也是為什麼有時你精心挑選的膚色 Emoji,換台裝置就「變了樣」。不過不用擔心,基礎膚色層級(淺/中/深)在所有平台上都是對齊的,不會出現「淺膚變深膚」的誤判。
四、技術細節:如何實現
4.1 字串表示
在程式設計中,膚色 Emoji 實際上是普通的 Unicode 字串。例如(以 Python 為例):
# 基礎揮手 Emoji
wave = "👋"
# 添加深膚色
wave_dark = "👋🏿" # 實際上是兩個字元的組合
# 列印字元數
print(len(wave)) # 輸出: 1
print(len(wave_dark)) # 輸出: 2
4.2 渲染過程
當你的裝置渲染 Emoji 時,會經歷以下步驟:
- 接收文字序列:"👋🏿"
- 識別基礎 Emoji:"👋"
- 識別膚色修飾符:"🏿"
- 查找對應的帶膚色圖形資源
- 渲染最終圖像
總結
Emoji 膚色的實現是一個完美的技術設計案例:它用簡單的修飾符系統解決了複雜的表達需求,既保持了向前相容性,又為使用者提供了豐富的選擇。更重要的是,它體現了科技對多樣性和包容性的追求。
下次你再從鍵盤上滑出那排膚色選項時,不妨多看一眼: 那不僅是 U+1F3FB 到 U+1F3FF 的五個字元,而是編碼標準、色彩科學、字體工程與社會包容性的一次完美握手。 心理學研究早已證實:使用與自身膚色匹配的 Emoji,能顯著提升表達認同感與溝通溫度。技術沒有立場,但設計可以有溫度。當一行行冷冰冰的字元學會「換膚」,數位世界終於真正長出了人類的模樣。
