Mengapa saya harus menggunakan karakter khusus Unicode untuk angka Romawi?

43

Ini untuk menjawab pertanyaan yang muncul di komentar pada pertanyaan ini pada karakter Unicode untuk angka Romawi:

Mengapa ini perlu atau lebih disukai daripada cara mengetik ai, ai-ai, ai-ai-ai, vee-ai, dll?

Untuk memulai dari awal, di blok Bentuk Angka Unicode , ada titik kode untuk Angka Romawi yang pada pandangan pertama sangat mirip dalam penampilannya dengan huruf latin kapital standar atau kombinasi daripadanya (U + 2160 - U + 217F). Misalnya, U + 2165 (Angka Romawi Enam) terlihat sangat mirip dengan VI (Huruf Latin V dan Huruf Latin I).

Dengan demikian, muncul pertanyaan mengapa seseorang tidak harus menggunakan yang terakhir untuk mewakili angka-angka itu dan, misalnya, mengetikkan Louis VIIbukan Louis Ⅶ. Jelas, tidak menggunakan karakter khusus menghindari masalah kompatibilitas dengan font yang tidak mendukungnya. Tetapi bahkan jika saya tahu bahwa teks akan diberikan dengan font yang mendukung karakter ini, mengapa saya harus repot-repot menggunakannya?

Wrzlprmft
sumber

Jawaban:

56

Dalam banyak font Anda memang akan menemukan hampir tidak ada perbedaan antara menggunakan karakter Unicode untuk angka Romawi dan hanya menulis mereka dari huruf Latin stardard. Misalnya, acara berikut Louis VII(atas) dan Louis Ⅶ(bawah, menggunakan titik kode untuk angka Romawi) yang diberikan dengan FreeSans:

masukkan deskripsi gambar di sini

Terlepas dari perbedaan kecil dalam jarak, yang mungkin tidak disengaja, hasilnya identik.

Ini adalah teks yang sama dengan yang diberikan dengan DejaVu Sans:

masukkan deskripsi gambar di sini

Sementara karakter masih terlihat identik, ada perbedaan yang cukup besar dalam penspasian. Ini mungkin masalah selera apakah yang terakhir lebih disukai untuk angka Romawi, tetapi tentu saja itu bukan pilihan yang baik untuk kerning untuk all-caps reguler.

Linux Libertine melangkah lebih jauh:

masukkan deskripsi gambar di sini

Di sini angka Romawi sedikit lebih kecil dari huruf kapital, sehingga cocok dengan angka Arab font. Yang paling penting, mereka terhubung, mereproduksi fitur yang sering ditemukan dalam angka Romawi yang digambar tangan.

Sekarang, beberapa mungkin masih berpendapat bahwa tidak ada perbaikan di atas atau bahwa mereka tidak sepadan dengan usaha. Jadi inilah kasusnya, di mana tidak menggunakan karakter Unicode akan menghasilkan hasil yang mengerikan:

masukkan deskripsi gambar di sini

(Perhatikan bahwa ukuran kecil angka mencerminkan beberapa penyusunan huruf historis yang sebenarnya.) Sesuatu yang serupa dapat terjadi untuk skrip atau font kaligrafi.

Tanpa titik Unicode spesifik untuk angka Romawi, melarutkan masalah yang terakhir hanya akan mungkin terjadi dengan:

  • Menggunakan fitur OpenType yang kompleks (atau serupa) yang mencoba mendeteksi apakah urutan huruf kapital adalah angka romawi. Ini pasti akan menyebabkan masalah dengan kata-kata yang juga akan menjadi angka Romawi yang valid.

  • Menggunakan fitur OpenType sederhana, yang perlu diaktifkan secara manual untuk setiap angka Romawi.

  • Menggunakan Area Penggunaan Pribadi Unicode. Masalah kompatibilitas cenderung terjadi bahkan ketika beralih di antara dua font yang keduanya mendukung angka Romawi.

Dari sudut pandang Unicode, perbedaan semantik yang besar antara huruf latin dan angka Romawi seharusnya sudah cukup untuk pengkodean angka Romawi yang terpisah.

