Kenapa teks bergaya muncul sebagai kotak kosong (tofu)?
Pesan yang sama, dikirim dan diterima
Dua tangkapan layar di bawah menunjukkan satu email yang digayakan dengan ETeext, kaya karakter beraksen. Di ponsel yang mengirimnya, semua tampak sempurna; di ponsel yang menerimanya, aksennya pecah jadi kotak kosong.
Kenapa beberapa karakter muncul sebagai kotak?
Di sebagian perangkat, karakter bergaya bisa muncul sebagai kotak kecil kosong (atau kotak bersilang, atau tanda tanya). Fenomena ini punya nama: disebut “tofu”.
Kata itu berasal dari kemiripan persegi kecil ini dengan sepotong tahu. Ini bukan bug ETeext, bukan pula kesalahan di teksmu: ia sekadar berarti perangkat atau aplikasi yang menampilkan teks “di sisi penerima” tak punya, dalam fontnya, gambar karakter yang diminta. Karena tak tahu apa yang harus digambar, ia menampilkan persegi pengganti.
Ini lebih sering terjadi di perangkat tertentu (kadang yang “Tiongkok”, atau lebih luas perangkat yang font sistemnya dioptimalkan untuk alfabet lain). Fontnya menutupi sistem tulisannya sendiri dengan sempurna, tapi mungkin tak menyertakan setiap karakter bergaya eksotis alfabet Latin — karenanya tofu menggantikan sebagian efek.
Dengan kata lain: teksmu benar, tapi perangkat di sisi lain tak bisa menampilkannya sepenuhnya.
Bagian teknis: kenapa tofu muncul (dan bagaimana Mode Aman menghindarinya)
Untuk yang penasaran, ini yang terjadi “di balik layar.”
Gaya ETeext tidak mengubah font tampilan (itu urusan CSS): mereka mengubah karakternya sendiri. Huruf “a” tebal bergaya, misalnya, bukan “a” yang dibalut format — ia karakter Unicode tersendiri, diambil dari blok khusus (simbol alfanumerik matematis). Inilah persis yang membuat gaya ini melintasi platform yang tak mengizinkan pengubahan font.
Kelemahannya, untuk menampilkan karakter ini, perangkat penerima harus punya gambar (glif)-nya dalam fontnya. Jika glifnya hilang, perangkat menampilkan karakter pengganti — tofu yang terkenal itu. Makin “eksotis” (tak lazim) sebuah karakter, makin tinggi risiko sebuah font tak menutupinya — dan sebagian ekosistem perangkat, dioptimalkan untuk sistem tulisan lain, menutupi lebih sedikit.
Sebagian efek juga menumpuk tanda penggabung: aksen atau tanda berlapis pada sebuah huruf. Di sini pun, rendernya bergantung pada kemampuan perangkat memosisikannya dengan benar; di lingkungan yang kurang lengkap, hasilnya bisa tak sempurna.
Solusinya: Mode Aman
ETeext menyertakan sebuah Mode Aman. Aktifkan sebelum memberi gaya, dan ketimbang menghasilkan karakter berisiko, ETeext beralih ke huruf standar — ada di benar-benar setiap font. Teksmu tetap terbaca di perangkat penerima, dengan mengorbankan sebagian efek visual.
Ini sakelar sederhana yang bisa kamu ubah kapan saja, tergantung konteks.