Tipografik stilleri simüle etmek için neden Unicode karakterleri kullanmamalıyım (küçük büyük harf veya komut dosyası gibi)?


129

Unicode, temel Latin alfabesinin karakterlerinin tipografik olarak stilize edilmiş varyantlarına benzeyen ve işaretleme veya benzerlerine başvurmadan birisinin karşılık gelen tipografik stillere metin yazmasına izin veren çeşitli karakterler içerir. Örneğin, biri simülasyonu yapabilir:

  • Küçük şapkalar:

    ʙᴇʜᴏʟᴅ ᴛʜɪꜱ ꜰᴀɴᴄɪʟy ᴇɴᴄᴏᴅᴇᴅ ᴛᴇxᴛ.

  • Senaryo:

    𝓑𝓮𝓱𝓸𝓵𝓭 𝓽𝓱𝓲𝓼 𝓯𝓪𝓷𝓬𝓲𝓵𝔂 𝓮𝓷𝓬𝓸𝓭𝓮𝓭 𝓽𝓮𝔁𝓽.

  • Siyah mektup:

    𝕭𝖊𝖍𝖔𝖑𝖉 𝖙𝖍𝖎𝖘 𝖋𝖆𝖓𝖈𝖎𝖑𝖞 𝖊𝖓𝖈𝖔𝖉𝖊𝖉 𝖙𝖊𝖝𝖙.

Bu, Stack Exchange'in (örneğin, burada , burada ve burada ) ilgisini çekti ve bu tür tekniklerin eleştirisi yapıldı. Ama onları kullandığımda ne yanlış gidebilir?


224
Bunu telefonumdan okuyorum ve son iki süslü metni göremiyorum.
Scimonster

22
Bazı cihazlarda okunamadığından: i.stack.imgur.com/kM73J.png
Chris Kent

15
Bazılarımız web sayfalarını okunaklı fontlar (ve boyutlar, renkler ve c) olarak gördüklerimizde görmek istediğinden, yazar stillerini geçersiz kılmak için örneğin kullanıcı CSS stil sayfalarını kullanıyoruz. Üç örneğinizin cihazımda görünmesine rağmen, görünüşe göre görünmelerini istediğiniz gibi, bana sadece sınırda okunabilir olduklarını not edebilirsiniz. Sanatsal isteklerinizi neden okuyucularınızın okuma kolaylığının üzerine yerleştirdiniz?
jamesqf

38
İşte ilginç bir gözlem: Edge son iki örnekte metin bulamıyor ve Chrome birincide metni bulamıyor. (Her iki tarayıcıda da BEHOLD için Ctrl + F'ing'i deneyin.) Firefox'u kontrol etmedim.
Şizmin

22
@Schism Firefox hiçbirini bulamaz. Görünen o ki, Chrome muhtemelen aramadan önce NFKC / NFKD normalizasyonunu kullanıyor, bu da betiği ve kara kitap metnini Temel Latince'ye çeviriyor. Firefox öyle görünmüyor. Edge ... garip bir şey yapıyor.
Bob,

Yanıtlar:


224

Genel

Bu karakterler normal Latin alfabesi metnine değil, fonetik, Kiril alfabesi metnine, matematiksel semboller (değişkenleri temsil eden) olarak kullanılması veya benzerlerine yöneliktir. Temel Latin alfabesindeki metni kodlamanın tek Unicode uyumlu tek yolu, bu amaç için ağırlıklı olarak kullanılan karakterleri kullanmaktır (yani, Temel Latince Unicode bloğundan).

Diğer birçok standartta olduğu gibi, Unicode'u ihlal etmeyi iki kez düşünmelisiniz. Dahası, Unicode çok fazla yazı sistemi, kullanım senaryosu ve sadece tüm motivasyonlarını tam olarak anlayabilmesi kendi başına bir bilimi olan diğer standartlar 1 ile geriye dönük uyumluluk için var olan şeyleri içermektedir . Uzun lafın kısası, ne yaptığınızı gerçekten bilmiyorsanız, uzaktan bile düşünmediğiniz bir şeyin kırılması son derece muhtemeldir.

Belirli örnekler

Ulaşılabilirlik

Kodlanmış metin yalnızca bazı fontlarda işlenecek şekilde mevcut değildir. Aynı zamanda örneğin ekran okuyucuları tarafından da yorumlanabilir. Ve bir ekran okuyucusunun tahmin edip etmeyeceğini tahmin etmemelisiniz

𝓽𝓱𝓮

Bu, 𝓽, 𝓱 ve 𝓮 değişkenlerinin kesin makalesi veya matematiksel ürünü 2 anlamına gelir - bu karakterlerin ne için yapıldığı. Bu nedenle en iyi davranış bu karakterleri heceleyecektir, örneğin kelimenin tam anlamıyla aşağıdakileri söyleyecektir:

kalın betiği küçük t, kalın betiği küçük h, kalın betiği küçük e

Bunun yerine sadece “” ”dememeliydi, çünkü sembolleri belirgin bir kelime oluşturmak için olan matematiksel metinleri düzgün bir şekilde okumazdı. 3