Wrzlprmft
sumber
Sejauh mana angka Romawi menimbulkan masalah yang berbeda dari akronim dan inisialisme, yang keduanya akan ditangani dengan baik dengan memiliki font termasuk satu set topi kecil? Saya berharap bahwa skenario di mana "VII" harus ditampilkan menggunakan huruf besar daripada smallcaps adalah sama dengan yang di mana "NATO" atau "PM" akan ditampilkan juga. Meskipun mungkin menyenangkan memiliki cara untuk menghubungkan bilah lintang dengan "VII" tetapi bukan "VIP", saya tidak yakin bilah lintang harus terhubung ketika angka digunakan dalam teks .
supercat
Sangat bagus menambahkan semantik diperluas Anda sedikit tetapi jika Anda ingin memasukkan dalam jawaban Anda jangan ragu untuk melakukan itu dan sakit hapus milik saya.
joojaa
@supercat: Saya tidak yakin apa yang Anda tuju, tetapi dalam pengalaman saya, dalam tipografi modern, angka Romawi selalu memiliki tentang ukuran modal, sedangkan dalam bahasa selain Jerman, mungkin menggunakan topi kecil untuk singkatan semua huruf besar. Dalam tipografi blackletter, Anda akan menggunakan font roman untuk singkatan semua-huruf dan untuk angka romawi, tetapi kadang-kadang Anda akan menggunakan angka romawi yang lebih kecil (seperti di atas) dan untuk beberapa kesempatan yang sangat istimewa, Anda akan menggunakan blackletter all-caps.
Wrzlprmft
@Wrzlprmft: Saya berharap angka Romawi dicetak dengan ukuran yang sama seperti "PM" atau "NATO"; dalam beberapa konteks, hal-hal seperti itu dicetak sebagai ibukota ukuran penuh, tetapi dalam konteks lain yang membuatnya terlalu menonjol. Jika font memiliki satu set huruf kapital yang desainnya, sehubungan dengan font lainnya, sesuai untuk "PM" atau "NATO", saya akan berpikir itu juga akan cocok untuk angka Romawi.
supercat
@supercat: Untuk font roman biasa, ya (meskipun orang dapat berdebat apakah ini yang terbaik untuk dilakukan). Tapi bagaimana dengan blackletter dan font script? Juga, apa yang Anda simpulkan dari itu?
Wrzlprmft
27

TL; DR Konsorsium Unicode merekomendasikan penggunaan huruf latin jika memungkinkan dan bukan angka, yang mana termasuk untuk kompatibilitas dengan tipografi Asia Timur.

Kisah lengkap: (dengan justifikasi atas pernyataan di atas)

Kecuali Anda melakukan tipografi Asia Timur, menggunakan karakter angka Romawi (non-kuno) dari unicode (U + 2160 - U + 217F) adalah hack.

Karakter ini telah dimasukkan untuk kompatibilitas dengan standar Timur-Asia pra-Unicode. Karakter-karakter ini tetap vertikal di mana teks Asia-Timur diketik dari atas ke bawah, sementara biasanya, teks dalam karakter Latin (misalnya nama) ditulis miring dalam konteks ini.

Mengutip versi terakhir dari standar Unicode (v 7.0, bab 22, hlm. 20) :

Angka Romawi. Untuk sebagian besar tujuan, lebih disukai menyusun angka Romawi dari urutan huruf Latin yang sesuai. Namun, varian huruf besar dan kecil dari angka Romawi sampai 12, ditambah L, C, D, dan M, telah dikodekan dalam blok Number Forms (U + 2150..U + 218F) untuk kompatibilitas dengan standar Asia Timur. Tidak seperti urutan huruf Latin, simbol-simbol ini tetap tegak lurus dalam tata letak vertikal. Selain itu, di lokal tertentu, format tanggal ringkas menggunakan angka Romawi untuk bulan itu, tetapi mungkin mengharapkan penggunaan satu karakter.

Jadi, dalam teori, perbedaan antara Angka Romawi dan huruf adalah masalah teks kaya, seperti huruf miring, perubahan font, atau ligatur opsional. Yang mengatakan, seperti yang ditunjukkan @Wrzlprmft, beberapa font menggunakannya untuk menghindari perubahan font untuk setiap angka Romawi sambil menjaga tipografi yang baik.

Keberadaan karakter untuk XII dan bukan untuk XIII menyiratkan bahwa ada beberapa pengkodean yang berbeda dengan angka yang sama, yang mengarah pada kesulitan dalam pencarian teks: Jika Anda menulis tentang Louis XII dan Louis XIII, Anda mungkin akan menulis XIII sebagai X + I + I + I, tetapi apakah Anda akan menulis XII sebagai karakter tunggal? Atau sebagai X + I + I untuk memiliki tampilan yang konsisten dengan XIII? Tidak ada jawaban tunggal yang baik untuk pertanyaan ini saat menggunakan Karakter Angka Romawi, dan itulah sebabnya konsorsium Unicode merekomendasikan penggunaan huruf Latin bila mungkin dan bukan angka.

Sunting: menambahkan pernyataan TL; DR di awal

Frédéric Grosshans
sumber
9
" Konsorsium Unicode merekomendasikan penggunaan huruf Latin bila mungkin dan bukan angka." Ini harus jauh lebih menonjol daripada saat ini.
Ixrec
1
Dari sudut pandang semantik Unicode sejauh ini jawaban terbaik di sini. Mungkin ada alasan praktis dengan font tertentu untuk memilih karakter angka Romawi, dan itu tentu saja pertimbangan desain grafis independen, tetapi secara semantik mereka selalu salah.
R ..
13

