Apakah ada cara yang diterima untuk menyesuaikan font mesin terbang untuk mensimulasikan angka teks ?
Latar Belakang
Angka teks adalah digit "huruf kecil". Anda biasanya menggunakan digit huruf kecil di mana Anda juga menggunakan teks huruf kecil (misalnya di tengah kalimat).
Keyboard tidak pernah dibuat dengan angka besar dan kecil; dan Unicode tidak secara khusus menyandikannya, karena "mereka tidak dianggap sebagai karakter yang terpisah dari gambar garis, hanya cara berbeda untuk menulis karakter yang sama."
Yang membawa saya ke pertanyaan saya; apa cara yang diterima untuk membuat angka huruf kecil dari standar huruf "yang huruf besar?
Wikipedia menyebutkan bahwa biasanya :
012
adalahx
-tinggi68
memiliki ascenders34579
memiliki keturunan
Upaya pertama saya (di photoshop) adalah:
- smush 012
- mendorong 34579 ke bawah
- tinggalkan 68 di mana mereka berada:
Tetapi angka skwooshed (0, 1, 2) terlihat jelas tidak menyenangkan.
Jika konsorsium Unicode menyarankan bahwa "angka kecil" dapat dengan mudah dibuat dari yang "besar" - apa yang mereka sarankan untuk saya lakukan?
Idealnya dalam HTML
Tujuan akhir saya adalah untuk menampilkan teks huruf kecil di browser. saya tahu beberapa font (misalnya Georgia) sudah menampilkan semua digit sebagai huruf kecil:
Tapi saya tidak bertanya bagaimana cara beralih menggunakan Georgia ; Saya bertanya bagaimana cara membangun angka garis dari yang non-lapisan.
Dan karena ini untuk tampilan di web, saya menyadari bahwa saya mungkin akhirnya harus menerapkan format per-karakter:
<!doctype html">
<html>
<head>
<style type="text/css">
body {
font-family: "Segoe UI", "Calibri", sans-serif;
font-size: larger;
}
.xheight {
font-size: 1.5ex;
}
.descender {
position: relative;
bottom: -0.4ex;
}
</style>
</head>
<body>
<p>In the year <span class="xheight">21</span><span class="descender">5</span><span>6</span> the Romulan war...
</body>
</html>
Rendering sebagai:
Yang, sekali lagi, tidak terlihat menyenangkan seperti yang saya pikir seharusnya.
Hei, lihat, satu sen!
sumber
A
(U+0041
), huruf kecila
(U+0061
), dan bahkan sᴍᴀʟʟ cᴀᴘɪᴛᴀʟᴀ
(U+1D00
)? Yaitu apa yang menjadi alasan yang mengecualikan digit huruf besar dan kecil, tetapi termasuk huruf besar dan kecil terpisah?Cara yang benar untuk merender digit / angka huruf kecil atau "Angka gaya lama" adalah dengan menggunakan CSS untuk memilih fitur font yang sesuai. Jelas, font yang digunakan kemudian harus mendukung fitur font ini sejak awal. Dukungan dunia nyata dengan webfonts tampaknya tidak terlalu kuat.
Pengaturan CSS yang Anda cari adalah
dan dokumentasinya:
Dokumentasi fitur OpenType, dan
onum
fitur khususnya, dapat ditemukan di registri tag OpenType Layout Microsoft .Dokumentasi alternatif tentang fitur font tersedia di artikel Cara mengkode fitur OpenType di CSS .
Secara resmi, Anda seharusnya menggunakannya
tetapi dukungan untuk itu tampaknya bahkan lebih lemah menurut referensi Kompatibilitas Browser Mozilla .
Secara teori ini lebih baik karena tidak merujuk langsung ke fitur OpenType sehingga harus bekerja dengan font non-OpenType juga. Dengan cara yang sama Anda harus menggunakan:
untuk mengaktifkan topi kecil . Jangan tidak menggunakan pengaturan seperti fitur OpenType
untuk mencapai efek ini karena
font-variant
properti sudah didukung dengan baik.sumber
font-variant: small-caps;
karena itu membuat FAKE topi kecil. Selalu gunakan yang lain, dan selalu gunakan font OpenType. Sederhana dan terpecahkan.acceptable
jikasmall-caps
fitur dipalsukan. Itu bukan persyaratan dan agen pengguna berkualitas tinggi akan melakukan hal yang benar (memetakannya ke fitur OpenType). Saya setuju bahwa jika Anda lebih suka tidak memiliki perubahan daripada topi kecil palsu, Anda harus menggunakanfont-feature-settings
. Biasanya topi kecil palsu lebih baik daripada tidak memiliki efek sama sekali.