taşınabilirlik

Metniniz makinenizde güzel bir şekilde oluşturulmuşsa, bu aynı zamanda okuyucunun da üzerinde olacağı anlamına gelmez. En belirgin örnek, okuyucunun bu karakterleri destekleyen herhangi bir fontu bulunmadığı veya metnin, geri dönüş fontlarını desteklemeyen bir yazılım tarafından oluşturulmuş olmasıdır. Kuşkusuz, bu giderek daha az yaygın hale geliyor. Disleksi gibi bazı kişilerin bu karakterleri destekleme olasılığı daha düşük olan özel fontlara ihtiyaç duyduğunu unutmayın.

Ancak, okuyucunun makinesi yalnızca farklı bir yazı tipi kullanıyor olsa bile, bu metni daha az okunabilir hale getirebilir. Bir İçin İlk örnekte , bu 𝓉𝒽ℯ iki farklı yazı tipleri ile oluşturulur:

FreeSerif ve STIX ile oluşturulmuş

Free Serif, metni simüle etmek için özel karakterler kullanırken, yani el yazısını sürekli vuruşla simüle etmek gibi görünmesini istediğiniz gibi olmasını sağlar. Ancak, bu karakterler matematiksel semboller olarak kullanılmak üzere bağlanır, bağlantı anlamsızdır. Bu nedenle , özellikle matematiksel amaçlar için tasarlanmış olan STIX'in yaratması , bu karakterlerin nasıl kullanılması amaçlandığına paraleldir.

Bir de ikinci örnekte , size veya herhangi bir nedenle okuyucuya italicise “сᴜт kimlerdir? Вᴀʀ” varsayalım. İyi bir yazı tipi ile 4 alırsınız :

Dik ve italik olarak işlenmiştir.  italik oklar "barımı boşaltır

Bunun nedeni, küçük başlıkların (kısmen) Kiril harfleriyle simüle edilmiş olmaları ve Kiril italiklerinin bazen dik meslektaşlarından çok farklı görünmeleridir . Yani yine, bu uygun davranış.

Aranabilirlik

Bir itibariyle Birinci örnekte, makul bir arama karakteri 𝒲 (matematiksel komut ile yapmak isterdi düşünün W ). Aramanın iki moda sahip olduğunu varsayın, varsayılan mod ve tam mod (genellikle büyük / küçük harf duyarlı olarak adlandırılır ). Bu karakter şöyle olmalı:

  • w veya W'yi varsayılan modda ararken bulmak - özel karakteri arama alanına girmek veya kopyalamakla uğraşmak isteyenler için;

  • exact kesin modda arama yaparken - karşılık gelen değişkenin matematiksel bir belgede belirtildiği yerde arama yapmak isteyenler için ³;

  • to, w veya W aranırken yukarıdakine benzer bir arama yapılmasından dolayı kesin modda bulunamadı .

Ancak, normal metni simüle etmek için bu karakteri kullanırsanız , yukarıdakiyle çelişen tam modda W veya searching ararken bulunmalıdır.

Bir itibariyle ikinci örnekte Latin karakterleri ve tersi ararken Kiril karakterleri tamamen farklı şeyler olarak bulunabilir asla gerektiğini düşünüyoruz. Ancak, Latin küçük harfleri simüle etmek için Kiril karakterleri kullanıyorsanız, aranabilirliğin kırılmasını istemiyorsanız, bunun olması gerekir. Bu, bazı popüler Kiril alfabesi kelimesinin sahte küçük harflerine karşılık gelen nadir bir Latin alfabesi kelimesi ararsa, insanların yararsız şeyler bulmasına yol açar.

Kesin bir arama seçeneği bu sorunu çözemez, çünkü bu alfabelerde başka amaçlar için ayrılmıştır.

Genel olarak , stilize Latince metinleri simüle etmek için özel karakterler kullanarak kırılmayan (çok fazla seçenek olmayan) bir arama yapmak mümkün değildir.


1 XKCD'nin standartların birleştirilmesinin kaçınılmaz başarısızlığı ile ilgili olduğunu  biliyor musunuz ? Eh, Unicode başardı.
2  ya da boş operatör ne olursa olsun ilgili sözleşmede
3  Günümüzde çok az matematiksel metnin bu kodlamayı ya da onunla uyumlu bir şeyi desteklediğinin farkındayım, ama mesele şu ki umarım ki bir gün yaparlar. Unicode kötüye kullanan metniniz hala etrafta olabilir ve daha sonra okunabilir.
4  Farklı ama yine de istenmeyen sonuçlar alacağınız Makedonca veya Sırpça yerelleşmiyorsanız.


Yorumlar uzun tartışmalar için değildir; bu konuşma sohbete taşındı .
Journeyman Geek

1
Peki ya üçüncü örnek? Blackletter metni neden Unicode'da, bazı yazı tiplerine karşı bile var?
posfan12

2
@ posfan12: Komut karakteri gibi, farklı bir matematiksel alfabe olarak kullanılır. (Buradaki örnek numaralandırmanın, sorudaki madde işaretleriyle bir ilgisi olmadığını unutmayın.)
Wrzlprmft.