Dari perspektif bagaimana tampilannya mungkin tidak ada banyak perbedaan. Jadi, jika Anda hanya mempublikasikan materi cetak maka tidak ada perbedaan, kecuali dalam beberapa font seperti yang ditunjukkan Wrzlprmft dalam jawaban yang sangat bagus.

Semantik itu penting

Perbedaan semantiknya sangat besar. Dengan menggunakan angka romawi membuatnya jelas bahwa Anda berbicara tentang angka 5 dan bukan huruf V. Tentu saja mereka terlihat sama, tetapi artinya berbeda. Itu berarti bahwa mesin pencari mungkin memiliki peluang lebih tinggi untuk menemukan "tanda XX V" ketika Anda mencari "XX versi 5".

Sebenarnya alasan bahwa beberapa hal bekerja dengan buruk adalah karena kami tidak menanamkan informasi semantik. Dunia memang akan menjadi tempat yang lebih baik jika kita mau. Jadi menggunakan makna semantik yang tepat hampir sama dengan menggunakan gaya dalam pengolah kata versus gaya secara manual. Ada sedikit perbedaan pada sisi manusia, tetapi kekuatan besar dalam otomatisasi.

Font harus membuat angka romawi yang berbeda

Pembuat font tidak benar-benar menggunakan ini karena mereka tidak terlalu sering digunakan. Tetapi dengan menggunakan ini, Anda bisa mendapatkan lembaran angka romawi pada huruf-huruf yang membedakannya dari teks. Jadi fitur ini kurang dimanfaatkan karena jarang digunakan. Font tidak benar-benar mengimplementasikan semuanya, juga tidak seharusnya. Dengan menggunakan ini, Anda akan mendapat manfaat jika ada.

Kesimpulan

Ini semua pasti masalah ayam dan jenis telur. Jika orang tidak menggunakan rentang karakter khusus maka tidak ada kelonggaran khusus untuk rentang tersebut akan dibuat. Jadi font tidak akan mendukung roman literal gaya khusus, karena hal itu hanya akan membuang-buang upaya pada fitur tidak ada yang menggunakan. Hal yang sama berlaku untuk pencarian: jika tidak ada yang menggunakan huruf latin maka tidak ada mesin pencari yang menemukan huruf latin dan semantiknya hilang. Semantik menderita karena tidak mengadopsi makna semantik yang benar. Hal yang sama ini tentu berlaku juga untuk karakter Unicode yang lebih luas.

Mengenai kompleksitas input, ya sebagian besar pengguna tidak dapat menulis karakter yang diperluas tetapi itu bukan alasan untuk orang yang berpengetahuan luas untuk melakukannya jika itu masuk akal. Jika tidak ada yang membuat segalanya lebih baik, tidak ada kemajuan yang akan dicapai. Hell even word memiliki mode untuk menulis alpha dengan mengetik / alpha. Jadi benar-benar tidak ada alasan mengapa tidak ada cara mudah untuk menandai angka atau bahkan secara otomatis menyarankan mereka demikian. Sekali lagi jika tidak ada yang melakukan ini maka tidak akan pernah mendapatkan adopsi lebih luas.

joojaa
sumber
Sebenarnya mesin pencari mengembalikan hasil yang jauh lebih baik ketika mencari "Louis VII" daripada "Louis Ⅶ", mungkin karena pada kenyataannya sebagian besar konten dihasilkan dengan alat yang tidak memungkinkan perbedaan semantik yang begitu baik.
xpereta
1
@ xpereta ya karena orang tidak peduli dengan semantik. Namun jika mereka melakukannya maka Anda akan dengan mudah mencocokkan 7 untuk angka juga. Banyak inefisiensi di dunia adalah karena orang tidak menganggap penting untuk menunjukkan perbedaan semantik dari hal-hal secara eksplisit ketika mereka dapat dengan mudah melakukannya. Komputer benar-benar tidak tahu bedanya bahkan jika manusia mau
joojaa
1
@ joojaa Dalam hal ini, mungkin lebih berkaitan dengan fakta bahwa VII adalah urutan besarnya lebih mudah diketik daripada Ⅶ. Saya tidak yakin apakah itu akan berubah.
Ixrec
Saya akan sedikit memperluas pada paragraf terakhir untuk menyelesaikan kesimpulan Anda bahwa penggunaan karakter khusus yang lebih luas seperti ini akan mendorong implementasi font yang lebih luas.
Nathan Tuggy
2
Saya sangat mempertanyakan jawaban ini mengenai semantik. Karakter angka Roman Unicode <compat>setara dengan urutan yang sesuai dari huruf Latin, yang sangat menyarankan bahwa satu-satunya alasan mereka berada di Unicode sama sekali adalah untuk kompatibilitas pulang-pergi dengan beberapa set karakter legacy (mungkin CJK) yang memilikinya. Karakter-karakter semacam itu umumnya tidak boleh digunakan kecuali untuk dokumen-dokumen yang dibuat-buat dengan setia yang dibuat dalam penyandian sebelumnya.
R ..