3
İtalik zaman farklı bir cümle haline geçerli bir cümle bulun ... (her ikisi demek, insan latin tabanlı okuyucular tarafından yorumlanır): Sizin küçük EBM'ler örnek bir bulmaca / competitoin anlaşılacağı
Hagen von Eitzen

67

Ne yanlış gidebilir? Bunu görüyorum:

görüntü tanımını buraya girin

Firefox 50.1.0’da Windows 7’de.

Sorunu eksik gliflerle bir mobil cihazda bu durumda, kullanıcı tarafından verilen bir resimde resimli ileri olan Chris Kent içinde bir açıklama ben kırpılmış ve gelen yeniden boyutlandırdık, orijinal :

görüntü tanımını buraya girin

Ve kullanıcı becerisi kazandırır nazik katkıda başka bir örnek:

görüntü tanımını buraya girin



7
@Lilienthal Güncellemeleri kontrol etmeden veya yüklemeden kaç yıl geçirmeniz gerektiğinden etkilendim. Yani, bazı cihazlarda hala Firefox
3.5'ten

16
@Lilienthal 2020'de bir süre, Firefox ana sürüm numaraları 64-bit sayılar gerektirebilir. Bundan kısa bir süre sonra sürüm numarası gerçek programdan daha fazla yer kaplar. Pazar payını yeniden kazanmak için Chrome sürüm numaralarının, depolamak için tüm gezegenlere ihtiyacı olacaktır.
Andrew Morton,

2
İnsanların bu kadar eski tarayıcıları kullanarak kendinizi ne kadar bilinen ve aktif güvenlik açıklarına maruz kaldığına dair bir fikriniz var mı?
Zach Lipton

3
@Zach Lipton: Önceliklerim listesinin bu kadar aşağı olduğunun farkında mısın? # 1, gerçekten kullanabileceğim bir şeye sahip. Belki de Firefox halkı (ve diğerleri) yeni bir paradigmayı benimsemişlerdir: kullanılamazlıkla güvenlik.
jamesqf

29

Bununla XY problemi yaşıyorum.

Y ve X, metnin geri kalanından daha küçük görünüyor

Burada, Y ve X'in metnin geri kalanından daha küçük göründüğünü görüyoruz. Bazı yakınlaştırma düzeylerinde aynı boyutta oldukları görülüyor, ancak bu, bu belirli yazı tipinde bu belirli gliflerle ilgili bir sorun ortaya koyuyor gibi görünüyor.


Gördükleriniz için üç olası açıklama sunabilirim: 1) Kötü ipucu . 2) Geri dönüş fontu, x ve y dışındaki her şey için kullanılır . 3) Kötü font tasarımı: Küçük harfler küçük harflerden (geçerli bir seçimdir) küçük harflerden biraz daha büyük olacak şekilde tasarlandı ve sonra fonetik ve Kiril Unicode karakterleri için kullanıldı; Temel latin karakterleri ile uyum sağlamak zorunda. - Her iki şekilde: Puan 1) ve 3) Unicode istismarı nedeniyle değil. Nokta 2) diğer cevaplarda zaten ele alınmıştır.
Wrzlprmft

12
@Wrzlprmft: Tanımı gereği unicode kötüye kullanımıdır çünkü unicode küçük harflere sahip değildir. Unicode'un sahip olduğu Fonetik alfabe bloklarındaki ve Latin Extended-D bloğundaki küçük harflere benzeyen harflerdir. Spesifik olarak, ne iki Fonetik blok ne de Latin Extended-D bloğu, küçük X harflerine benzeyen harf içermez , bu nedenle benim tahminim, X'in başka bir yerden, muhtemelen Kiril bloğundan geldiğidir. Aradaki fark ne 1, 2 ne de 3'ten kaynaklanır. Başka bir alfabeye ait olan mektubun sebebidir.
slebetman,

@slebetman: küçük kapaklar x sıradan bir küçük harf olduğundan x (sadece soru karakteri kopyalayıp kendiniz inceleyebilir). Ve küçük harf x fonetik karakterlerle uyum sağlamalıdır, çünkü fonetik karakter olarak da kullanılır. Ayrıca, Kiril kelimelerinin Latince metinden farklı görünmesini istemediğinizden (ve tersi) Kiril harfleri ile aynı yüksekliğe sahip olması gerekir.
Wrzlprmft

19
"XY probleminde" lol için yükseltildi :)
Andrew Morton

13

Latince'ye benzeyen Latin-olmayan karakterlerin kullanılması, sizi spam'ların, porno satıcıların ve kim bilir, ne yazdıklarını bilmeyen, metninin aranamayan, okunamayan ve tekrar okunabilir olmasını isteyen dağıtıcıların şirketine yerleştirir. ("Asla güvenli olduğunu söylemedim! Sigma-alpha-integral-sign-epislon olduğunu söyledim !!! Beni dava edemezsin !!!")

Eğer o kulüpte rahatsanız, o zaman gidin.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.